:root {
  --rs-font-sans: 'Figtree', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

@font-face {
  font-family: 'Figtree';
  src: url('../../fonts/Figtree-VariableFont_wght.ttf') format('truetype');
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Figtree';
  src: url('../../fonts/Figtree-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}

:root {
  --paper: #f3effb;
  --paper-deep: #e8e0f2;
  --ink: #180b24;
  --muted: #73698a;
  --line: rgba(43, 22, 65, .18);
  --plum: #3b1654;
  --lavender: #c4b5fd;
  --acid: #c4b5fd;
  --pad: clamp(1.25rem, 3.1vw, 3.75rem);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

/* Rue operational theme --------------------------------------------------- */
:root {
  --rue-base: #07040f;
  --rue-raised: #0d091a;
  --rue-elevated: #130d24;
  --rue-subtle: #1a1230;
  --rue-purple: #8b5cf6;
  --rue-lavender: #c4b5fd;
  --rue-text: #f0eeff;
  --rue-secondary: #9b8ebd;
  --rue-muted: #6a5e8a;
  --rue-border: rgba(196,181,253,.16);
}

html, body { background: var(--rue-base); color: var(--rue-text); }
body::before { opacity: .035; mix-blend-mode: screen; }
::selection { color: var(--rue-base); background: var(--rue-lavender); }
:focus-visible { outline-color: var(--rue-lavender); }

.intro {
  padding: clamp(1rem, 4vw, 4rem);
  color: var(--rue-text);
  background: radial-gradient(circle at 50% 48%, rgba(139,92,246,.16), transparent 28%), var(--rue-base);
  transition-duration: 1.1s;
}
.intro::before { position: absolute; inset: 0; content: ''; opacity: .24; background-image: linear-gradient(rgba(196,181,253,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(196,181,253,.08) 1px, transparent 1px); background-size: 4rem 4rem; mask-image: radial-gradient(circle, black, transparent 75%); }
.intro-system { position: relative; width: min(68rem, 92vw); height: min(35rem, 66vh); }
.intro-system::before { position:absolute;inset:4% 2%;content:'';border:1px solid rgba(196,181,253,.14);border-radius:1.2rem;background:radial-gradient(circle at 50% 55%,rgba(139,92,246,.16),transparent 48%);box-shadow:inset 0 1px rgba(255,255,255,.04); }
.intro-system__grid { position: absolute; inset: 4% 2%; border-radius: 1.2rem; opacity:.7; background-image: linear-gradient(rgba(196,181,253,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(196,181,253,.08) 1px, transparent 1px); background-size: 4rem 4rem; mask-image: radial-gradient(circle at 50% 50%, black, transparent 78%); animation: intro-grid 2.3s var(--ease) both; }
.intro-system__grid::before,.intro-system__grid::after { position:absolute;border:1px solid rgba(196,181,253,.1);border-radius:50%;content:'' }.intro-system__grid::before{inset:13% 25%}.intro-system__grid::after{inset:28% 36%}
.intro-core { position: absolute; z-index: 3; top: 50%; left: 50%; width: clamp(9rem, 18vw, 13rem); aspect-ratio: 1; display: grid; place-items: center; transform: translate(-50%,-50%) scale(.72); border: 1px solid rgba(196,181,253,.38); border-radius: 50%; background: radial-gradient(circle, rgba(139,92,246,.2), rgba(13,9,26,.92) 65%); box-shadow: 0 0 5rem rgba(139,92,246,.18), inset 0 0 2.5rem rgba(196,181,253,.08); animation: intro-core 1.4s .18s var(--ease) forwards; }
.intro__logo { width: 72%; height: auto; filter: brightness(0) invert(1); animation: none; }
.intro-routes { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.intro-routes path { fill: none; stroke: rgba(196,181,253,.5); stroke-width: 1; stroke-dasharray: 7 9; vector-effect: non-scaling-stroke; animation: intro-route 1.8s .2s var(--ease) both, intro-dash 10s 2s linear infinite; }
.intro-module { position: absolute; z-index: 2; min-width: 9rem; padding: .7rem .8rem; opacity: 0; transform: translateY(1rem); border: 1px solid var(--rue-border); border-radius: .45rem; background: rgba(13,9,26,.9); color: var(--rue-secondary); font: 500 .58rem/1 var(--rs-font-mono,monospace); letter-spacing: .04em; box-shadow:.35rem .35rem 0 rgba(139,92,246,.1),inset 0 1px rgba(255,255,255,.05); animation: intro-module .7s var(--ease) forwards; }
.intro-module i { display: inline-block; width: .35rem; height: .35rem; margin-right: .5rem; border-radius: 50%; background: var(--rue-purple); box-shadow: 0 0 .8rem var(--rue-purple); }
.intro-module--one{top:13%;left:1%;animation-delay:.2s}.intro-module--two{top:14%;right:0;animation-delay:.38s}.intro-module--three{bottom:12%;left:0;animation-delay:.56s}.intro-module--four{right:0;bottom:14%;animation-delay:.74s}.intro-module--five{bottom:-1%;left:50%;transform:translate(-50%,1rem);animation-delay:.92s}
.intro-packet { position: absolute; z-index: 4; top: 50%; left: 50%; width: .5rem; height: .5rem; border-radius: 50%; background: var(--rue-lavender); box-shadow: 0 0 1.2rem var(--rue-purple); animation: intro-packet 1.8s .45s var(--ease) both; }
.intro__status { width: min(68rem,92vw); display: flex; justify-content: space-between; padding-top: .8rem; border-top: 1px solid var(--rue-border); color: var(--rue-muted); font: 500 .58rem/1 var(--rs-font-mono,monospace); }
.intro__status b { color: var(--rue-lavender); font-weight: 500; }
@keyframes intro-grid { from{opacity:0;transform:scale(.65) rotate(-8deg)} to{opacity:1;transform:scale(1) rotate(0)} }
@keyframes intro-core { to{transform:translate(-50%,-50%) scale(1)} }
@keyframes intro-route { from{stroke-dashoffset:200;opacity:0} to{stroke-dashoffset:0;opacity:1} }
@keyframes intro-dash { to{stroke-dashoffset:-120} }
@keyframes intro-module { to{opacity:1;transform:translateY(0)} }
@keyframes intro-packet { 0%{transform:translate(-30rem,-10rem);opacity:0} 40%{opacity:1} 100%{transform:translate(-.25rem,-.25rem);opacity:1} }

.topbar { color: var(--rue-text); border-color: var(--rue-border); border-radius: .8rem; background: rgba(7,4,15,.78); box-shadow: 0 1.25rem 4rem rgba(3,1,9,.28), inset 0 1px rgba(255,255,255,.045); }
.brand img { filter: brightness(0) invert(1); }
.topbar__nav { color: var(--rue-secondary); }
.topbar__nav a:hover { color: var(--rue-text); }
.topbar__call { color: var(--rue-base); border: 1px solid var(--rue-lavender); border-radius: .45rem; background: var(--rue-lavender); }
.topbar__call:hover { color: var(--rue-text); background: var(--rue-purple); }
.menu-panel { background: radial-gradient(circle at 80% 12%, rgba(139,92,246,.22), transparent 25%), var(--rue-base); }

.hero { min-height: 100dvh; color: var(--rue-text); background: radial-gradient(circle at 79% 20%, rgba(139,92,246,.17), transparent 27%), radial-gradient(circle at 5% 80%, rgba(196,181,253,.055), transparent 23%), var(--rue-base); }
.hero::before { position: absolute; inset: 0; content: ''; opacity: .22; background-image: linear-gradient(rgba(196,181,253,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(196,181,253,.06) 1px, transparent 1px); background-size: 5rem 5rem; mask-image: linear-gradient(to bottom, black, transparent 80%); }
.hero__eyebrow { position: relative; z-index: 2; color: var(--rue-secondary); border-color: var(--rue-border); }
.hero__title { color: var(--rue-text); }
.word-row em { color: var(--rue-lavender); }
.hero__lower { position: relative; z-index: 3; }
.hero__lower p { color: var(--rue-secondary); }
.hero__availability { color: var(--rue-muted); }
.action-link { border-radius: .45rem; }
.action-link--solid { color: var(--rue-base); border-color: var(--rue-lavender); background: var(--rue-lavender); }
.action-link--solid:hover { color: white; border-color: var(--rue-purple); background: var(--rue-purple); }

.hero-object { opacity: 1; }
.hero-object__halo { inset: 0; background: radial-gradient(circle, rgba(139,92,246,.2), rgba(139,92,246,.04) 40%, transparent 70%); }
.system-core { position: relative; width: 9rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(196,181,253,.45); border-radius: 50%; background: rgba(13,9,26,.78); box-shadow: 0 0 5rem rgba(139,92,246,.23), inset 0 0 2rem rgba(139,92,246,.12); animation: core-float 5s var(--ease) infinite alternate; }
.system-core strong { font-size: 1.2rem; letter-spacing: -.06em; }
.system-core small { position: absolute; bottom: 1.55rem; color: var(--rue-secondary); font: 500 .43rem/1 var(--rs-font-mono,monospace); letter-spacing: .08em; }
.system-core__ring { position: absolute; border: 1px solid rgba(196,181,253,.28); border-radius: 50%; }
.system-core__ring--outer { inset: -4rem; border-style: dashed; animation: core-spin 18s linear infinite; }
.system-core__ring--inner { inset: -1.5rem; animation: core-spin 9s linear infinite reverse; }
.system-core__axis { position:absolute;left:50%;top:50%;width:22rem;height:1px;background:linear-gradient(90deg,transparent,rgba(196,181,253,.38),transparent) }
.system-core__axis--x{transform:translate(-50%,-50%)}.system-core__axis--y{transform:translate(-50%,-50%) rotate(90deg)}
.object-label { border-color: var(--rue-border); border-radius: .4rem; color: var(--rue-secondary); background: rgba(13,9,26,.78); box-shadow: inset 0 1px rgba(255,255,255,.05); }
.object-label i { display:inline-block;width:.3rem;height:.3rem;margin-right:.4rem;border-radius:50%;background:var(--rue-purple);box-shadow:0 0 .6rem var(--rue-purple) }
.object-label--d { right: 8%; bottom: 16%; animation-delay: -2.2s; }
@keyframes core-spin { to{transform:rotate(360deg)} }
@keyframes core-float { to{transform:translateY(-.8rem) rotateX(5deg)} }

.system-field { border-color: var(--rue-border); border-radius: 1rem; background: var(--rue-raised); box-shadow: inset 0 1px rgba(255,255,255,.04), 0 2rem 6rem rgba(3,1,9,.34); }
.system-field__grid { opacity: .6; background-image: linear-gradient(rgba(196,181,253,.07) 1px, transparent 1px),linear-gradient(90deg,rgba(196,181,253,.07) 1px,transparent 1px); }
.system-field::after { background: radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(139,92,246,.15),transparent 24%); }
.system-field__lines path { stroke: rgba(196,181,253,.48); }
.node { border-color: var(--rue-border); border-radius: .45rem; color: var(--rue-text); background: rgba(19,13,36,.94); box-shadow: .35rem .35rem 0 rgba(139,92,246,.08),inset 0 1px rgba(255,255,255,.05); }
.node small,.node span { color: var(--rue-muted); }
.node--result { border-color: var(--rue-purple); background: var(--rue-purple); }
.pulse { background: var(--rue-lavender); box-shadow: 0 0 0 .4rem rgba(139,92,246,.18),0 0 1.5rem var(--rue-purple); }
.ecosystem { border-block: 1px solid var(--rue-border); background: var(--rue-raised); }

.services,.outcomes,.about-preview,.process,.inquiry-guide { background-color: var(--rue-base); background-image: radial-gradient(circle at 88% 9%,rgba(139,92,246,.12),transparent 24%); }
.services { border-top: 1px solid var(--rue-border); }
.service-list,.service-row,.process-track,.process-step { border-color: var(--rue-border); }
.service-row__body p,.services__intro p,.services__foot,.process-step p { color: var(--rue-secondary); }
.service-row__body ul { color: #c8c1dc; }
.service-row:hover { background: var(--rue-elevated); }

.transformation,.work,.client-voice,.contact { color: var(--rue-text); border-top: 1px solid var(--rue-border); background: radial-gradient(circle at 84% 40%,rgba(139,92,246,.11),transparent 28%),var(--rue-raised); }
.transformation__copy h2 em,.contact__title em { color: var(--rue-lavender); }
.transformation__copy > p,.case__info p,.case__info dt,.client-voice__meta,.contact__top { color: var(--rue-secondary); }
.transform-toggle { border-color: var(--rue-border); background: var(--rue-elevated); }
.transform-toggle button[aria-pressed="true"] { color: var(--rue-base); background: var(--rue-lavender); }
.transform-shell { border-color: var(--rue-border); background: var(--rue-subtle); box-shadow: 0 2.5rem 6rem rgba(3,1,9,.35); }
.case__info { border-color: var(--rue-border); }
.case__number,.case__open { color: var(--rue-base); background: var(--rue-lavender); }
.client-voice__meta { border-color: var(--rue-border); }
.client-voice__meta a { color: var(--rue-lavender); }
.voice-orbit,.voice-orbit::before,.voice-orbit::after { border-color: var(--rue-border); }
.voice-orbit span { color: var(--rue-lavender); }
.voice-orbit i { background: var(--rue-purple); }
.contact__top,.footer { border-color: var(--rue-border); }
.footer-brand img { filter: brightness(0) invert(1); }

@media (max-width: 760px) {
  .intro { padding:1rem; }
  .intro-system { width:min(25rem,94vw);height:min(34rem,72svh); }
  .intro-system::before,.intro-system__grid { inset:0;border-radius:1rem; }
  .intro-system__grid { background-size:2.6rem 2.6rem; }
  .intro-core { width:8rem; }
  .intro-module { min-width:6.7rem;padding:.6rem .65rem;font-size:.46rem;line-height:1.15; }
  .intro-module--one{top:9%;left:4%}.intro-module--two{top:18%;right:3%}.intro-module--three{bottom:24%;left:3%}.intro-module--four{right:4%;bottom:14%}.intro-module--five{bottom:5%;left:50%;transform:translate(-50%,1rem)}
  .intro-routes { opacity:.82; }
  .intro__status { width:min(25rem,94vw);gap:.75rem;flex-direction:column;align-items:center;text-align:center; }
  .hero-object { opacity: .48; }
  .system-core { width: 7rem; }
  .system-core__axis { width: 16rem; }
}

@media (prefers-reduced-motion: reduce) {
  .intro-system *, .system-core, .system-core__ring { animation: none !important; }
}

/* Rue Operations Core — the signature scroll chapter between promise and proof. */
.operations-preview { display:none; }

.orb-journey {
  position:relative;
  height:900svh;
  min-height:900svh;
  color:var(--theme-text);
  background:
    radial-gradient(circle at 50% 48%,var(--theme-glow),transparent 34%),
    var(--theme-bg);
  isolation:isolate;
}
.orb-journey::before {
  position:absolute;
  inset:0;
  z-index:-1;
  content:'';
  opacity:.32;
  background-image:
    linear-gradient(var(--theme-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px);
  background-size:5rem 5rem;
  mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
}
.orb-journey__sticky {
  position:sticky;
  top:0;
  height:100svh;
  min-height:40rem;
  overflow:visible;
  contain:layout style;
}
.orb-journey__visual {
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  min-width:100vw;
  overflow:visible;
  pointer-events:auto;
  opacity:var(--orb-stage-opacity,1);
  transform:translate3d(-50%,var(--orb-release-y,0vh),0) scale(var(--orb-stage-scale,1));
  transform-origin:50% 50%;
  transition:opacity .12s linear,transform .12s linear;
}
.orb-journey__content {
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.orb-journey__sticky::after {
  position:absolute;
  inset:-16vmax;
  z-index:1;
  content:'';
  pointer-events:none;
  background:radial-gradient(circle at 50% 49%,transparent 25%,color-mix(in srgb,var(--theme-bg) 24%,transparent) 58%,var(--theme-bg) 86%);
}
.orb-journey__topline {
  position:absolute;
  z-index:4;
  top:clamp(6.5rem,10vh,8.5rem);
  left:var(--pad);
  right:var(--pad);
  display:flex;
  justify-content:space-between;
  padding-top:.85rem;
  border-top:1px solid var(--theme-border);
  color:var(--theme-text-muted);
  font:600 .6rem/1 var(--rs-font-mono,monospace);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.orb-journey__stage,
#operations-core-root {
  position:absolute;
  z-index:0;
  top:50%;
  left:50%;
  width:100vw;
  height:max(130svh,44rem);
  min-width:100vw;
  min-height:44rem;
  overflow:visible;
  pointer-events:auto;
  transform:translate3d(-50%,-50%,0);
  transition:none;
}
#operations-core-root canvas { display:block;width:100%!important;height:100%!important; }
.orb-journey__chapters { position:absolute;inset:0;z-index:3;opacity:var(--orb-copy-opacity,1);pointer-events:none;transition:opacity .12s linear; }
.orb-chapter {
  position:absolute;
  left:var(--pad);
  bottom:clamp(3.5rem,8vh,7rem);
  width:min(34rem,40vw);
  opacity:0;
  transform:translate3d(0,1.25rem,0);
  transition:opacity .42s var(--ease),transform .7s var(--ease);
}
.orb-chapter:nth-child(even) { right:var(--pad);left:auto;text-align:right; }
.orb-chapter.is-active { opacity:1;transform:translate3d(0,0,0); }
.orb-chapter > span {
  display:block;
  margin-bottom:.85rem;
  color:var(--rue-purple);
  font:650 .62rem/1 var(--rs-font-mono,monospace);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.orb-chapter h2 {
  max-width:13em;
  margin:0;
  font:550 clamp(1.7rem,3.1vw,3.5rem)/.98 var(--rs-font-sans,'Figtree',sans-serif);
  letter-spacing:-.055em;
  text-wrap:balance;
}
.orb-chapter:nth-child(even) h2 { margin-left:auto; }
.orb-chapter p {
  max-width:30rem;
  margin:1rem 0 0;
  color:var(--theme-text-muted);
  font:450 clamp(.85rem,1.05vw,1rem)/1.55 var(--rs-font-sans,'Figtree',sans-serif);
}
.orb-chapter:nth-child(even) p { margin-left:auto; }
.orb-journey__progress {
  position:absolute;
  z-index:4;
  right:var(--pad);
  top:50%;
  width:1px;
  height:20vh;
  overflow:hidden;
  background:var(--theme-border);
  transform:translateY(-50%);
}
.orb-journey__progress i {
  display:block;
  width:100%;
  height:100%;
  background:var(--rue-purple);
  transform:scaleY(var(--orb-progress,0));
  transform-origin:top;
}
.orb-journey__counter {
  position:absolute;
  z-index:4;
  right:calc(var(--pad) + 1.1rem);
  top:calc(50% + 12vh);
  display:flex;
  gap:.25rem;
  color:var(--theme-text-muted);
  font:600 .58rem/1 var(--rs-font-mono,monospace);
}
.orb-journey__counter b { color:var(--theme-text);font-weight:600; }

.diagnostic-orb { display:none; }
.diagnostic__layout { display:block; }
.diagnostic-list { width:100%; }
.diagnostic-item { max-width:none; }

@media (max-width: 760px) {
  .orb-journey { height:650svh;min-height:650svh; }
  .orb-journey__sticky { min-height:36rem; }
  .orb-journey__visual { width:100vw;min-width:100vw; }
  .orb-journey__topline { top:5.8rem;left:1.25rem;right:1.25rem; }
  .orb-journey__topline span:last-child { display:none; }
  .orb-journey__stage,
  #operations-core-root {
    top:45%;
    width:100vw;
    height:max(118svh,34rem);
    min-width:0;
    min-height:0;
    pointer-events:none;
    transform:translate3d(-50%,-50%,0);
  }
  .orb-chapter,
  .orb-chapter:nth-child(even) {
    right:1.25rem;
    bottom:2.25rem;
    left:1.25rem;
    width:auto;
    padding:1.1rem 1.15rem 1.2rem;
    border:1px solid var(--theme-border);
    border-radius:.85rem;
    background:color-mix(in srgb,var(--theme-bg) 88%,transparent);
    backdrop-filter:blur(18px);
    text-align:left;
  }
  .orb-chapter h2 { max-width:16em;font-size:clamp(1.55rem,7vw,2.25rem); }
  .orb-chapter:nth-child(even) h2,
  .orb-chapter:nth-child(even) p { margin-left:0; }
  .orb-chapter p { margin-top:.7rem;font-size:.82rem; }
  .orb-journey__progress { right:1.25rem;top:22%;height:14vh; }
  .orb-journey__counter { right:2.2rem;top:calc(22% + 8.5vh); }
}

@media (prefers-reduced-motion: reduce) {
  .orb-journey { height:auto;min-height:0;padding:7rem 1.25rem 3rem; }
  .orb-journey__sticky { position:relative;height:auto;min-height:0;overflow:visible; }
  .orb-journey__visual { position:relative;left:50%;width:100vw;height:min(40rem,120vw);transform:translateX(-50%); }
  .orb-journey__stage,
  #operations-core-root { position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate3d(-50%,-50%,0); }
  .orb-journey__content { position:relative;inset:auto; }
  .orb-journey__chapters { position:relative;display:grid;gap:1rem; }
  .orb-chapter,
  .orb-chapter:nth-child(even) { position:relative;inset:auto;width:auto;opacity:1;transform:none;text-align:left; }
  .orb-chapter:nth-child(even) h2,
  .orb-chapter:nth-child(even) p { margin-left:0; }
  .orb-journey__topline,.orb-journey__progress,.orb-journey__counter { display:none; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--rs-font-sans, 'Figtree', sans-serif); }
body::before { position: fixed; z-index: 300; inset: 0; pointer-events: none; content: ''; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
::selection { color: var(--paper); background: var(--plum); }

.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .75rem 1rem; transform: translateY(-150%); background: var(--ink); color: white; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--plum); outline-offset: 4px; }
.scroll-progress { position: fixed; z-index: 310; inset: 0 0 auto; height: 2px; pointer-events: none; }
.scroll-progress i { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: var(--lavender); animation: scroll-progress auto linear; animation-timeline: scroll(root); }
@keyframes scroll-progress { to { transform: scaleX(1); } }

.intro { position: fixed; z-index: 900; inset: 0; display: grid; place-items: center; align-content: center; gap: 1rem; color: var(--paper); background: radial-gradient(circle at 50% 44%, #7c3aed 0%, #3b1654 32%, #1e0c2d 74%); transition: transform .75s var(--ease); }
.intro.is-gone { transform: translateY(-100%); }
.intro__logo { width: min(22rem, 58vw); height: 5rem; object-fit: contain; animation: logo-breathe 1.1s var(--ease) both; }
@keyframes logo-breathe { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: scale(1); } }
.intro__line { width: min(20rem, 60vw); height: 1px; overflow: hidden; background: rgba(255,255,255,.18); }
.intro__line i { display: block; width: 100%; height: 100%; transform: translateX(-100%); background: var(--acid); animation: load 1.15s var(--ease) forwards; }
.intro__status { color: #8e8982; font: 500 .68rem/1 var(--rs-font-mono, monospace); letter-spacing: .12em; text-transform: uppercase; }
@keyframes load { to { transform: translateX(0); } }

.topbar { position: fixed; z-index: 100; inset: .9rem var(--pad) auto; height: 4.4rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: center; padding: 0 1.4rem; border: 1px solid rgba(59,22,84,.12); border-radius: 999px; background: rgba(243,239,251,.84); box-shadow: 0 .8rem 3rem rgba(59,22,84,.08), inset 0 1px rgba(255,255,255,.8); backdrop-filter: blur(20px); }
.brand { display: flex; align-items: center; width: max-content; }
.brand img { width: clamp(7.5rem, 10vw, 10rem); height: 2.25rem; object-fit: contain; object-position: left center; }
.topbar__nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.7vw, 2.8rem); font-size: .72rem; }
.topbar__nav a { position: relative; padding: .4rem 0; }
.topbar__nav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; content: ''; transform: scaleX(0); transform-origin: right; background: currentColor; transition: transform .3s var(--ease); }
.topbar__nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.topbar__call { justify-self: end; padding: .7rem 1rem .7rem 1.15rem; color: var(--paper); border-radius: 999px; background: var(--ink); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; transition: color .25s, background .25s, transform .6s var(--ease); }
.topbar__call:hover { color: var(--ink); background: var(--acid); }
.live { display: flex; align-items: center; gap: .5rem; }
.live i { width: .45rem; height: .45rem; border-radius: 50%; background: #5b7c50; box-shadow: 0 0 0 .3rem rgba(91,124,80,.1); }
.menu-button { justify-self: end; display: none; align-items: center; gap: .75rem; padding: .5rem 0; border: 0; background: none; cursor: pointer; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.menu-button i, .menu-button i::after { display: block; width: 1.7rem; height: 1px; background: currentColor; content: ''; transition: transform .3s var(--ease); }
.menu-button i::after { transform: translateY(.4rem); }
.menu-button[aria-expanded="true"] i { transform: rotate(45deg); }
.menu-button[aria-expanded="true"] i::after { transform: rotate(90deg); }

.menu-panel { position: fixed; z-index: 90; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 9rem var(--pad) 3rem; visibility: hidden; transform: translateY(-105%); background: radial-gradient(circle at 80% 12%, #5b2478, transparent 26%), #1e0c2d; color: var(--paper); transition: transform .7s var(--ease), visibility 0s .7s; }
.menu-panel.is-open { visibility: visible; transform: translateY(0); transition-delay: 0s; }
.menu-panel nav { display: grid; }
.menu-panel nav a { display: grid; grid-template-columns: 4rem 1fr; align-items: baseline; padding: .25rem 0; border-bottom: 1px solid #34312e; font-size: clamp(2.4rem, 6vw, 6rem); letter-spacing: -.06em; transition: color .2s, padding-left .4s var(--ease); }
.menu-panel nav a:hover { padding-left: 1.5rem; color: var(--acid); }
.menu-panel nav span { font: 500 .65rem/1 var(--rs-font-mono, monospace); letter-spacing: .05em; }
.menu-panel__foot { display: flex; justify-content: space-between; color: #96908a; font-size: .75rem; }

.hero { position: relative; min-height: 100dvh; padding: 8.5rem var(--pad) 3rem; display: flex; flex-direction: column; overflow: hidden; background: radial-gradient(circle at 78% 18%, rgba(196,181,253,.42), transparent 24%), radial-gradient(circle at 16% 66%, rgba(139,92,246,.1), transparent 29%), var(--paper); }
.hero__eyebrow { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding-bottom: 1rem; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .72rem; }
.hero__title { position: relative; z-index: 2; margin: clamp(2rem, 5vh, 4rem) 0 1rem; font-size: clamp(5.2rem, 15vw, 13.5rem); font-weight: 500; line-height: .73; letter-spacing: -.09em; }
.hero__title--consultancy { max-width: 100%; font-size: clamp(4.2rem, 9.6vw, 9.5rem); line-height: .84; letter-spacing: -.075em; }
.hero__title--consultancy .word-row:nth-child(2) { padding-left: 8vw; }
.hero__title--consultancy .word-row--shift { padding-right: 0; }
.word-row { display: flex; align-items: baseline; gap: .09em; }
.word-row em { font-family: var(--rs-font-sans, 'Figtree', sans-serif); font-weight: 300; font-style: italic; }
.word-row b { font-weight: 600; }
.word-row--build { justify-content:center; }
.word-row--shift { justify-content: flex-end; padding-right: 4vw; }
.word-row i { align-self: center; margin-left: .2em; color: var(--plum); font: 300 .35em/1 var(--rs-font-sans, sans-serif); }
.hero-object { position: absolute; z-index: 1; top: 12rem; right: 4vw; width: clamp(15rem, 27vw, 27rem); aspect-ratio: 1; display: grid; place-items: center; transform: translate3d(var(--object-x,0),var(--object-y,0),0); perspective: 900px; pointer-events: none; opacity: .7; transition: transform .5s var(--ease); }
.hero-object__halo { position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.78), rgba(196,181,253,.2) 34%, rgba(139,92,246,.12) 53%, transparent 70%); filter: blur(2px); animation: halo-breathe 5.5s var(--ease) infinite alternate; }
@keyframes halo-breathe { to { transform: scale(1.09); opacity: .72; } }
.cube-scene { position: relative; width: 6rem; height: 6rem; transform-style: preserve-3d; }
.cube { position: absolute; inset: 0; transform-style: preserve-3d; animation: cube-spin 16s cubic-bezier(.37,0,.63,1) infinite alternate; }
.cube span { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.55); background: linear-gradient(135deg, rgba(255,255,255,.62), rgba(139,92,246,.18)); box-shadow: inset 0 0 2rem rgba(255,255,255,.24); }
.cube__front{transform:translateZ(3rem)}.cube__back{transform:rotateY(180deg) translateZ(3rem)}.cube__right{transform:rotateY(90deg) translateZ(3rem)}.cube__left{transform:rotateY(-90deg) translateZ(3rem)}.cube__top{transform:rotateX(90deg) translateZ(3rem)}.cube__bottom{transform:rotateX(-90deg) translateZ(3rem)}
@keyframes cube-spin { 0% { transform: rotateX(-18deg) rotateY(24deg) rotateZ(-4deg); } 100% { transform: rotateX(28deg) rotateY(220deg) rotateZ(8deg); } }
.orbit { position: absolute; width: 72%; height: 32%; border: 1px solid rgba(59,22,84,.28); border-radius: 50%; transform-style: preserve-3d; }
.orbit--one { transform: rotateX(67deg) rotateZ(-14deg); animation: orbit-wobble 9s var(--ease) infinite alternate; }
.orbit--two { width: 86%; transform: rotateX(73deg) rotateZ(58deg); animation: orbit-wobble 12s var(--ease) infinite alternate-reverse; }
.orbit i { position: absolute; top: 50%; left: -0.35rem; width: .7rem; height: .7rem; border-radius: 50%; background: #8b5cf6; box-shadow: 0 0 1.2rem #8b5cf6; animation: orbit-node 7s cubic-bezier(.45,0,.55,1) infinite alternate; }
.orbit--two i { animation-delay: -3s; }
@keyframes orbit-wobble { to { transform: rotateX(74deg) rotateZ(32deg) scale(1.04); } }
@keyframes orbit-node { to { left: calc(100% - .35rem); transform: scale(.72); } }
.object-label { position: absolute; padding: .5rem .65rem; border: 1px solid rgba(59,22,84,.16); border-radius: 999px; color: var(--muted); background: rgba(243,239,251,.72); box-shadow: inset 0 1px rgba(255,255,255,.8); font: 500 .55rem/1 var(--rs-font-mono,monospace); animation: label-float 4.5s var(--ease) infinite alternate; }
.object-label--a { top: 16%; left: 2%; }.object-label--b { top: 25%; right: 0; animation-delay: -1.5s; }.object-label--c { bottom: 13%; left: 13%; animation-delay: -3s; }
@keyframes label-float { to { transform: translateY(-.7rem) rotate(2deg); } }
.hero__lower { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2rem; margin-top: auto; }
.hero__lower p { max-width: 42rem; margin: 0; font-size: clamp(1rem, 1.45vw, 1.35rem); line-height: 1.5; text-wrap: pretty; }
.hero__pitch { margin-left: 25%; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.action-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 2.5rem; min-width: 12rem; padding: .45rem .45rem .45rem 1rem; border: 1px solid currentColor; border-radius: 999px; font-size: .72rem; transition: color .25s, background .25s, transform .6s var(--ease); }
.action-link span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); transition: transform .6s var(--ease), background .3s; }
.action-link:hover span { transform: translate(.15rem,-.1rem) scale(1.06); }
.action-link:hover { transform: translateY(-2px); }
.action-link--solid { color: var(--paper); border-color: var(--ink); background: var(--ink); }
.action-link--solid:hover { color: var(--ink); background: var(--acid); }
.hero__availability { display: grid; gap: .75rem; justify-items: end; padding-bottom: .8rem; color: var(--muted); font-size: .65rem; }
.hero__availability small { font: 500 .62rem/1 var(--rs-font-mono, monospace); }
.circle-link { width: 7rem; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; gap: .75rem; border: 1px solid var(--ink); border-radius: 50%; font-size: .72rem; line-height: 1.2; transition: color .35s, background .35s, transform .35s var(--ease); }
.circle-link:hover { transform: rotate(-8deg); color: var(--paper); background: var(--ink); }

.system-field { position: relative; height: min(30rem, 48vw); min-height: 21rem; margin-top: 3rem; overflow: hidden; border: 1px solid rgba(59,22,84,.16); border-radius: 2rem; background: #e8e0f2; box-shadow: inset 0 1px rgba(255,255,255,.7), 0 2rem 5rem rgba(59,22,84,.08); }
.system-field__grid { position: absolute; inset: 0; opacity: .36; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 4rem 4rem; }
.system-field::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(200,181,212,.6), transparent 25%); }
.system-field__lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.system-field__lines path { fill: none; stroke: rgba(74,47,94,.65); stroke-width: 1.3; stroke-dasharray: 5 8; vector-effect: non-scaling-stroke; animation: route 14s linear infinite; }
@keyframes route { to { stroke-dashoffset: -130; } }
.node { position: absolute; z-index: 2; left: var(--x); top: var(--y); width: clamp(8.5rem, 15vw, 12rem); transform: translate(-50%, -50%); padding: .8rem; border: 1px solid rgba(59,22,84,.18); border-radius: .65rem; background: rgba(243,239,251,.92); box-shadow: .45rem .45rem 0 rgba(59,22,84,.08), inset 0 1px rgba(255,255,255,.75); }
.node small, .node span { display: block; color: var(--muted); font: 500 .56rem/1.3 var(--rs-font-mono, monospace); }
.node strong { display: block; margin: .75rem 0 .25rem; font-size: .8rem; }
.node--result { border-color: var(--plum); background: var(--plum); color: white; }
.node--result small, .node--result span { color: #d6c9df; }
.status-dot::before { display: inline-block; width: .35rem; height: .35rem; margin-right: .35rem; border-radius: 50%; background: var(--lavender); content: ''; }
.pulse { position: absolute; z-index: 3; width: .65rem; height: .65rem; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 .4rem rgba(214,223,114,.18); animation: travel 8s var(--ease) infinite; }
@keyframes travel { 0%{left:7%;top:49%} 25%{left:27%;top:20%} 50%{left:48%;top:49%} 75%{left:69%;top:74%} 100%{left:87%;top:48%} }

.ecosystem { overflow: hidden; padding: 1.3rem 0; color: var(--paper); background: var(--plum); }
.ecosystem__track { width: max-content; display: flex; align-items: center; gap: 2rem; animation: ecosystem-loop 32s linear infinite; }
.ecosystem__track span { font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ecosystem__track i { color: var(--lavender); font-family: var(--rs-font-sans, 'Figtree', sans-serif); font-style: normal; }
@keyframes ecosystem-loop { to { transform: translateX(-50%); } }

.section-pad { padding: clamp(6rem, 12vw, 11rem) var(--pad); }
.section-index { color: var(--muted); font: 500 .66rem/1 var(--rs-font-mono, monospace); letter-spacing: .06em; text-transform: uppercase; }
.services { color: var(--paper); background: radial-gradient(circle at 88% 9%, rgba(139,92,246,.2), transparent 22%), linear-gradient(135deg, #2a0f3d, #180b24 66%); }
.services .section-index { color: #8d8780; }
.services__intro { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; margin-bottom: clamp(4rem, 9vw, 8rem); }
.services__intro h2 { max-width: 58rem; margin: -.6rem 0 1.5rem; font-size: clamp(2.6rem, 5.4vw, 5.8rem); font-weight: 500; line-height: .98; letter-spacing: -.065em; }
.services__intro p { max-width: 40rem; margin: 0; color: #aaa49d; font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.55; }
.service-list { border-top: 1px solid #3d3935; }
.service-row { display: grid; grid-template-columns: 3rem minmax(14rem, 1.15fr) minmax(18rem, 1fr) auto; gap: clamp(1rem, 3vw, 3rem); align-items: start; padding: 2.25rem 0; border-bottom: 1px solid #3d3935; transition: padding .35s var(--ease), background .25s; }
.service-row:hover { padding-inline: 1rem; background: rgba(139,92,246,.1); }
.service-row__number { color: var(--acid); font: 500 .62rem/1 var(--rs-font-mono, monospace); }
.service-row__title h3 { max-width: 26rem; margin: -.4rem 0 .8rem; font-size: clamp(1.6rem, 2.8vw, 3.1rem); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.service-row__title span { color: var(--acid); font: 500 .65rem/1 var(--rs-font-mono, monospace); }
.service-row__body p { max-width: 31rem; margin: 0 0 1rem; color: #aaa49d; line-height: 1.5; }
.service-row__body ul { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; color: #d2cdc7; font-size: .72rem; }
.service-row__body li::before { content: '↳'; margin-right: .5rem; color: var(--acid); }
.service-row > a { align-self: center; padding-bottom: .3rem; border-bottom: 1px solid #77716a; font-size: .68rem; white-space: nowrap; }
.service-row > a:hover { color: var(--acid); border-color: var(--acid); }
.services__foot { display: flex; justify-content: space-between; gap: 2rem; margin-top: 3rem; color: #aaa49d; font-size: .75rem; }
.services__foot p { margin: 0; }
.services__foot a { color: var(--paper); text-decoration: underline; text-underline-offset: .3rem; }

.transformation { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; background: radial-gradient(circle at 85% 50%, rgba(196,181,253,.35), transparent 28%), var(--paper); }
.transformation__copy h2 { max-width: 42rem; margin: 2rem 0; font-size: clamp(3rem, 5.8vw, 6.4rem); font-weight: 500; line-height: .92; letter-spacing: -.07em; }
.transformation__copy h2 em { color: var(--plum); font-family: var(--rs-font-sans, 'Figtree', sans-serif); font-weight: 300; font-style: italic; }
.transformation__copy > p { max-width: 34rem; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.transform-toggle { display: inline-flex; gap: .25rem; margin-top: 2rem; padding: .3rem; border: 1px solid rgba(59,22,84,.15); border-radius: 999px; background: rgba(255,255,255,.45); }
.transform-toggle button { padding: .7rem 1rem; border: 0; border-radius: 999px; color: var(--muted); background: transparent; cursor: pointer; font-size: .68rem; transition: color .45s var(--ease), background .45s var(--ease), transform .45s var(--ease); }
.transform-toggle button[aria-pressed="true"] { color: var(--paper); background: var(--plum); box-shadow: inset 0 1px rgba(255,255,255,.2); }
.transform-toggle button:active { transform: scale(.97); }
.transform-shell { padding: .55rem; border: 1px solid rgba(59,22,84,.12); border-radius: 2.2rem; background: rgba(59,22,84,.06); box-shadow: 0 2.5rem 6rem rgba(59,22,84,.14); }
.transform-stage { position: relative; min-height: 34rem; overflow: hidden; border-radius: 1.75rem; background: radial-gradient(circle at 78% 20%, rgba(139,92,246,.16), transparent 25%), #21102f; box-shadow: inset 0 1px rgba(255,255,255,.09); }
.transform-stage::before { position: absolute; inset: 0; content: ''; opacity: .3; background-image: linear-gradient(rgba(196,181,253,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(196,181,253,.12) 1px, transparent 1px); background-size: 4rem 4rem; }
.transform-stage__top { position: relative; z-index: 3; display: flex; justify-content: space-between; padding: 1.25rem 1.4rem; color: #a99cbd; border-bottom: 1px solid rgba(255,255,255,.1); font: 500 .62rem/1 var(--rs-font-mono, monospace); text-transform: uppercase; letter-spacing: .06em; }
.stage-status { display: flex; align-items: center; gap: .45rem; }
.stage-status i { width: .4rem; height: .4rem; border-radius: 50%; background: #55a76a; box-shadow: 0 0 0 .28rem rgba(85,167,106,.12); }
.stage-status b { font-weight: 500; }
.transform-panel { position: absolute; z-index: 2; inset: 4rem 0 0; display: flex; align-items: center; justify-content: center; padding: 3rem; transition: opacity .9s var(--ease), transform .9s var(--ease); }
.transform-panel--before { opacity: 0; transform: translateY(2rem) scale(.98); }
.transform-panel--after { opacity: 1; transform: translateY(0) scale(1); }
.transform-stage.is-before .transform-panel--before { opacity: 1; transform: translateY(0) scale(1); }
.transform-stage.is-before .transform-panel--after { opacity: 0; transform: translateY(-2rem) scale(.98); }
.loose-chip { position: absolute; padding: .7rem .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: .55rem; color: #d8cdf0; background: #35184a; box-shadow: 0 1rem 2.5rem rgba(47,18,67,.3); font-size: .7rem; }
.chip-a{top:18%;left:12%;transform:rotate(-5deg)}.chip-b{top:22%;right:13%;transform:rotate(4deg)}.chip-c{top:48%;left:24%;transform:rotate(3deg)}.chip-d{top:54%;right:14%;transform:rotate(-6deg)}.chip-e{bottom:15%;left:12%;transform:rotate(5deg)}.chip-f{bottom:12%;right:27%;transform:rotate(-3deg)}
.tangle { position: absolute; inset: 20% 18%; opacity: .35; }
.tangle i { position: absolute; top: 50%; left: 10%; width: 80%; height: 1px; background: var(--lavender); transform-origin: center; }
.tangle i:nth-child(2){transform:rotate(34deg)}.tangle i:nth-child(3){transform:rotate(-28deg)}.tangle i:nth-child(4){transform:rotate(78deg)}
.transform-panel--before p { align-self: flex-end; color: #8f829f; font-size: .72rem; }
.transform-panel--after { gap: .7rem; align-content: center; flex-wrap: wrap; }
.flow-node { min-width: 9.5rem; padding: 1rem; border: 1px solid rgba(196,181,253,.25); border-radius: .75rem; color: var(--paper); background: rgba(255,255,255,.055); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.flow-node small,.flow-node span { display:block;color:#9889aa;font:500 .55rem/1.3 var(--rs-font-mono,monospace) }
.flow-node strong { display:block;margin:1.2rem 0 .35rem;font-size:.8rem }
.flow-arrow { color: var(--lavender); font-style: normal; }
.flow-summary { flex-basis: 100%; display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin-top: 2rem; }
.flow-summary span { padding: .85rem; border-top: 1px solid rgba(255,255,255,.14); color: #93869f; font-size: .62rem; }
.flow-summary b { display: block; margin-bottom: .3rem; color: var(--paper); font-size: 1rem; }

.section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: clamp(3rem, 7vw, 6rem); }
.section-head p { max-width: 31rem; margin: 0; font-size: clamp(1.15rem, 2vw, 1.7rem); line-height: 1.35; letter-spacing: -.025em; }
.case { margin-bottom: clamp(5rem, 11vw, 10rem); }
.case__visual { position: relative; display: block; overflow: hidden; transform: perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--tilt-scale,1)); transform-style: preserve-3d; background: #d4cbc0; transition: transform .8s var(--ease), box-shadow .8s var(--ease); }
.case__visual.is-tilting { --tilt-scale: 1.012; will-change: transform; transition-duration: .16s; box-shadow: 0 2.8rem 7rem rgba(59,22,84,.18); }
.case__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease), filter .6s; }
.case__visual:hover img { transform: scale(1.025); filter: saturate(.8); }
.case--wide .case__visual { aspect-ratio: 16 / 8.2; padding: 4vw; background: #cfc1d8; }
.case--wide .case__visual img { object-fit: contain; filter: drop-shadow(0 2rem 2rem rgba(38,24,46,.25)); }
.case__number, .case__open { position: absolute; top: 1.25rem; padding: .55rem .7rem; background: var(--paper); font: 500 .62rem/1 var(--rs-font-mono, monospace); }
.case__number { left: 1.25rem; }
.case__open { right: 1.25rem; transition: color .25s, background .25s; }
.case__visual:hover .case__open { color: white; background: var(--plum); }
.case__info { display: grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.case__info h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 3rem); letter-spacing: -.055em; }
.case__info p { max-width: 26rem; margin: .25rem 0 0; color: var(--muted); line-height: 1.5; }
.case__info dl { display: flex; justify-content: flex-end; gap: 2rem; margin: 0; }
.case__info dt { margin-bottom: .35rem; color: var(--muted); font-size: .6rem; text-transform: uppercase; }
.case__info dd { margin: 0; font-size: .72rem; }
.case-pair { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: clamp(1.5rem, 5vw, 6rem); }
.case-pair .case__info { grid-template-columns: 1fr; gap: .65rem; }
.case-pair .case__info dl { justify-content: flex-start; }
.case--portrait { margin-top: 8rem; }
.case--portrait .case__visual { aspect-ratio: 4 / 5; padding: 3vw; }
.case--portrait .case__visual img { object-fit: contain; filter: drop-shadow(0 2rem 2rem rgba(0,0,0,.2)); }
.case--landscape .case__visual { aspect-ratio: 5 / 3.7; }
.case__visual--warm { background: #bd795f; }
.case__visual--ink { background: #271137; }
.text-link { display: flex; justify-content: space-between; padding: 1.5rem 0; border-block: 1px solid var(--ink); font-size: clamp(1.1rem, 2vw, 1.5rem); transition: padding .35s var(--ease); }
.text-link:hover { padding-inline: 1rem; }

.outcomes { position: relative; overflow: hidden; color: var(--paper); background: linear-gradient(145deg, #241033, #16091f); }
.outcomes::before { position: absolute; top: -15rem; right: -10rem; width: 42rem; height: 42rem; border-radius: 50%; content: ''; background: radial-gradient(circle, rgba(139,92,246,.22), transparent 67%); }
.outcomes .section-index { color: #9387a6; }
.outcomes__heading { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; margin: 6rem 0; }
.outcomes__heading .serif-line { color: #b2a1c5; font-family: var(--rs-font-sans, 'Figtree', sans-serif); font-size: clamp(1.6rem,2.8vw,2.8rem); font-weight: 300; font-style: italic; }
.outcomes__heading h2 { max-width: 60rem; margin: 0; font-size: clamp(3rem,6vw,6.8rem); font-weight: 500; line-height: .95; letter-spacing: -.07em; }
.outcome-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.14); }
.outcome { min-height: 20rem; padding: 1.5rem; border-right: 1px solid rgba(255,255,255,.14); transition: background .5s var(--ease), transform .6s var(--ease); }
.outcome:last-child { border-right: 0; }
.outcome:hover { transform: translateY(-.6rem); background: rgba(196,181,253,.07); }
.outcome > span { color: var(--lavender); font:500 .6rem/1 var(--rs-font-mono,monospace); }
.outcome h3 { margin: 5rem 0 1rem; font-size: clamp(1.35rem,2vw,2.1rem); font-weight: 500; letter-spacing: -.04em; }
.outcome p { max-width: 20rem; color: #9387a6; font-size: .8rem; line-height: 1.55; }
.outcomes__ticker { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 8rem calc(var(--pad) * -1) -6rem; padding: 2rem var(--pad); color: var(--ink); background: var(--lavender); font-size: clamp(1.1rem,2.6vw,2.5rem); letter-spacing: -.04em; }
.outcomes__ticker i { font-style: normal; }

.about-preview { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: clamp(2rem, 5vw, 6rem); color: var(--paper); background: var(--plum); }
.about-preview .section-index { color: #baaac4; }
.about-preview__main .serif-line { margin: -.4rem 0 .5rem; color: #baaac4; font-family: var(--rs-font-sans, 'Figtree', sans-serif); font-size: clamp(1.7rem, 3vw, 3rem); font-weight: 300; font-style: italic; }
.about-preview__main h2 { margin: 0; font-size: clamp(2.5rem, 4.7vw, 5rem); font-weight: 500; line-height: 1; letter-spacing: -.06em; }
.about-preview__detail { padding-top: 3.25rem; }
.about-preview__detail > p { max-width: 32rem; color: #d0c4d7; line-height: 1.6; }
.about-preview__detail > div { display: grid; gap: .6rem; margin-top: 2rem; }
.action-link--light { color: var(--paper); border-color: rgba(255,255,255,.5); }
.action-link--light:hover { color: var(--ink); border-color: var(--acid); background: var(--acid); }
.about-preview__facts { align-self: end; display: grid; border-top: 1px solid rgba(255,255,255,.3); }
.about-preview__facts span { padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.3); color: #d0c4d7; font-size: .7rem; }
.about-preview__facts span::before { content: '✓'; margin-right: .6rem; color: var(--acid); }

.process { color: var(--paper); background: radial-gradient(circle at 14% 18%, rgba(139,92,246,.16), transparent 20%), #1c0c29; }
.section-head--light .section-index { color: #8d8780; }
.section-head--light p { color: #bbb5ae; }
.process-track { margin-left: 25%; border-top: 1px solid #3d3935; }
.process-step { min-height: 12rem; display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid #3d3935; }
.process-step > span { color: var(--acid); font: 500 .65rem/1 var(--rs-font-mono, monospace); }
.process-step h3 { margin: -.35rem 0 1rem; font-size: clamp(1.8rem, 3.2vw, 3.6rem); font-weight: 500; letter-spacing: -.05em; }
.process-step p { max-width: 29rem; margin: 0; color: #918b84; line-height: 1.55; }

.client-voice { position: relative; min-height: 92vh; display: grid; grid-template-columns: 1fr 3fr; align-content: center; gap: 4rem; overflow: hidden; background: radial-gradient(circle at 80% 30%, rgba(196,181,253,.45), transparent 28%), var(--paper); }
.client-voice blockquote { grid-column: 2; max-width: 68rem; margin: 0; font-size: clamp(3rem,6.7vw,7.4rem); font-weight: 500; line-height: .94; letter-spacing: -.07em; }
.client-voice__meta { grid-column: 2; display: grid; grid-template-columns: .6fr 1fr auto; gap: 2rem; align-items: center; padding-top: 1.3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; }
.client-voice__meta a { color: var(--plum); text-decoration: underline; text-underline-offset: .3rem; }
.voice-orbit { position: absolute; right: -10rem; bottom: -10rem; width: 30rem; height: 30rem; display: grid; place-items: center; border: 1px solid rgba(59,22,84,.14); border-radius: 50%; }
.voice-orbit::before,.voice-orbit::after { position:absolute;border:1px solid rgba(59,22,84,.12);border-radius:50%;content:'' }.voice-orbit::before{inset:3rem}.voice-orbit::after{inset:7rem}
.voice-orbit span { color: var(--plum); font-weight: 700; letter-spacing: -.06em; }
.voice-orbit i { position: absolute; width: .6rem; height: .6rem; border-radius: 50%; background: var(--plum); animation: orbit 8s linear infinite; }
.voice-orbit i:nth-of-type(2){animation-duration:11s;animation-direction:reverse}.voice-orbit i:nth-of-type(3){animation-duration:15s}
@keyframes orbit { from{transform:rotate(0deg) translateX(15rem)}to{transform:rotate(360deg) translateX(15rem)} }

.inquiry-guide { color: var(--paper); background: var(--plum); }
.inquiry-guide__intro { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 3rem; align-items: start; margin-bottom: 7rem; }
.inquiry-guide .section-index { color: #baaac4; }
.inquiry-guide__intro h2 { margin: -.5rem 0 0; font-size: clamp(3rem,5vw,5.5rem); font-weight: 500; line-height: .95; letter-spacing: -.06em; }
.inquiry-guide__intro > p { margin: 0; color: #d0c4d7; line-height: 1.6; }
.inquiry-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: rgba(255,255,255,.18); }
.inquiry-item { min-height: 16rem; padding: 1.5rem; background: var(--plum); transition: background .5s var(--ease); }
.inquiry-item:hover { background: #4b1d69; }
.inquiry-item > span { color: var(--lavender); font:500 .6rem/1 var(--rs-font-mono,monospace); }
.inquiry-item h3 { margin: 4rem 0 1rem; font-size: clamp(1.4rem,2.4vw,2.5rem); font-weight: 500; letter-spacing: -.045em; }
.inquiry-item p { max-width: 34rem; color: #c5b6cf; line-height: 1.55; }
.inquiry-guide .text-link { margin-top: 4rem; border-color: rgba(255,255,255,.55); }

.contact { padding-bottom: 2rem; }
.contact__top { display: flex; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .7rem; }
.contact__title { position: relative; display: flex; flex-direction: column; margin: 8rem 0 10rem; font-size: clamp(4.5rem, 13vw, 12.5rem); font-weight: 600; line-height: .78; letter-spacing: -.09em; }
.contact__title em { align-self: flex-end; padding-right: 10vw; color: var(--plum); font-family: var(--rs-font-sans, 'Figtree', sans-serif); font-weight: 300; font-style: italic; }
.contact__title i { position: absolute; right: 0; top: 50%; font-size: .3em; font-style: normal; transition: transform .4s var(--ease); }
.contact__title:hover i { transform: translate(1rem,-1rem); }
footer { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2rem; align-items: end; padding-top: 2rem; border-top: 1px solid var(--ink); }
.footer-brand img { width: min(18rem, 70vw); height: 4rem; object-fit: contain; object-position: left center; }
footer > div:not(:first-child) { display: grid; gap: .5rem; font-size: .72rem; }
footer a:hover { text-decoration: underline; }

.reveal { opacity: 0; transform: translateY(2.5rem); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 800px) {
  .topbar { grid-template-columns: 1fr auto; }
  .topbar__nav, .topbar__call { display: none; }
  .menu-button { display: flex; }
  .hero { padding-top: 7rem; }
  .hero__eyebrow, .section-head { grid-template-columns: 1fr; }
  .hero__eyebrow span:first-child { display: none; }
  .hero__title { font-size: clamp(4.25rem, 19.5vw, 7rem); line-height: .8; }
  .hero__title--consultancy { font-size: clamp(3.2rem, 14.5vw, 5.6rem); line-height: .88; }
  .hero__title--consultancy .word-row:nth-child(2) { padding-left: 0; }
  .hero-object { top: 11rem; right: -8rem; width: 20rem; opacity: .32; }
  .object-label { display: none; }
  .cube-scene { transform: scale(.74); }
  .word-row--shift { padding-right: 0; }
  .hero__lower { grid-template-columns: 1fr; }
  .hero__pitch { margin-left: 0; }
  .hero__availability { justify-items: start; }
  .system-field { height: 34rem; }
  .system-field__lines { display: none; }
  .node { left: 8% !important; width: 42%; transform: translateY(-50%); }
  .node:nth-of-type(even) { left: 52% !important; }
  .node--input { top: 13% !important; }.node--route{top:31% !important}.node--work{top:49% !important}.node--view{top:67% !important}.node--result{top:85% !important}
  .pulse { display: none; }
  .services__intro { grid-template-columns: 1fr; gap: 3rem; }
  .service-row { grid-template-columns: 2rem 1fr; }
  .service-row__body, .service-row > a { grid-column: 2; }
  .services__foot { display: grid; }
  .transformation { grid-template-columns: 1fr; }
  .transform-stage { min-height: 38rem; }
  .transform-panel--after { flex-direction: column; align-items: stretch; gap: .45rem; }
  .flow-node { width: 100%; min-width: 0; }
  .flow-node strong { margin: .65rem 0 .25rem; }
  .flow-arrow { align-self: center; transform: rotate(90deg); }
  .flow-summary { grid-template-columns: 1fr; margin-top: .6rem; }
  .flow-summary span { padding: .45rem .2rem; }
  .loose-chip { font-size: .62rem; }
  .case__info { grid-template-columns: 1fr; gap: .65rem; }
  .case__info dl { justify-content: flex-start; flex-wrap: wrap; }
  .case-pair { grid-template-columns: 1fr; }
  .case--portrait { margin-top: 0; }
  .outcomes__heading { grid-template-columns: 1fr; gap: 1rem; margin: 4rem 0; }
  .outcome-grid { grid-template-columns: 1fr; }
  .outcome { min-height: 14rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .outcome h3 { margin-top: 3rem; }
  .outcomes__ticker { width: max-content; gap: 2rem; justify-content: flex-start; padding-right: 3rem; }
  .about-preview { grid-template-columns: 1fr; }
  .about-preview__detail { padding-top: 0; }
  .process-track { margin-left: 0; }
  .process-step { grid-template-columns: 2.5rem 1fr; }
  .client-voice { grid-template-columns: 1fr; min-height: 80vh; }
  .client-voice blockquote, .client-voice__meta { grid-column: 1; }
  .client-voice__meta { grid-template-columns: 1fr; gap: .6rem; }
  .voice-orbit { right: -18rem; bottom: -14rem; }
  .inquiry-guide__intro { grid-template-columns: 1fr; gap: 2rem; margin-bottom: 4rem; }
  .inquiry-list { grid-template-columns: 1fr; }
  .inquiry-item { min-height: 14rem; }
  footer { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .intro { display: none; }
  .reveal { opacity: 1; transform: none; }
}

/* Final cascade: shared Rue shell and surfaces */
html, body { background: var(--rue-base); color: var(--rue-text); }
body::before { opacity: .035; mix-blend-mode: screen; }
::selection { color: var(--rue-base); background: var(--rue-lavender); }
:focus-visible { outline-color: var(--rue-lavender); }
.intro { padding: clamp(1rem,4vw,4rem); color: var(--rue-text); background: radial-gradient(circle at 50% 48%,rgba(139,92,246,.16),transparent 28%),var(--rue-base); transition-duration: 1.1s; }
.intro__logo { width: 72%; height: auto; filter: brightness(0) invert(1); animation: none; }
.intro__status { width:min(68rem,92vw);display:flex;justify-content:space-between;padding-top:.8rem;border-top:1px solid var(--rue-border);color:var(--rue-muted);font:500 .58rem/1 var(--rs-font-mono,monospace); }
.topbar { color:var(--rue-text);border-color:var(--rue-border);border-radius:.8rem;background:rgba(7,4,15,.78);box-shadow:0 1.25rem 4rem rgba(3,1,9,.28),inset 0 1px rgba(255,255,255,.045); }
.brand img,.footer-brand img { filter:brightness(0) invert(1); }
.topbar__nav { color:var(--rue-secondary); }
.topbar__nav a:hover { color:var(--rue-text); }
.topbar__call { color:var(--rue-base);border:1px solid var(--rue-lavender);border-radius:.45rem;background:var(--rue-lavender); }
.topbar__call { white-space:nowrap; }
.topbar__call:hover { color:var(--rue-text);background:var(--rue-purple); }
.menu-panel { background:radial-gradient(circle at 80% 12%,rgba(139,92,246,.22),transparent 25%),var(--rue-base); }
.hero { color:var(--rue-text);background:radial-gradient(circle at 79% 20%,rgba(139,92,246,.17),transparent 27%),radial-gradient(circle at 5% 80%,rgba(196,181,253,.055),transparent 23%),var(--rue-base); }
.hero__eyebrow { color:var(--rue-secondary);border-color:var(--rue-border); }
.hero__title { color:var(--rue-text); }
.word-row em { color:var(--rue-lavender); }
.hero__lower p { color:var(--rue-secondary); }
.hero__availability { color:var(--rue-muted); }
.action-link { border-radius:.45rem; }
.action-link--solid { color:var(--rue-base);border-color:var(--rue-lavender);background:var(--rue-lavender); }
.action-link--solid:hover { color:white;border-color:var(--rue-purple);background:var(--rue-purple); }
.hero-object { opacity:1; }
.hero-object__halo { inset:0;background:radial-gradient(circle,rgba(139,92,246,.2),rgba(139,92,246,.04) 40%,transparent 70%); }
.object-label { border-color:var(--rue-border);border-radius:.4rem;color:var(--rue-secondary);background:rgba(13,9,26,.78);box-shadow:inset 0 1px rgba(255,255,255,.05); }
.system-field { border-color:var(--rue-border);border-radius:1rem;background:var(--rue-raised);box-shadow:inset 0 1px rgba(255,255,255,.04),0 2rem 6rem rgba(3,1,9,.34); }
.system-field__grid { opacity:.6;background-image:linear-gradient(rgba(196,181,253,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(196,181,253,.07) 1px,transparent 1px); }
.system-field::after { background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(139,92,246,.15),transparent 24%); }
.system-field__lines path { stroke:rgba(196,181,253,.48); }
.node { border-color:var(--rue-border);border-radius:.45rem;color:var(--rue-text);background:rgba(19,13,36,.94);box-shadow:.35rem .35rem 0 rgba(139,92,246,.08),inset 0 1px rgba(255,255,255,.05); }
.node small,.node span { color:var(--rue-muted); }
.node--result { border-color:var(--rue-purple);background:var(--rue-purple); }
.pulse { background:var(--rue-lavender);box-shadow:0 0 0 .4rem rgba(139,92,246,.18),0 0 1.5rem var(--rue-purple); }
.ecosystem { border-block:1px solid var(--rue-border);background:var(--rue-raised); }
.services,.outcomes,.about-preview,.process,.inquiry-guide { background-color:var(--rue-base);background-image:radial-gradient(circle at 88% 9%,rgba(139,92,246,.12),transparent 24%); }
.services { border-top:1px solid var(--rue-border); }
.service-list,.service-row,.process-track,.process-step { border-color:var(--rue-border); }
.service-row__body p,.services__intro p,.services__foot,.process-step p { color:var(--rue-secondary); }
.service-row__body ul { color:#c8c1dc; }
.service-row:hover { background:var(--rue-elevated); }
.transformation,.work,.client-voice,.contact { color:var(--rue-text);border-top:1px solid var(--rue-border);background:radial-gradient(circle at 84% 40%,rgba(139,92,246,.11),transparent 28%),var(--rue-raised); }
.transformation__copy h2 em,.contact__title em { color:var(--rue-lavender); }
.transformation__copy > p,.case__info p,.case__info dt,.client-voice__meta,.contact__top { color:var(--rue-secondary); }
.transform-toggle { border-color:var(--rue-border);background:var(--rue-elevated); }
.transform-toggle button[aria-pressed="true"] { color:var(--rue-base);background:var(--rue-lavender); }
.transform-shell { border-color:var(--rue-border);background:var(--rue-subtle);box-shadow:0 2.5rem 6rem rgba(3,1,9,.35); }
.case__info,.client-voice__meta,.contact__top { border-color:var(--rue-border); }
.case__number,.case__open { color:var(--rue-base);background:var(--rue-lavender); }
.client-voice__meta a,.voice-orbit span { color:var(--rue-lavender); }
.voice-orbit,.voice-orbit::before,.voice-orbit::after { border-color:var(--rue-border); }
.voice-orbit i { background:var(--rue-purple); }

/* Theme semantics and logo assembly -------------------------------------- */
:root {
  --theme-page: #07040f;
  --theme-raised: #0d091a;
  --theme-elevated: #130d24;
  --theme-subtle: #1a1230;
  --theme-text: #f0eeff;
  --theme-text-secondary: #9b8ebd;
  --theme-text-muted: #6a5e8a;
  --theme-border: rgba(196,181,253,.16);
  --theme-grid: rgba(196,181,253,.07);
  --theme-glow: rgba(139,92,246,.17);
  --theme-nav: rgba(7,4,15,.8);
  --theme-node: rgba(19,13,36,.94);
  --theme-shadow: rgba(3,1,9,.34);
  --theme-logo-filter: brightness(0) invert(1);
}

:root[data-theme="light"] {
  color-scheme: light;
  --theme-page: #f3effb;
  --theme-raised: #ebe5f6;
  --theme-elevated: #ffffff;
  --theme-subtle: #e3d9f0;
  --theme-text: #180b24;
  --theme-text-secondary: #625775;
  --theme-text-muted: #786b8c;
  --theme-border: rgba(59,22,84,.16);
  --theme-grid: rgba(59,22,84,.075);
  --theme-glow: rgba(139,92,246,.2);
  --theme-nav: rgba(243,239,251,.84);
  --theme-node: rgba(255,255,255,.9);
  --theme-shadow: rgba(59,22,84,.13);
  --theme-logo-filter: none;
}
:root[data-theme="dark"] { color-scheme: dark; }

html[data-theme], html[data-theme] body { color:var(--theme-text);background:var(--theme-page); }
html[data-theme] body,html[data-theme] .topbar,html[data-theme] section,html[data-theme] .node,html[data-theme] .system-field { transition:color .55s var(--ease),background-color .55s var(--ease),border-color .55s var(--ease),box-shadow .55s var(--ease); }
html[data-theme] body::before { mix-blend-mode:normal; }
html[data-theme] .brand img,html[data-theme] .footer-brand img,html[data-theme] .intro__logo,html[data-theme] .logo-piece { filter:var(--theme-logo-filter); }

.logo-assembly { position:absolute;z-index:8;top:50%;left:50%;display:grid;justify-items:center;gap:1rem;transform:translate(-50%,-50%);animation:logo-assembly-exit .75s 1.15s var(--ease) forwards; }
.logo-assembly__frame { position:relative;width:min(28rem,72vw);height:7rem; }
.logo-piece { position:absolute;inset:0;width:100%;height:100%;object-fit:contain; }
.logo-piece--mark { clip-path:inset(0 76% 0 0);opacity:0;transform:translateX(-4rem);animation:logo-mark-in .72s .08s var(--ease) forwards; }
.logo-piece--name { clip-path:inset(0 0 0 20%);opacity:0;transform:translateX(4rem);animation:logo-name-in .72s .2s var(--ease) forwards; }
.logo-assembly__scan { position:absolute;top:8%;bottom:8%;left:18%;width:1px;background:var(--rue-lavender);box-shadow:0 0 1.5rem var(--rue-purple);animation:logo-scan .85s .35s var(--ease) both; }
.logo-assembly small { color:var(--theme-text-muted);font:500 .55rem/1 var(--rs-font-mono,monospace);letter-spacing:.12em; }
.intro-system,.intro__status { opacity:0;animation:system-arrive .75s 1.12s var(--ease) forwards; }
.intro-core { animation-delay:1.25s; }
.intro-routes path { stroke:color-mix(in srgb,var(--theme-text-secondary) 55%,transparent);animation-delay:1.3s; }
.intro-module { color:var(--theme-text-secondary);border-color:var(--theme-border);background:var(--theme-node); }
.intro-module--one{animation-delay:1.32s}.intro-module--two{animation-delay:1.48s}.intro-module--three{animation-delay:1.64s}.intro-module--four{animation-delay:1.8s}.intro-module--five{animation-delay:1.96s}
.intro-packet { animation-delay:1.45s; }
@keyframes logo-mark-in { to{opacity:1;transform:translateX(0)} }
@keyframes logo-name-in { to{opacity:1;transform:translateX(0)} }
@keyframes logo-scan { from{opacity:0;transform:translateX(-5rem)} 40%{opacity:1} to{opacity:0;transform:translateX(14rem)} }
@keyframes logo-assembly-exit { to{opacity:0;transform:translate(-50%,-50%) scale(.7);filter:blur(8px)} }
@keyframes system-arrive { to{opacity:1} }

.topbar__actions { justify-self:end;display:flex;align-items:center;gap:.65rem; }
.theme-toggle { display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border:1px solid var(--theme-border);border-radius:.45rem;color:var(--theme-text-secondary);background:var(--theme-elevated);cursor:pointer;font:500 .58rem/1 var(--rs-font-mono,monospace);text-transform:uppercase;letter-spacing:.05em;transition:color .25s,background .25s,border-color .25s; }
.theme-toggle:hover { color:var(--theme-text);border-color:var(--rue-purple); }
.theme-toggle:active { transform:scale(.97); }
.theme-toggle b { min-width:2.5rem;font-weight:500; }
.theme-toggle__track { position:relative;width:1.8rem;height:.9rem;border:1px solid var(--theme-border);border-radius:1rem;background:var(--theme-subtle); }
.theme-toggle__track i { position:absolute;top:50%;left:.18rem;width:.48rem;height:.48rem;transform:translateY(-50%);border-radius:50%;background:var(--rue-purple);box-shadow:0 0 .55rem var(--theme-glow);transition:left .45s var(--ease),background .3s; }
:root[data-theme="light"] .theme-toggle__track i { left:1.02rem;background:#8b5cf6; }

html[data-theme] .intro { color:var(--theme-text);background:radial-gradient(circle at 50% 48%,var(--theme-glow),transparent 28%),var(--theme-page); }
html[data-theme] .intro::before { background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px); }
html[data-theme] .intro-core { border-color:var(--theme-border);background:radial-gradient(circle,var(--theme-glow),var(--theme-raised) 65%);box-shadow:0 0 5rem var(--theme-glow),inset 0 0 2.5rem var(--theme-grid); }
html[data-theme] .intro-system__grid,html[data-theme] .intro-system__grid::before,html[data-theme] .intro-system__grid::after { border-color:var(--theme-border); }
html[data-theme] .intro__status { color:var(--theme-text-muted);border-color:var(--theme-border); }
html[data-theme] .topbar { color:var(--theme-text);border-color:var(--theme-border);background:var(--theme-nav);box-shadow:0 1.25rem 4rem var(--theme-shadow),inset 0 1px rgba(255,255,255,.08); }
html[data-theme] .topbar__nav { color:var(--theme-text-secondary); }
html[data-theme] .menu-panel { color:var(--theme-text);background:radial-gradient(circle at 80% 12%,var(--theme-glow),transparent 25%),var(--theme-page); }
html[data-theme] .hero { color:var(--theme-text);background:radial-gradient(circle at 79% 20%,var(--theme-glow),transparent 27%),radial-gradient(circle at 5% 80%,var(--theme-grid),transparent 23%),var(--theme-page); }
html[data-theme] .hero::before { background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px); }
html[data-theme] .hero__eyebrow,html[data-theme] .hero__lower p,html[data-theme] .hero__availability { color:var(--theme-text-secondary);border-color:var(--theme-border); }
html[data-theme] .hero__title { color:var(--theme-text); }
html[data-theme] .system-core { color:var(--theme-text);border-color:var(--theme-border);background:var(--theme-nav);box-shadow:0 0 5rem var(--theme-glow),inset 0 0 2rem var(--theme-glow); }
html[data-theme] .system-core small { color:var(--theme-text-secondary); }
html[data-theme] .system-core__ring { border-color:var(--theme-border); }
html[data-theme] .system-core__axis { background:linear-gradient(90deg,transparent,var(--theme-border),transparent); }
html[data-theme] .object-label { color:var(--theme-text-secondary);border-color:var(--theme-border);background:var(--theme-nav); }
html[data-theme] .system-field { border-color:var(--theme-border);background:var(--theme-raised);box-shadow:inset 0 1px rgba(255,255,255,.05),0 2rem 6rem var(--theme-shadow); }
html[data-theme] .system-field__grid { background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px); }
html[data-theme] .node { color:var(--theme-text);border-color:var(--theme-border);background:var(--theme-node);box-shadow:.35rem .35rem 0 var(--theme-glow),inset 0 1px rgba(255,255,255,.08); }
html[data-theme] .node small,html[data-theme] .node span { color:var(--theme-text-muted); }
html[data-theme] .node--result { color:white;border-color:var(--rue-purple);background:var(--rue-purple); }
html[data-theme] .ecosystem { color:var(--theme-text);border-color:var(--theme-border);background:var(--theme-raised); }
html[data-theme] .services,html[data-theme] .outcomes,html[data-theme] .about-preview,html[data-theme] .process,html[data-theme] .inquiry-guide { color:var(--theme-text);background:radial-gradient(circle at 88% 9%,var(--theme-glow),transparent 24%),var(--theme-page); }
html[data-theme] .transformation,html[data-theme] .work,html[data-theme] .client-voice,html[data-theme] .contact { color:var(--theme-text);background:radial-gradient(circle at 84% 40%,var(--theme-glow),transparent 28%),var(--theme-raised); }
html[data-theme] .service-list,html[data-theme] .service-row,html[data-theme] .process-track,html[data-theme] .process-step,html[data-theme] .case__info,html[data-theme] .client-voice__meta,html[data-theme] .contact__top { border-color:var(--theme-border); }
html[data-theme] .service-row__body p,html[data-theme] .services__intro p,html[data-theme] .services__foot,html[data-theme] .process-step p,html[data-theme] .transformation__copy>p,html[data-theme] .case__info p,html[data-theme] .case__info dt,html[data-theme] .client-voice__meta,html[data-theme] .contact__top,html[data-theme] .about-preview__detail>p,html[data-theme] .inquiry-guide__intro>p,html[data-theme] .inquiry-item p { color:var(--theme-text-secondary); }
html[data-theme] .service-row__body ul { color:var(--theme-text); }
html[data-theme] .service-row:hover,html[data-theme] .inquiry-item:hover { background:var(--theme-elevated); }
html[data-theme] .inquiry-list { background:var(--theme-border); }
html[data-theme] .inquiry-item { background:var(--theme-page); }
html[data-theme] .transform-toggle { border-color:var(--theme-border);background:var(--theme-elevated); }
html[data-theme] .transform-shell { border-color:var(--theme-border);background:var(--theme-subtle);box-shadow:0 2.5rem 6rem var(--theme-shadow); }
html[data-theme] .client-voice__meta a,html[data-theme] .voice-orbit span,html[data-theme] .contact__title em { color:var(--rue-purple); }
html[data-theme] .voice-orbit,html[data-theme] .voice-orbit::before,html[data-theme] .voice-orbit::after { border-color:var(--theme-border); }

@media (max-width: 760px) {
  .theme-toggle b { display:none; }
  .theme-toggle { padding:.45rem; }
  .topbar__actions { gap:.55rem; }
  .logo-assembly__frame { height:5rem; }
}

/* Operations diagnostic orb --------------------------------------------- */
.diagnostic { position:relative;color:var(--theme-text);border-top:1px solid var(--theme-border);background:radial-gradient(circle at 18% 30%,var(--theme-glow),transparent 24%),var(--theme-raised); }
.diagnostic__head { display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:clamp(5rem,10vw,9rem); }
.diagnostic__head h2 { max-width:66rem;margin:-.6rem 0 0;font-size:clamp(3rem,6vw,6.5rem);font-weight:500;line-height:.94;letter-spacing:-.07em;text-wrap:balance; }
.diagnostic__layout { display:grid;grid-template-columns:minmax(19rem,.85fr) minmax(28rem,1.15fr);gap:clamp(4rem,9vw,10rem);align-items:start; }
.diagnostic-orb { position:sticky;top:8rem;min-height:70vh;display:grid;align-content:center;justify-items:center; }
.diagnostic-orb__stage { position:relative;width:min(34rem,38vw);aspect-ratio:1;display:grid;place-items:center;transform:perspective(900px) rotateX(calc(var(--orb-y,0) * 1deg)) rotateY(calc(var(--orb-x,0) * 1deg));transition:transform .8s var(--ease); }
.diagnostic-orb__stage::before { position:absolute;inset:4%;content:'';border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 2.8rem,var(--theme-grid) 2.85rem 2.9rem);mask-image:radial-gradient(circle,black 15%,transparent 75%); }
.diagnostic-orb__glow { position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.28),var(--theme-glow) 28%,transparent 70%);filter:blur(5px);animation:diagnostic-breathe 5s var(--ease) infinite alternate; }
.diagnostic-orb__ring { position:absolute;border:1px solid color-mix(in srgb,var(--rue-lavender) 44%,transparent);border-radius:50%;transform-style:preserve-3d; }
.diagnostic-orb__ring::after { position:absolute;top:50%;left:-.28rem;width:.55rem;height:.55rem;transform:translateY(-50%);border-radius:50%;background:var(--rue-purple);box-shadow:0 0 1rem var(--rue-purple);content:''; }
.diagnostic-orb__ring--one { inset:10%;animation:diagnostic-spin 13s linear infinite; }
.diagnostic-orb__ring--two { inset:20%;transform:rotateX(67deg) rotateZ(22deg);animation:diagnostic-tilt 9s linear infinite reverse; }
.diagnostic-orb__ring--three { inset:30%;border-style:dashed;animation:diagnostic-spin 7s linear infinite reverse; }
.diagnostic-orb__scan { position:absolute;width:68%;height:1px;background:linear-gradient(90deg,transparent,var(--rue-lavender),transparent);box-shadow:0 0 1.5rem var(--rue-purple);animation:diagnostic-scan 3.6s var(--ease) infinite; }
.diagnostic-orb__core { position:relative;z-index:2;width:31%;aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:.4rem;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-nav);box-shadow:0 0 4rem var(--theme-glow),inset 0 0 2rem var(--theme-glow); }
.diagnostic-orb__core strong { font-size:clamp(1rem,2vw,1.5rem);letter-spacing:-.06em; }
.diagnostic-orb__core small { color:var(--theme-text-muted);font:500 .48rem/1 var(--rs-font-mono,monospace);letter-spacing:.08em; }
.diagnostic-orb__readout { width:min(25rem,80%);display:grid;grid-template-columns:auto 1fr;gap:.65rem 1rem;padding-top:1rem;border-top:1px solid var(--theme-border);font:500 .58rem/1.2 var(--rs-font-mono,monospace); }
.diagnostic-orb__readout span { color:var(--theme-text-muted); }
.diagnostic-orb__readout b { color:var(--rue-purple);font-weight:500;text-align:right; }
.diagnostic-list { border-top:1px solid var(--theme-border); }
.diagnostic-item { min-height:57vh;display:flex;flex-direction:column;justify-content:center;padding:4rem 0;border-bottom:1px solid var(--theme-border);opacity:.42;transition:opacity .6s var(--ease),transform .6s var(--ease); }
.diagnostic-item.is-active { opacity:1;transform:translateX(-1rem); }
.diagnostic-item>span,.diagnostic-item>small { color:var(--rue-purple);font:500 .62rem/1.3 var(--rs-font-mono,monospace);letter-spacing:.04em; }
.diagnostic-item h3 { max-width:40rem;margin:2rem 0 1rem;font-size:clamp(2.2rem,4.3vw,4.8rem);font-weight:500;line-height:.96;letter-spacing:-.06em; }
.diagnostic-item p { max-width:38rem;margin:0 0 2rem;color:var(--theme-text-secondary);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.6; }
@keyframes diagnostic-spin { to{transform:rotate(360deg)} }
@keyframes diagnostic-tilt { from{transform:rotateX(67deg) rotateZ(22deg)} to{transform:rotateX(67deg) rotateZ(382deg)} }
@keyframes diagnostic-scan { 0%,100%{transform:translateY(-7rem);opacity:0} 20%,80%{opacity:1} 50%{transform:translateY(7rem)} }
@keyframes diagnostic-breathe { to{transform:scale(1.12);opacity:.7} }

/* Process route ---------------------------------------------------------- */
.process { display:grid;grid-template-columns:1fr 3fr;gap:clamp(3rem,7vw,8rem);align-items:start; }
.process .section-head { grid-column:1/-1; }
.process-console { position:sticky;top:8rem;grid-column:1;display:grid;gap:.65rem;justify-items:start;padding-top:1rem; }
.process-console__orb { position:relative;width:clamp(8rem,14vw,13rem);aspect-ratio:1;display:grid;place-items:center;margin-bottom:1.5rem;border:1px solid var(--theme-border);border-radius:50%;background:radial-gradient(circle,var(--theme-glow),transparent 68%); }
.process-console__orb::before { position:absolute;inset:14%;border:1px dashed var(--theme-border);border-radius:50%;content:'';animation:diagnostic-spin 12s linear infinite; }
.process-console__orb i { position:absolute;inset:27%;border:1px solid var(--theme-border);border-radius:50%; }
.process-console__orb i:nth-child(2) { inset:40%;background:var(--rue-purple);box-shadow:0 0 2rem var(--theme-glow); }
.process-console__orb strong { position:relative;z-index:2;color:white;font:600 1rem/1 var(--rs-font-mono,monospace); }
.process-console>span { color:var(--theme-text-muted);font:500 .58rem/1 var(--rs-font-mono,monospace);letter-spacing:.1em; }
.process-console>b { color:var(--rue-lavender);font-size:clamp(1rem,1.5vw,1.3rem);font-weight:500; }
.process-track { grid-column:2;margin-left:0; }
.process-step { opacity:.42;transition:opacity .5s var(--ease),padding-left .6s var(--ease),background .5s; }
.process-step.is-active { opacity:1;padding-left:1.2rem;background:linear-gradient(90deg,var(--theme-glow),transparent 55%); }
.process-step small { display:block;margin-top:1.4rem;color:var(--rue-purple);font:500 .58rem/1.4 var(--rs-font-mono,monospace);letter-spacing:.05em; }

/* Pricing as a scoped comparison, not card towers ----------------------- */
.pricing { color:var(--theme-text);border-top:1px solid var(--theme-border);background:radial-gradient(circle at 78% 22%,var(--theme-glow),transparent 25%),var(--theme-raised); }
.pricing__head { display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:clamp(5rem,9vw,8rem); }
.pricing__head h2 { max-width:60rem;margin:-.6rem 0 1.5rem;font-size:clamp(3rem,5.6vw,6rem);font-weight:500;line-height:.95;letter-spacing:-.07em; }
.pricing__head p { max-width:42rem;margin:0;color:var(--theme-text-secondary);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.6; }
.pricing-list { border-top:1px solid var(--theme-border); }
.pricing-row { position:relative;display:grid;grid-template-columns:1.25fr 1fr .8fr auto;gap:clamp(1.5rem,4vw,4rem);align-items:start;padding:3rem 0;border-bottom:1px solid var(--theme-border);transition:padding .5s var(--ease),background .4s; }
.pricing-row:hover { padding-inline:1.25rem;background:var(--theme-elevated); }
.pricing-row--featured::before { position:absolute;top:0;bottom:0;left:-1rem;width:2px;background:var(--rue-purple);box-shadow:0 0 1rem var(--rue-purple);content:''; }
.pricing-row>div:first-child>span { color:var(--rue-purple);font:500 .6rem/1 var(--rs-font-mono,monospace);letter-spacing:.05em; }
.pricing-row h3 { max-width:30rem;margin:1.4rem 0 0;font-size:clamp(1.8rem,3vw,3.2rem);font-weight:500;line-height:1;letter-spacing:-.05em; }
.pricing-row>p { max-width:30rem;margin:0;color:var(--theme-text-secondary);line-height:1.6; }
.pricing-row ul { display:grid;gap:.65rem;margin:0;padding:0;list-style:none;color:var(--theme-text-secondary);font-size:.75rem; }
.pricing-row li::before { content:'↳';margin-right:.5rem;color:var(--rue-purple); }
.pricing-row__price { min-width:10rem;text-align:right; }
.pricing-row__price small { display:block;color:var(--theme-text-muted);font:500 .58rem/1 var(--rs-font-mono,monospace); }
.pricing-row__price strong { display:block;margin:.75rem 0 1.5rem;font-size:clamp(2.2rem,4vw,4rem);font-weight:500;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums; }
.pricing-row__price a { padding-bottom:.25rem;border-bottom:1px solid var(--theme-border);font-size:.68rem;white-space:nowrap; }
.pricing-row__price a:hover { color:var(--rue-purple);border-color:var(--rue-purple); }
.pricing__note { display:flex;justify-content:space-between;gap:2rem;margin-top:2rem;color:var(--theme-text-secondary);font-size:.72rem; }
.pricing__note a { color:var(--theme-text);text-decoration:underline;text-underline-offset:.3rem; }

@media (max-width: 900px) {
  .diagnostic__layout { grid-template-columns:1fr; }
  .diagnostic-orb { position:relative;top:0;min-height:32rem; }
  .diagnostic-orb__stage { width:min(30rem,78vw); }
  .diagnostic-item { min-height:0;padding:4rem 0;opacity:1; }
  .diagnostic-item.is-active { transform:none; }
  .pricing-row { grid-template-columns:1fr 1fr; }
  .pricing-row__price { text-align:left; }
}

@media (max-width: 760px) {
  .diagnostic__head,.pricing__head { grid-template-columns:1fr;gap:2rem; }
  .diagnostic-orb { min-height:25rem; }
  .diagnostic-orb__readout { width:90%; }
  .process { grid-template-columns:1fr; }
  .process .section-head,.process-console,.process-track { grid-column:1; }
  .process-console { position:relative;top:0;grid-template-columns:auto 1fr;align-items:center;margin-bottom:2rem; }
  .process-console__orb { grid-row:1/3;width:7rem;margin:0 1rem 0 0; }
  .pricing-row { grid-template-columns:1fr;padding:2.5rem 0; }
  .pricing-row:hover { padding-inline:.5rem; }
  .pricing-row__price { display:grid;grid-template-columns:1fr auto;align-items:end; }
  .pricing-row__price small { grid-column:1; }
  .pricing-row__price strong { grid-column:1;margin:.5rem 0 0; }
  .pricing-row__price a { grid-column:2;grid-row:1/3;align-self:center; }
  .pricing__note { display:grid; }
}

/* Real Rue Operations Core WebGL mount ----------------------------------- */
#operations-core-root { position:relative;width:min(38rem,42vw);height:min(38rem,42vw);min-width:20rem;min-height:20rem;overflow:visible;pointer-events:auto;transform:none;transition:none; }
#operations-core-root::before { display:none; }
#operations-core-root canvas { display:block;width:100%!important;height:100%!important; }
.diagnostic-orb__stage { background:transparent; }
@media (max-width:900px) {
  #operations-core-root { width:min(34rem,82vw);height:min(34rem,82vw); }
}
@media (max-width:760px) {
  #operations-core-root { width:92vw;height:92vw;min-width:0;min-height:0;pointer-events:none; }
}

/* Animated service demonstrations --------------------------------------- */
.service-showcase { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem; }
.service-card { position:relative;min-height:32rem;display:grid;grid-template-columns:1fr 1.08fr;overflow:hidden;border:1px solid var(--theme-border);border-radius:1.35rem;background:var(--theme-elevated);box-shadow:0 1.5rem 5rem var(--theme-shadow);transition:transform .6s var(--ease),border-color .4s,box-shadow .5s; }
.service-card:hover { transform:translateY(-.4rem);border-color:color-mix(in srgb,var(--rue-purple) 55%,var(--theme-border));box-shadow:0 2rem 6rem var(--theme-shadow),0 0 0 1px var(--theme-grid); }
.service-card--wide { grid-column:1/-1;grid-template-columns:.8fr 1.35fr;min-height:27rem; }
.service-card__copy { display:flex;flex-direction:column;justify-content:space-between;gap:3rem;padding:clamp(1.5rem,3vw,2.8rem);border-right:1px solid var(--theme-border); }
.service-card__label { color:var(--rue-purple);font:600 .62rem/1.2 var(--rs-font-mono,monospace);letter-spacing:.1em;text-transform:uppercase; }
.service-card h3 { max-width:32rem;margin:1.2rem 0 1rem;font-size:clamp(1.6rem,2.25vw,2.55rem);font-weight:600;line-height:1.06;letter-spacing:-.045em;text-wrap:balance; }
.service-card__copy p { max-width:32rem;margin:0;color:var(--theme-text-secondary);font-size:.86rem;line-height:1.62; }
.service-card__tags { display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem; }
.service-card__tags span { padding:.4rem .65rem;border:1px solid color-mix(in srgb,var(--rue-purple) 35%,var(--theme-border));border-radius:999px;color:var(--rue-purple);font:500 .56rem/1 var(--rs-font-mono,monospace); }
.service-card__foot { display:flex;justify-content:space-between;gap:1rem;align-items:end; }
.service-card__foot b { font-size:.75rem;font-weight:600; }
.service-card__foot a { padding-bottom:.2rem;border-bottom:1px solid var(--theme-border);font-size:.62rem; }
.service-card__foot a:hover { color:var(--rue-purple);border-color:var(--rue-purple); }
.service-demo { position:relative;align-self:center;margin:1.4rem;padding:1.4rem;overflow:hidden;border:1px solid var(--theme-border);border-radius:1.35rem;background:color-mix(in srgb,var(--theme-elevated) 84%,var(--rue-lavender));box-shadow:0 1.4rem 3rem var(--theme-shadow),inset 0 1px rgba(255,255,255,.18);font-size:.72rem; }
.service-demo::before { position:absolute;inset:0;content:'';pointer-events:none;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.16) 45%,transparent 65%);transform:translateX(-120%);animation:demo-sheen 8s var(--ease) infinite; }
.demo-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:.68rem; }
.demo-head span { padding:.35rem .55rem;border:1px solid var(--theme-border);border-radius:999px;color:var(--rue-purple);font:600 .52rem/1 var(--rs-font-mono,monospace);text-transform:uppercase; }
.demo-task { position:relative;display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.4rem 0;padding:.75rem .8rem;overflow:hidden;border:1px solid var(--theme-border);border-radius:.65rem;background:var(--theme-elevated); }
.demo-task::after { position:absolute;inset:0;content:'';pointer-events:none;background:linear-gradient(90deg,transparent,var(--theme-glow),transparent);opacity:0;transform:translateX(-100%); }
.demo-task.is-sweeping::after { animation:task-sweep 1.1s var(--ease); }
.demo-status { padding:.3rem .5rem;border-radius:999px;font:600 .5rem/1 var(--rs-font-mono,monospace);white-space:nowrap;transition:opacity .25s,transform .35s var(--ease),background .3s; }
.demo-status.is-updating { opacity:0;transform:translateY(.35rem); }
.status-live { color:#0a7657;background:#d5faec; }.status-progress { color:#6d28d9;background:#ede9fe; }.status-due { color:#9a3412;background:#ffedd5; }.status-time { color:var(--theme-text-muted);background:var(--theme-subtle); }
:root[data-theme="dark"] .status-live { color:#6ee7b7;background:rgba(16,185,129,.14); }:root[data-theme="dark"] .status-progress { color:#c4b5fd;background:rgba(139,92,246,.16); }:root[data-theme="dark"] .status-due { color:#fdba74;background:rgba(249,115,22,.13); }
.service-demo--command>strong { display:block;margin-bottom:.5rem;font-size:.72rem; }
.service-demo--command>p { margin:0 0 1.2rem;color:var(--theme-text-secondary);font-size:.66rem;line-height:1.5; }
.demo-command { min-height:3rem;display:flex;align-items:center;padding:.8rem;border:1px solid color-mix(in srgb,var(--rue-purple) 42%,var(--theme-border));border-radius:.65rem;background:var(--theme-elevated); }
.demo-command i { width:1px;height:1rem;margin-left:.15rem;background:var(--rue-purple);animation:typing-cursor .75s step-end infinite; }
.demo-command__flow { display:flex;justify-content:space-between;gap:.4rem;align-items:center;margin-top:1rem;color:var(--theme-text-muted);font:500 .48rem/1 var(--rs-font-mono,monospace); }
.demo-command__flow i { color:var(--rue-purple);font-style:normal; }
.demo-run,.demo-activity { display:flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--theme-text-secondary);font:500 .52rem/1 var(--rs-font-mono,monospace); }
.demo-run i,.demo-activity i { width:.4rem;height:.4rem;border-radius:50%;background:var(--rue-purple);box-shadow:0 0 .8rem var(--rue-purple); }
.demo-run.is-running i { animation:run-pulse .8s ease infinite alternate; }
.demo-tabs { display:flex;gap:.4rem;margin-bottom:1rem; }
.demo-tabs button { padding:.45rem .75rem;border:0;border-radius:999px;color:var(--theme-text-muted);background:transparent;font-size:.58rem;cursor:default;transition:color .35s,background .35s,transform .35s var(--ease); }
.demo-tabs button.is-active { color:var(--rue-purple);background:color-mix(in srgb,var(--rue-purple) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rue-purple) 35%,transparent); }
.demo-record { display:grid;grid-template-columns:1fr .8fr auto;gap:1rem;align-items:center;margin:.4rem 0;padding:.75rem;border:1px solid var(--theme-border);border-radius:.6rem;background:var(--theme-elevated); }
.demo-record span { color:var(--theme-text-secondary); }.demo-record b { padding:.3rem .5rem;border-radius:999px;color:#0a7657;background:#d5faec;font:600 .48rem/1 var(--rs-font-mono,monospace);transition:transform .35s,opacity .25s; }
:root[data-theme="dark"] .demo-record b { color:#6ee7b7;background:rgba(16,185,129,.14); }
.demo-record.is-syncing b { opacity:.25;transform:scale(.8); }.demo-record.is-synced b { animation:record-sync .65s var(--ease); }
.demo-build__top,.demo-calendar__head { display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem; }
.demo-build__top b { color:var(--rue-purple);font:600 .62rem/1 var(--rs-font-mono,monospace);font-variant-numeric:tabular-nums; }
.demo-build__bar { height:.35rem;overflow:hidden;border-radius:1rem;background:var(--theme-subtle); }.demo-build__bar i { display:block;width:24%;height:100%;border-radius:inherit;background:var(--rue-purple);box-shadow:0 0 1rem var(--theme-glow);transition:width 1s var(--ease); }
.demo-build__steps { display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin:1rem 0;color:var(--theme-text-muted);font:500 .48rem/1 var(--rs-font-mono,monospace); }.demo-build__steps span { padding-top:.6rem;border-top:1px solid var(--theme-border); }.demo-build__steps span.is-done { color:var(--rue-purple);border-color:var(--rue-purple); }
.demo-browser { display:flex;gap:.3rem;align-content:start;flex-wrap:wrap;height:9rem;padding:.75rem;border:1px solid var(--theme-border);border-radius:.65rem;background:var(--theme-elevated); }.demo-browser>i { width:.35rem;height:.35rem;border-radius:50%;background:var(--theme-border); }.demo-browser>div { width:100%;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:2.6rem 3rem;gap:.5rem;margin-top:.3rem; }.demo-browser span { border-radius:.35rem;background:var(--theme-subtle); }.demo-browser span:first-child { grid-column:1/-1;background:linear-gradient(90deg,var(--theme-subtle),color-mix(in srgb,var(--rue-purple) 13%,var(--theme-subtle))); }
.demo-calendar__head span { color:var(--theme-text-muted);font:500 .52rem/1 var(--rs-font-mono,monospace); }
.demo-calendar__grid { display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem; }.demo-calendar__grid div { display:grid;gap:1.3rem;padding:.7rem .4rem;border:1px solid var(--theme-border);border-radius:.55rem;color:var(--theme-text-secondary);text-align:center;font-size:.55rem;transition:background .4s,transform .4s var(--ease); }.demo-calendar__grid b { color:var(--theme-text-muted);font:500 .48rem/1 var(--rs-font-mono,monospace); }.demo-calendar__grid div.is-live { color:var(--rue-purple);background:color-mix(in srgb,var(--rue-purple) 10%,var(--theme-elevated));transform:translateY(-.2rem); }
.demo-pipeline { display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-top:1.2rem;color:var(--theme-text-muted);font:500 .45rem/1 var(--rs-font-mono,monospace); }.demo-pipeline i { flex:1;height:1px;overflow:hidden;background:var(--theme-border); }.demo-pipeline i::after { display:block;width:40%;height:100%;content:'';background:var(--rue-purple);animation:pipeline-travel 2s linear infinite; }
@keyframes demo-sheen { 0%,72%{transform:translateX(-120%)} 100%{transform:translateX(120%)} }
@keyframes task-sweep { 0%{opacity:0;transform:translateX(-100%)} 40%{opacity:1} 100%{opacity:0;transform:translateX(100%)} }
@keyframes typing-cursor { 50%{opacity:0} }
@keyframes run-pulse { to{transform:scale(1.5);opacity:.45} }
@keyframes record-sync { 0%{opacity:0;transform:scale(.7)} 45%{opacity:1;transform:scale(1.18)} 100%{transform:scale(1)} }
@keyframes pipeline-travel { from{transform:translateX(-100%)} to{transform:translateX(280%)} }

@media (max-width:1100px) {
  .service-showcase { grid-template-columns:1fr; }
  .service-card--wide { grid-column:auto;grid-template-columns:1fr 1.08fr; }
}
@media (max-width:760px) {
  .service-card,.service-card--wide { min-height:0;grid-template-columns:1fr; }
  .service-card__copy { min-height:0;gap:2.5rem;border-right:0;border-bottom:1px solid var(--theme-border); }
  .service-demo { margin:.8rem; }
  .demo-record { grid-template-columns:1fr auto; }.demo-record span { grid-column:1; }.demo-record b { grid-column:2;grid-row:1/3; }
}
@media (prefers-reduced-motion:reduce) {
  .service-demo::before,.demo-command i,.demo-run i,.demo-pipeline i::after { animation:none!important; }
}

/* Kinetic hero type: the lines periodically align like a system resolving. */
.hero-network-canvas { position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none; }
.hero__title .word-row { overflow:clip; }
.hero__title .word-row > b,.hero__title .word-row > em { position:relative;display:inline-block;will-change:transform; }
.hero__title--consultancy { font-size:clamp(2rem,7.6vw,7.3rem);line-height:.88; }
.hero__title--consultancy .word-row>* { white-space:nowrap; }
.hero__title .word-row:last-child b::after { position:absolute;right:0;bottom:-.06em;left:0;height:.035em;content:'';transform:scaleX(.08);transform-origin:left;background:var(--rue-purple);opacity:.8; }
@media (prefers-reduced-motion:no-preference) {
  .hero__title .word-row:nth-child(1)>* { animation:hero-line-align 7.5s 3.7s var(--ease) infinite; }
  .hero__title .word-row:nth-child(2)>* { animation:hero-line-align 7.5s 3.82s var(--ease) infinite reverse; }
  .hero__title .word-row:nth-child(3)>* { animation:hero-line-resolve 7.5s 3.94s var(--ease) infinite; }
  .hero__title .word-row:last-child b::after { animation:hero-signal 7.5s 3.94s var(--ease) infinite; }
}
@keyframes hero-line-align { 0%,66%,100%{transform:translate3d(0,0,0)} 72%{transform:translate3d(.06em,0,0)} 80%{transform:translate3d(-.018em,0,0)} }
@keyframes hero-line-resolve { 0%,64%,100%{transform:translate3d(0,0,0)} 70%{transform:translate3d(-.075em,0,0)} 78%{transform:translate3d(.016em,0,0)} }
@keyframes hero-signal { 0%,62%,100%{transform:scaleX(.08);opacity:.45} 76%,86%{transform:scaleX(1);opacity:1} }

/* Source-backed five-system pricing. */
.pricing-row__price--dual small:nth-of-type(2) { margin-top:-.9rem;color:var(--rue-purple);line-height:1.35; }
.pricing-row:nth-child(3) .pricing-row__price strong,.pricing-row:nth-child(5) .pricing-row__price strong { font-size:clamp(2rem,3.4vw,3.45rem); }

/* Rue live-footer structure and systems canvas. */
footer.rue-footer { display:block;padding:clamp(4rem,8vw,7rem) var(--pad) 0;border-top:1px solid var(--theme-border);color:var(--theme-text);background:var(--theme-page); }
.rue-footer__grid { display:grid;grid-template-columns:minmax(18rem,1.8fr) repeat(3,minmax(7rem,.65fr));gap:clamp(2.5rem,6vw,6rem);max-width:96rem;margin:0 auto clamp(4rem,7vw,6rem); }
.rue-footer__brand { max-width:31rem; }
.rue-footer__logo { position:relative;width:min(14rem,60vw);height:2.3rem;margin-bottom:1.4rem; }
.footer-logo { position:absolute;inset:0 auto auto 0;width:100%;height:100%;object-fit:contain;object-position:left center; }
.footer-logo--dark { display:none; }
:root[data-theme="dark"] .footer-logo--light { display:none; }
:root[data-theme="dark"] .footer-logo--dark { display:block; }
.rue-footer__tag { max-width:24rem;margin:0;color:var(--theme-text-secondary);font-size:clamp(1rem,1.35vw,1.2rem);font-style:italic;line-height:1.55; }
.rue-footer__cta { margin:1.6rem 0 .7rem;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:500; }
.rue-footer__cta a { color:var(--rue-purple);border-bottom:1px solid currentColor; }
.rue-footer__desc { max-width:29rem;margin:0;color:var(--theme-text-muted);font-size:.8rem;line-height:1.65; }
.rue-footer__grid h2 { margin:0 0 1.4rem;color:var(--theme-text-muted);font:600 .6rem/1 var(--rs-font-mono,monospace);letter-spacing:.12em;text-transform:uppercase; }
.rue-footer__grid nav { display:grid;gap:.82rem; }
.rue-footer__grid nav a { width:max-content;color:var(--theme-text-secondary);font-size:.82rem;transition:color .25s,transform .35s var(--ease); }
.rue-footer__grid nav a:hover { color:var(--rue-purple);transform:translateX(.25rem); }
.rue-footer__system { margin-inline:calc(var(--pad) * -1);border-top:1px solid var(--theme-border);background:var(--theme-raised); }
footer.rue-footer>.rue-footer__system { display:block;font-size:inherit; }
.rue-footer__canvas { position:relative;height:clamp(8rem,13vw,11rem);overflow:hidden;background:radial-gradient(circle at 50% 100%,var(--theme-glow),transparent 58%); }
#ft-canvas { display:block;width:100%;height:100%; }
.rue-footer__bar { display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem var(--pad);border-top:1px solid var(--theme-border); }
.rue-footer__bar-left { display:flex;align-items:center;gap:1rem; }
.rue-footer__bar-left>strong { font-size:.76rem; }
.rue-footer__bar-left>span,.rue-footer__bar>p { margin:0;color:var(--theme-text-muted);font-size:.68rem; }
.footer-load { display:flex;align-items:center;gap:.55rem;margin-left:.7rem;color:var(--theme-text-muted);font:500 .58rem/1 var(--rs-font-mono,monospace); }
.footer-load>i { width:7rem;height:2px;overflow:hidden;background:var(--theme-border); }
.footer-load>i>b { display:block;width:0;height:100%;background:var(--rue-purple);box-shadow:0 0 .7rem var(--rue-purple);transition:width .25s linear; }
#ft-pct { min-width:2.2rem;color:var(--rue-purple);font-variant-numeric:tabular-nums; }

@media (max-width:900px) {
  .rue-footer__grid { grid-template-columns:1.5fr repeat(3,1fr);gap:2rem; }
  .footer-load { display:none; }
}
@media (max-width:700px) {
  footer.rue-footer { padding-top:4rem; }
  .rue-footer__grid { grid-template-columns:1fr 1fr; }
  .rue-footer__brand { grid-column:1/-1;margin-bottom:1rem; }
  .rue-footer__grid>div:last-child { grid-column:2;grid-row:2; }
  .rue-footer__bar { align-items:flex-start;flex-direction:column;gap:.55rem; }
  .rue-footer__bar-left { flex-wrap:wrap; }
}
@media (max-width:430px) {
  .rue-footer__grid { grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem; }
  .rue-footer__grid>div:last-child { grid-column:auto;grid-row:auto; }
  .rue-footer__bar-left>span { display:none; }
}

/* Hero focus pass: one thesis, one action area, one atmospheric visual. */
.hero { display:grid;min-height:100dvh;padding:0 var(--pad);place-items:center; }
.hero::before { z-index:0;opacity:.12; }
.hero-network-canvas { opacity:1;mask-image:none; }
.hero-focus { --postit-bg:#493a6e;--postit-text:#f5f2ff;--postit-shadow:0 3px 10px rgba(0,0,0,.26),0 1px 0 rgba(255,255,255,.05) inset; }
:root[data-theme="light"] .hero-focus { --postit-bg:#fdecc4;--postit-text:#2b1b45;--postit-shadow:0 3px 8px rgba(88,58,20,.13),0 1px 0 rgba(255,255,255,.6) inset; }
.hero-focus .hero__title .hl-phrase { display:inline-block;padding:.06em .24em;margin:0 .04em;border-radius:7px;color:var(--postit-text);background:var(--postit-bg);box-shadow:var(--postit-shadow);font-weight:500;white-space:nowrap;box-decoration-break:clone;-webkit-box-decoration-break:clone; }
.hero-focus { position:relative;z-index:3;width:100%;max-width:96rem;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8rem 0 3.5rem; }
.hero-focus::before { position:absolute;z-index:-1;inset:18% 10% 22%;content:'';border-radius:50%;background:radial-gradient(circle, var(--theme-page) 0 34%, color-mix(in srgb,var(--theme-page) 58%,transparent) 58%, transparent 76%);filter:blur(18px);opacity:.82; }
.hero-focus .hero__eyebrow { width:min(52rem,100%);margin:0 auto clamp(2.5rem,6vh,4.5rem); }
.hero-focus .hero__title { width:100%;max-width:82rem;margin:0 auto;text-align:center;font-size:clamp(1.8rem,7.6vw,7.3rem);line-height:.88; }
.hero-focus .hero__title b { color:var(--theme-text);text-shadow:0 .08em 1.1rem var(--theme-page),0 0 2.5rem var(--theme-page); }
.hero-focus .word-row em { color:var(--rue-lavender); }
.hero-focus .hero__title--consultancy .word-row,.hero-focus .word-row--shift { justify-content:center;padding:0; }
.hero-focus .hero__title--consultancy .word-row:nth-child(2) { padding-left:0; }
.hero-focus .hero__lower { width:min(48rem,100%);display:flex;flex-direction:column;align-items:center;margin-top:clamp(2rem,5vh,3.75rem); }
.hero-focus .hero__pitch { display:grid;justify-items:center;margin-left:0; }
.hero-focus .hero__lower p { max-width:44rem;text-align:center;color:var(--theme-text-secondary);font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.62; }
.hero-focus .hero__actions { justify-content:center;margin-top:1.7rem; }
.hero-focus .hero__availability { display:flex;gap:1.2rem;justify-items:center;margin-top:2rem;padding:.9rem 1.2rem 0;border-top:1px solid var(--theme-border);color:var(--theme-text-muted); }
.hero-focus .hero__availability span,.hero-focus .hero__availability small { font:500 .58rem/1 var(--rs-font-mono,monospace);letter-spacing:.03em; }
.operations-preview { padding:clamp(1.5rem,4vw,4rem) var(--pad) clamp(4rem,8vw,8rem);border-top:1px solid var(--theme-border);background:var(--theme-raised); }
.operations-preview .system-field { max-width:96rem;margin:0 auto; }

@media (max-width:760px) {
  .hero-focus { min-height:100svh;padding:7rem 0 2.5rem; }
  .hero-focus .hero__eyebrow { display:flex;justify-content:center;margin-bottom:2.5rem;text-align:center; }
  .hero-focus .hero__eyebrow span:first-child { display:block; }
  .hero-focus .hero__eyebrow span:last-child { display:none; }
  .hero-focus .hero__title { font-size:clamp(1.8rem,7.6vw,2.6rem);line-height:.96;letter-spacing:-.055em; }
  .hero-focus .hero__title--consultancy .word-row>* { white-space:nowrap; }
  .hero-focus .hero__lower { margin-top:2.25rem; }
  .hero-focus .hero__actions { width:100%; }
  .hero-focus .action-link { flex:1;min-width:9.5rem;gap:1rem; }
  .hero-focus .hero__availability { margin-top:1.5rem; }
  .operations-preview { padding-inline:1rem; }
  .operations-preview .system-field { margin-top:0; }
}

/* Responsive polish ------------------------------------------------------ */
.diagnostic { overflow:visible; }
.diagnostic__layout { overflow:visible; }
.diagnostic-orb { top:6.5rem;min-height:calc(100vh - 7rem); }
#operations-core-root { width:min(51rem,50vw);height:min(51rem,50vw);transform:perspective(1000px) rotateX(calc(var(--orb-y,0) * 1deg)) rotateY(calc(var(--orb-x,0) * 1deg)) translate3d(calc(var(--orb-drift-x,0) * 1px),calc(var(--orb-drift-y,0) * 1px),0);transition:transform .75s var(--ease); }
#operations-core-root canvas { transform:none;transform-origin:50% 50%; }
.action-link,.pricing-row__price a { min-height:2.75rem; }

@media (max-width:900px) {
  #operations-core-root { width:min(42rem,86vw);height:min(42rem,86vw); }
  .diagnostic-orb { position:sticky;top:5.75rem;min-height:36rem; }
}

@media (max-width:760px) {
  :root { --pad:1.25rem; }
  .section-pad { padding:clamp(4.75rem,15vw,6rem) 1.25rem; }
  .topbar { inset:.65rem 1rem auto;height:4.15rem;padding:0 1rem;gap:.75rem; }
  .brand img { width:7.25rem; }
  .menu-button { gap:.6rem; }
  .menu-panel { padding:7.5rem 1.25rem 2rem; }
  .menu-panel nav a { grid-template-columns:2.5rem 1fr;padding:.6rem 0;font-size:clamp(2.3rem,14vw,4rem); }
  .menu-panel__foot { gap:1rem;flex-wrap:wrap; }

  .hero-focus { padding:6.75rem 0 2.25rem; }
  .hero-focus::before { inset:18% -8% 28%;filter:blur(14px); }
  .hero-focus .hero__title { font-size:clamp(1.72rem,7.6vw,2.55rem); }
  .hero-focus .hero__lower p { max-width:32rem;font-size:.95rem;line-height:1.58; }
  .hero-focus .hero__availability { width:100%;justify-content:center;gap:.75rem 1rem;flex-wrap:wrap;padding-inline:.5rem; }
  .hero-focus .action-link { min-height:3rem; }
  .operations-preview { padding:1rem 1rem 4.5rem; }

  .diagnostic__head { margin-bottom:2rem; }
  .diagnostic__head h2 { font-size:clamp(2.45rem,12.5vw,3.75rem);line-height:.96; }
  .diagnostic-orb { position:relative;top:0;min-height:31rem;margin-inline:-1.25rem; }
  #operations-core-root { width:min(33rem,100%);height:min(33rem,100%); }
  .diagnostic-orb__readout { width:calc(100% - 2.5rem); }
  .diagnostic-item { padding:3.25rem 0; }
  .diagnostic-item h3 { margin:1.4rem 0 .85rem;font-size:clamp(2rem,10vw,3rem); }

  .service-showcase { gap:1rem; }
  .service-card,.service-card--wide { border-radius:1rem; }
  .service-card__copy { padding:1.4rem;gap:2rem; }
  .service-card h3 { font-size:clamp(1.65rem,8vw,2.15rem); }
  .service-card__foot { align-items:flex-start;flex-direction:column; }
  .service-card__foot a { display:inline-flex;align-items:center; }
  .service-demo { margin:.65rem;padding:1rem;border-radius:.9rem; }
  .demo-task { gap:.55rem;padding:.72rem .65rem; }
  .demo-task>span { min-width:0;overflow-wrap:anywhere; }
  .demo-command__flow { flex-wrap:wrap;justify-content:flex-start; }
  .demo-record { gap:.6rem; }
  .demo-calendar__grid { gap:.25rem; }
  .demo-calendar__grid div { gap:1rem;padding:.65rem .2rem; }

  .transform-shell { border-radius:1.35rem; }
  .transform-stage { min-height:36rem;border-radius:1rem; }
  .transform-panel { padding:1.25rem; }
  .process-step { gap:1rem; }
  .process-step h3 { font-size:clamp(1.8rem,9vw,2.6rem); }
  .client-voice { min-height:auto;gap:2.5rem; }
  .client-voice blockquote { font-size:clamp(2.35rem,11.5vw,3.65rem); }
  .contact__top { gap:1rem;flex-direction:column; }
  .contact__title { margin:5rem 0 6rem;font-size:clamp(4rem,20vw,6rem); }
  .contact__title em { padding-right:1.5rem; }
  .contact__title i { right:.25rem; }
  .rue-footer__grid nav a { min-height:2rem;display:flex;align-items:center; }
}

@media (max-width:430px) {
  .hero-focus .hero__actions { display:grid;grid-template-columns:1fr;width:100%; }
  .hero-focus .action-link { width:100%;min-width:0; }
  .hero-focus .hero__availability small { display:none; }
  .pricing-row__price { grid-template-columns:1fr;gap:.8rem; }
  .pricing-row__price a { grid-column:1;grid-row:auto;width:max-content; }
  .rue-footer__grid { grid-template-columns:1fr; }
  .rue-footer__grid>div:last-child { grid-column:auto; }
}

@media (hover:none) {
  .service-card:hover,.outcome:hover,.action-link:hover { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  #operations-core-root,#operations-core-root canvas { transform:none; }
}

/* Rue typography alignment ---------------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  letter-spacing: var(--rs-tracking-normal, -.01em);
}

.hero-focus .hero__title {
  max-width: 58rem;
  font-size: clamp(2.75rem, 5.5vw, 6.1rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.05em;
}

.hero-focus .hero__title b,
.hero-focus .hero__title .hl-phrase {
  font-weight: 800;
}

.hero-focus .hero__title .hl-phrase {
  padding: .03em .18em .05em;
  letter-spacing: -.045em;
}

.word-row em,
.transformation__copy h2 em,
.outcomes__heading .serif-line,
.about-preview__main .serif-line,
.contact__title em {
  font-family: var(--rs-font-sans, 'Figtree', sans-serif);
  font-weight: 700;
}

.hero-focus .hero__lower p,
.service-card__copy p,
.pricing-row>p,
.diagnostic-item p,
.process-step p,
.inquiry-item p,
.rue-footer__desc {
  letter-spacing: -.01em;
}

.services__intro h2,
.diagnostic__head h2,
.pricing__head h2,
.outcomes__heading h2,
.about-preview__main h2,
.inquiry-guide__intro h2,
.client-voice blockquote,
.contact__title {
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.service-card h3,
.pricing-row h3,
.diagnostic-item h3,
.process-step h3,
.outcome h3,
.inquiry-item h3 {
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.03em;
}

@media (max-width: 760px) {
  .hero-focus .hero__title {
    max-width: 22rem;
    font-size: clamp(2.35rem, 11.2vw, 3.15rem);
    line-height: 1.06;
    letter-spacing: -.045em;
  }

  .hero-focus .hero__title--consultancy .word-row>* {
    white-space: normal;
  }

  .hero-focus .hero__title .hl-phrase {
    margin-block: .04em;
  }
}

/* Transformation diagram cleanup ---------------------------------------- */
.transform-panel--before {
  display: block;
}

.before-map {
  position: relative;
  width: min(44rem, 100%);
  height: min(28rem, 70vw);
  min-height: 25rem;
  margin: 0 auto;
}

.before-map__routes {
  position: absolute;
  inset: 1rem 0 4rem;
  width: 100%;
  height: calc(100% - 5rem);
  overflow: visible;
}

.before-map__routes path {
  fill: none;
  stroke: rgba(196, 181, 253, .36);
  stroke-width: 1.15;
  stroke-dasharray: 6 8;
  vector-effect: non-scaling-stroke;
}

.before-map__hub {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 48%;
  display: grid;
  width: 5.4rem;
  aspect-ratio: 1;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(196, 181, 253, .2);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 92, 246, .22), rgba(19, 13, 36, .76) 68%);
  box-shadow: 0 0 2.6rem rgba(139, 92, 246, .16), inset 0 1px rgba(255, 255, 255, .07);
}

.before-map__hub span {
  color: var(--rue-lavender);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.before-map__hub b {
  margin-top: -.9rem;
  color: #8f82a7;
  font: 600 .5rem/1 var(--rs-font-mono, monospace);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.before-node {
  position: absolute;
  z-index: 3;
  width: min(13.25rem, 34%);
  padding: .9rem 1rem;
  border: 1px solid rgba(196, 181, 253, .17);
  border-radius: .75rem;
  background: linear-gradient(180deg, rgba(53, 24, 74, .9), rgba(35, 16, 51, .84));
  box-shadow: .35rem .35rem 0 rgba(139, 92, 246, .08), inset 0 1px rgba(255, 255, 255, .055);
}

.before-node small,
.before-node span {
  display: block;
  color: #8f82a7;
  font: 500 .54rem/1.25 var(--rs-font-mono, monospace);
  letter-spacing: .04em;
}

.before-node strong {
  display: block;
  margin: .72rem 0 .28rem;
  color: #f0eeff;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.before-node--inquiry { top: 8%; left: 0; }
.before-node--email { top: 12%; right: 0; }
.before-node--owner { top: 42%; left: 8%; }
.before-node--follow { top: 52%; right: 5%; }
.before-node--sheet { bottom: 14%; left: 14%; }

.before-map__note {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 auto;
  max-width: 29rem;
  padding: .85rem 1rem 0;
  border-top: 1px solid rgba(196, 181, 253, .16);
  color: #9b8ebd;
  font-size: .76rem;
  line-height: 1.45;
  text-align: center;
}

@media (prefers-reduced-motion:no-preference) {
  .before-map__routes path {
    animation: before-route-drift 12s linear infinite;
  }

  .before-node {
    animation: before-node-settle 7s var(--ease) infinite alternate;
  }

  .before-node--email,
  .before-node--sheet {
    animation-delay: -2s;
  }

  .before-node--owner,
  .before-node--follow {
    animation-delay: -4s;
  }
}

@keyframes before-route-drift {
  to { stroke-dashoffset: -90; }
}

@keyframes before-node-settle {
  to { transform: translateY(-.18rem); }
}

@media (max-width: 900px) {
  .before-map {
    width: 100%;
    height: 30rem;
  }
}

@media (max-width: 760px) {
  .transform-stage {
    min-height: 42rem;
  }

  .transform-panel--before {
    overflow-y: auto;
  }

  .before-map {
    display: grid;
    height: auto;
    min-height: 0;
    gap: .65rem;
    padding: .4rem 0 0;
  }

  .before-map__routes,
  .before-map__hub {
    display: none;
  }

  .before-node {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: .2rem .8rem;
    padding: .85rem .9rem;
    transform: none !important;
    animation: none !important;
  }

  .before-node small {
    grid-row: 1 / 3;
    align-self: start;
    padding-top: .08rem;
  }

  .before-node strong {
    margin: 0;
  }

  .before-map__note {
    position: relative;
    max-width: none;
    margin-top: .5rem;
    text-align: left;
  }
}

/* Polished constellation loader -------------------------------------- */
.intro {
  position: fixed;
  z-index: 900;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(1rem, 4vw, 3rem);
  color: #f7f2ff;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(139, 92, 246, .1), transparent 42%),
    #000;
  transition: transform .95s var(--ease), opacity .95s var(--ease), filter .95s var(--ease);
}

.intro::before {
  position: absolute;
  inset: -2rem;
  content: '';
  opacity: .045;
  background-image:
    linear-gradient(rgba(196, 181, 253, .065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196, 181, 253, .065) 1px, transparent 1px);
  background-size: clamp(3.2rem, 7vw, 5.4rem) clamp(3.2rem, 7vw, 5.4rem);
  mask-image: radial-gradient(ellipse at 50% 50%, black 0 38%, transparent 76%);
}

.intro::after {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .85), transparent 22% 78%, rgba(0, 0, 0, .85)),
    radial-gradient(ellipse at 50% 50%, transparent 0 48%, rgba(0, 0, 0, .72) 82%);
}

.intro.is-gone {
  opacity: 0;
  transform: translateY(-5%) scale(1.025);
  filter: blur(12px);
  pointer-events: none;
}

.intro-constellation {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 1;
}

.intro-mark {
  position: relative;
  z-index: 3;
  display: grid;
  justify-items: center;
  gap: 1.05rem;
  width: min(30rem, 72vw);
  padding: clamp(1.2rem, 4vw, 2rem);
  animation: intro-mark-arrive 1.25s .2s var(--ease) both;
}

.intro-mark::before {
  position: absolute;
  inset: 50% auto auto 50%;
  width: min(25rem, 70vw);
  aspect-ratio: 1;
  content: '';
  border: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 0, 0, .34), rgba(0, 0, 0, .08) 42%, transparent 70%);
  box-shadow: 0 0 3.5rem rgba(0, 0, 0, .38);
  transform: translate(-50%, -50%) scale(.72);
  animation: intro-orbit-arrive 1.7s .34s var(--ease) forwards;
}

.intro-mark__logo {
  position: relative;
  z-index: 1;
  width: min(18rem, 58vw);
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 1.3rem 3rem rgba(0, 0, 0, .28));
}

.intro-mark__rule {
  position: relative;
  z-index: 1;
  width: min(14rem, 44vw);
  height: 1px;
  overflow: hidden;
  background: rgba(196, 181, 253, .18);
}

.intro-mark__rule::before {
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  background: linear-gradient(90deg, transparent, #c4b5fd, transparent);
  transform: translateX(-110%);
  animation: intro-rule-pass 1.45s .75s var(--ease) forwards;
}

.intro-mark small,
.intro__status {
  position: relative;
  z-index: 3;
  color: rgba(232, 222, 255, .7);
  font: 600 .62rem/1 var(--rs-font-mono, monospace);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.intro__status {
  position: absolute;
  left: clamp(1.1rem, 4vw, 3rem);
  right: clamp(1.1rem, 4vw, 3rem);
  bottom: clamp(1.15rem, 4vw, 2.5rem);
  display: flex;
  justify-content: space-between;
  width: auto;
  max-width: none;
  padding: .85rem 0 0;
  border-top: 1px solid rgba(196, 181, 253, .14);
  animation: intro-status-arrive .9s 1.05s var(--ease) both;
}

.intro__status b {
  color: rgba(247, 242, 255, .9);
  font-weight: 600;
}

.logo-assembly,
.intro-system,
.intro-core,
.intro-routes,
.intro-module,
.intro-packet {
  display: none !important;
}

html[data-theme] .intro {
  color: #f7f2ff;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(139, 92, 246, .1), transparent 42%),
    #000;
}

html[data-theme] .intro__status {
  color: rgba(232, 222, 255, .7);
  border-color: rgba(196, 181, 253, .14);
}

@keyframes intro-mark-arrive {
  from { opacity: 0; transform: translateY(.8rem) scale(.96); filter: blur(10px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes intro-orbit-arrive {
  to { transform: translate(-50%, -50%) scale(1); }
}

@keyframes intro-rule-pass {
  to { transform: translateX(110%); }
}

@keyframes intro-status-arrive {
  from { opacity: 0; transform: translateY(.8rem); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .intro {
    padding: 1rem;
  }

  .intro::before {
    opacity: .035;
    background-size: 3rem 3rem;
    mask-image: radial-gradient(ellipse at 50% 46%, black 0 48%, transparent 82%);
  }

  .intro-mark {
    width: min(22rem, 86vw);
    gap: .85rem;
  }

  .intro-mark::before {
    width: min(18rem, 78vw);
  }

  .intro-mark__logo {
    width: min(13.5rem, 66vw);
  }

  .intro__status {
    align-items: center;
    bottom: max(1.75rem, env(safe-area-inset-bottom));
    gap: .55rem;
    text-align: center;
    flex-direction: column;
    font-size: .56rem;
  }
}

/* Final cascade: the WebGL mount belongs to the full-screen journey now. */
.operations-preview,.diagnostic-orb { display:none; }
.diagnostic__layout { display:block; }
.orb-journey__visual {
  left:50%;
  width:100vw;
  min-width:100vw;
}
.orb-journey #operations-core-root {
  position:absolute;
  top:50%;
  left:50%;
  width:100vw;
  height:max(130svh,44rem);
  min-width:100vw;
  min-height:44rem;
  transform:translate3d(-50%,-50%,0);
  transition:none;
  cursor:crosshair;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
@media (max-width:760px) {
  .orb-journey #operations-core-root {
    top:45%;
    width:100vw;
    height:max(118svh,34rem);
    min-width:100vw;
    min-height:34rem;
    transform:translate3d(-50%,-50%,0);
  }
}
@media (prefers-reduced-motion:reduce) {
  .orb-journey__visual {
    position:relative;
    width:100vw;
    height:min(40rem,120vw);
  }
  .orb-journey #operations-core-root {
    position:absolute;
    top:50%;
    left:50%;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    transform:translate3d(-50%,-50%,0);
  }
}

/* Scroll-led operations narrative -------------------------------------- */
.diagnostic {
  padding-block:clamp(6rem,9vw,9rem);
  background-position:calc(18% + var(--section-progress,0) * 8%) 30%;
}
.diagnostic__head {
  margin-bottom:clamp(3.5rem,6vw,6rem);
}
.diagnostic__layout {
  display:grid;
  grid-template-columns:minmax(22rem,.9fr) minmax(30rem,1.1fr);
  gap:clamp(3rem,7vw,7rem);
  align-items:start;
}
.diagnostic-console {
  position:sticky;
  top:clamp(6.5rem,11vh,8.5rem);
  overflow:hidden;
  min-height:34rem;
  border:1px solid var(--theme-border);
  border-radius:1.35rem;
  color:var(--theme-text);
  background:linear-gradient(145deg,var(--theme-elevated),var(--theme-raised));
  box-shadow:0 2rem 5rem var(--theme-shadow),inset 0 1px rgba(255,255,255,.06);
}
html[data-theme="light"] .diagnostic-console {
  --theme-text:#f2effa;
  --theme-text-muted:#9c91ae;
  --theme-border:rgba(196,181,253,.16);
  --theme-elevated:#1c102b;
  --theme-raised:#12091e;
  --theme-grid:rgba(196,181,253,.08);
  --theme-glow:rgba(139,92,246,.16);
  --theme-shadow:rgba(31,12,46,.22);
}
.diagnostic-console::before {
  position:absolute;
  inset:0;
  content:'';
  pointer-events:none;
  opacity:.5;
  background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px);
  background-size:3.5rem 3.5rem;
  mask-image:linear-gradient(to bottom,black,transparent 86%);
}
.diagnostic-console::after {
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  left:0;
  height:28%;
  content:'';
  transform:translateY(calc(var(--section-progress,0) * 220%));
  background:linear-gradient(180deg,transparent,var(--theme-glow),transparent);
  opacity:.65;
}
.diagnostic-console__top,
.diagnostic-console__summary,
.diagnostic-signals,
.diagnostic-console__foot { position:relative;z-index:1; }
.diagnostic-console__top {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1.1rem 1.25rem;
  border-bottom:1px solid var(--theme-border);
  color:var(--theme-text-muted);
  font:600 .56rem/1 var(--rs-font-mono,monospace);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.diagnostic-console__top b { display:flex;align-items:center;gap:.5rem;color:var(--rue-lavender);font-weight:500; }
.diagnostic-console__top i { width:.4rem;aspect-ratio:1;border-radius:50%;background:#55a76a;box-shadow:0 0 0 .25rem rgba(85,167,106,.12); }
.diagnostic-console__summary { padding:clamp(2rem,4vw,3.5rem) clamp(1.4rem,3vw,2.5rem) 2rem; }
.diagnostic-console__summary span,.diagnostic-console__summary small { display:block;color:var(--theme-text-muted);font:500 .58rem/1.4 var(--rs-font-mono,monospace);letter-spacing:.04em;text-transform:uppercase; }
.diagnostic-console__summary strong { display:block;max-width:24rem;margin:1.1rem 0 1.35rem;font-size:clamp(1.8rem,3vw,3.1rem);font-weight:500;line-height:.98;letter-spacing:-.055em; }
.diagnostic-console__summary small { max-width:24rem;text-transform:none;line-height:1.65; }
.diagnostic-signals { margin:0 1.25rem;border-top:1px solid var(--theme-border); }
.diagnostic-signal {
  display:grid;
  grid-template-columns:1.8rem minmax(6.5rem,.8fr) 1fr auto;
  gap:.8rem;
  align-items:center;
  min-height:3.4rem;
  border-bottom:1px solid var(--theme-border);
  color:var(--theme-text-muted);
  font:500 .57rem/1 var(--rs-font-mono,monospace);
  transition:color .45s var(--ease),padding .5s var(--ease),background .45s var(--ease);
}
.diagnostic-signal>b { font-family:var(--rs-font-sans,'Figtree',sans-serif);font-size:.72rem;font-weight:600; }
.diagnostic-signal>i { height:2px;overflow:hidden;background:var(--theme-border); }
.diagnostic-signal>i em { display:block;width:var(--signal);height:100%;transform:scaleX(.18);transform-origin:left;background:var(--rue-purple);transition:transform .8s var(--ease); }
.diagnostic-signal.is-active { padding-inline:.65rem;color:var(--theme-text);background:var(--theme-glow); }
.diagnostic-signal.is-active>i em { transform:scaleX(1);box-shadow:0 0 1rem var(--rue-purple); }
.diagnostic-console__foot { display:grid;grid-template-columns:auto 1fr;gap:1rem;margin:1.25rem;padding-top:1.15rem;border-top:1px solid var(--theme-border);font:600 .58rem/1.2 var(--rs-font-mono,monospace);text-transform:uppercase; }
.diagnostic-console__foot span { color:var(--theme-text-muted); }
.diagnostic-console__foot b { color:var(--rue-purple);font-weight:600;text-align:right; }
.diagnostic-list { border-top:1px solid var(--theme-border); }
.diagnostic-item {
  position:relative;
  min-height:0;
  padding:clamp(2.25rem,4vw,3.25rem) 1rem clamp(2.25rem,4vw,3.25rem) 0;
  opacity:.38;
}
.diagnostic-item::before { position:absolute;top:-1px;bottom:-1px;left:-1.25rem;width:2px;content:'';transform:scaleY(0);transform-origin:top;background:var(--rue-purple);transition:transform .65s var(--ease); }
.diagnostic-item.is-active { transform:translateX(.75rem);opacity:1; }
.diagnostic-item.is-active::before { transform:scaleY(1); }
.diagnostic-item h3 { margin:1.15rem 0 .8rem;font-size:clamp(2rem,3.4vw,3.65rem); }
.diagnostic-item p { margin-bottom:1.2rem;font-size:clamp(.95rem,1.15vw,1.08rem); }

.transformation {
  position:relative;
  min-height:175vh;
  align-items:start;
  background-position:calc(84% - var(--section-progress,0) * 8%) 40%;
}
.transformation__copy,
.transform-shell { position:sticky;top:clamp(7rem,13vh,9rem); }
.transformation__copy h2 { font-size:clamp(3rem,5.3vw,5.9rem); }
.transform-shell { overflow:hidden; }
.transform-shell::after {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:5;
  height:2px;
  content:'';
  transform:scaleX(var(--section-progress,0));
  transform-origin:left;
  background:var(--rue-purple);
  box-shadow:0 0 1rem var(--rue-purple);
}
.transform-stage { min-height:38rem;background:radial-gradient(circle at 78% 20%,rgba(139,92,246,.18),transparent 26%),#150c24; }
.transform-panel { inset:3.65rem 0 0;display:block;padding:clamp(1.2rem,2.4vw,2rem); }
.before-map,
.transform-panel--after>.flow-node,
.transform-panel--after>.flow-arrow,
.transform-panel--after>.flow-summary { display:none!important; }
.workflow-ledger { width:100%;max-width:52rem;margin:0 auto;color:#f2effa; }
.ledger-ticket {
  display:grid;
  grid-template-columns:1fr auto;
  gap:.65rem 1rem;
  align-items:center;
  padding:1rem 1.05rem;
  border:1px solid rgba(196,181,253,.16);
  border-radius:.7rem;
  background:rgba(255,255,255,.035);
}
.ledger-ticket span,.ledger-ticket small,.ledger-ticket em { color:#9c91ae;font:500 .54rem/1.2 var(--rs-font-mono,monospace);letter-spacing:.04em; }
.ledger-ticket b { font-size:.9rem;font-weight:650; }
.ledger-ticket small { grid-column:1; }
.ledger-ticket em { grid-column:2;grid-row:1/3;padding:.45rem .65rem;border:1px solid rgba(196,181,253,.18);border-radius:999px;font-style:normal;text-transform:uppercase; }
.workflow-ledger--after .ledger-ticket em { color:#95e4b0;border-color:rgba(85,167,106,.32);background:rgba(85,167,106,.08); }
.ledger-route { position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:1.35rem 0; }
.ledger-route::before { position:absolute;top:1.05rem;right:10%;left:10%;height:1px;content:'';background:rgba(196,181,253,.16); }
.ledger-route::after { position:absolute;top:1.05rem;left:10%;width:80%;height:1px;content:'';transform:scaleX(0);transform-origin:left;background:var(--rue-lavender);box-shadow:0 0 .9rem rgba(139,92,246,.8); }
.transform-stage.is-after .ledger-route::after { animation:ledger-trace 1.25s .18s var(--ease) forwards; }
.ledger-route article { position:relative;z-index:1;display:grid;justify-items:center;gap:.5rem;padding-inline:.35rem;text-align:center; }
.ledger-route article>span { display:grid;width:2.15rem;aspect-ratio:1;place-items:center;border:1px solid rgba(196,181,253,.2);border-radius:50%;color:#9c91ae;background:#150c24;font:600 .52rem/1 var(--rs-font-mono,monospace); }
.ledger-route small,.ledger-route b { color:#8f82a7;font:500 .5rem/1.2 var(--rs-font-mono,monospace); }
.ledger-route strong { font-size:.68rem;font-weight:650; }
.ledger-route b { padding:.3rem .42rem;border-radius:999px;background:rgba(255,255,255,.04); }
.workflow-ledger--before .ledger-route article:nth-child(n+2)>span { border-style:dashed; }
.workflow-ledger--before .ledger-route article:nth-child(3) b { color:#ef9ea8;background:rgba(205,80,95,.1); }
.workflow-ledger--after .ledger-route article>span { color:#e4dcff;border-color:rgba(139,92,246,.55);box-shadow:0 0 1rem rgba(139,92,246,.18); }
.ledger-event { display:grid;grid-template-columns:4rem 1fr auto;gap:1rem;align-items:center;min-height:3.45rem;padding:0 .8rem;border-top:1px solid rgba(196,181,253,.11); }
.ledger-event span,.ledger-event small { color:#8f82a7;font:500 .52rem/1.2 var(--rs-font-mono,monospace); }
.ledger-event b { font-size:.7rem;font-weight:600; }
.ledger-event--alert { color:#ffd8dd;background:linear-gradient(90deg,rgba(205,80,95,.11),transparent); }
.ledger-event--resolved { color:#c9f5d7;background:linear-gradient(90deg,rgba(85,167,106,.12),transparent); }
.ledger-result { display:grid;grid-template-columns:auto 1fr;gap:1rem;margin-top:1rem;padding:1rem .8rem 0;border-top:1px solid rgba(196,181,253,.18); }
.ledger-result span { color:#8f82a7;font:500 .52rem/1.3 var(--rs-font-mono,monospace);text-transform:uppercase; }
.ledger-result strong { justify-self:end;max-width:25rem;font-size:clamp(.9rem,1.25vw,1.1rem);font-weight:500;text-align:right; }
@keyframes ledger-trace { to{transform:scaleX(1)} }

.process-step { min-height:clamp(15rem,36vh,25rem);align-content:center; }
.process-step>span { transition:transform .55s var(--ease),color .4s; }
.process-step.is-active>span { transform:translateX(.65rem);color:var(--rue-lavender); }
.outcomes__ticker { transform:translate3d(calc((var(--section-progress,0) - .5) * -5vw),0,0); }

@media (max-width:900px) {
  .diagnostic__layout { grid-template-columns:1fr; }
  .diagnostic-console { position:relative;top:0;min-height:0; }
  .diagnostic-item { opacity:1; }
  .transformation { min-height:auto; }
  .transformation__copy,.transform-shell { position:relative;top:0; }
}

@media (max-width:760px) {
  .diagnostic { padding-block:5rem; }
  .diagnostic-console__summary { padding:2rem 1.25rem 1.5rem; }
  .diagnostic-signal { grid-template-columns:1.5rem minmax(5.5rem,.8fr) 1fr; }
  .diagnostic-signal small { display:none; }
  .diagnostic-item { padding:2.4rem .25rem 2.4rem 0; }
  .diagnostic-item.is-active { transform:none; }
  .transform-stage { min-height:39rem; }
  .transform-panel { overflow:hidden;padding:1rem; }
  .ledger-route { grid-template-columns:repeat(2,1fr);gap:1.2rem 0; }
  .ledger-route::before,.ledger-route::after { display:none; }
  .ledger-event { grid-template-columns:3rem 1fr;gap:.7rem; }
  .ledger-event small { grid-column:2; }
  .ledger-result { grid-template-columns:1fr; }
  .ledger-result strong { justify-self:start;text-align:left; }
  .process-step { min-height:0; }
}

@media (prefers-reduced-motion:reduce) {
  .diagnostic-console::after,.transform-shell::after,.outcomes__ticker { transform:none; }
  .diagnostic-signal>i em,.ledger-route::after { transform:scaleX(1);animation:none!important; }
}

/* Theme-complete interfaces, hero actions, and build-route motion ------- */
.hero-focus .hero__eyebrow {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1rem;
  width:auto;
  margin-bottom:clamp(2rem,4vh,3rem);
  padding:0;
  border:0;
}
.hero__signal {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.48rem .75rem .48rem .5rem;
  border:1px solid color-mix(in srgb,var(--rue-purple) 32%,transparent);
  border-radius:999px;
  color:var(--rue-purple);
  background:color-mix(in srgb,var(--theme-elevated) 82%,transparent);
  font-size:.72rem;
  letter-spacing:-.01em;
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.hero__signal b {
  padding:.28rem .45rem;
  border-radius:.35rem;
  color:white;
  background:var(--rue-purple);
  font:700 .56rem/1 var(--rs-font-sans,'Figtree',sans-serif);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hero-focus .hero__title {
  max-width:68rem;
  font-size:clamp(3.2rem,6.2vw,7rem);
  line-height:1.01;
}
.hero-focus .hero__lower { width:min(56rem,100%); }
.hero-focus .hero__lower p { max-width:50rem;font-size:clamp(1.05rem,1.35vw,1.24rem);line-height:1.58; }
.hero-focus .hero__actions { gap:.75rem;margin-top:2rem; }
.hero-focus .action-link {
  min-width:12.5rem;
  min-height:3.65rem;
  padding:.55rem .55rem .55rem 1.25rem;
  border-radius:.7rem;
  font-size:.94rem;
  font-weight:650;
  letter-spacing:-.02em;
}
.hero-focus .action-link span { width:2.45rem;height:2.45rem;border-radius:.5rem;font-size:1rem; }
.hero-focus .action-link--solid { color:white;border-color:var(--rue-purple);background:var(--rue-purple);box-shadow:0 .8rem 2rem color-mix(in srgb,var(--rue-purple) 23%,transparent); }
.hero-focus .action-link--solid:hover { color:white;background:#7c3aed; }
.hero-focus .hero__availability {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  width:min(35rem,100%);
  gap:0;
  margin-top:2rem;
  padding:1.15rem 0 0;
  border-top:1px solid var(--theme-border);
}
.hero-focus .hero__availability>span { display:grid;gap:.28rem;padding:0 1.15rem;border-right:1px solid var(--theme-border);text-align:center; }
.hero-focus .hero__availability>span:last-child { border-right:0; }
.hero-focus .hero__availability strong { color:var(--rue-purple);font-size:1.15rem;font-weight:700;letter-spacing:-.04em; }
.hero-focus .hero__availability small { color:var(--theme-text-muted);font:500 .62rem/1.3 var(--rs-font-sans,'Figtree',sans-serif); }

.case__visual,
.case--wide .case__visual,
.case__visual--warm,
.case__visual--ink { background:#3a1d51; }
.case--wide .case__visual { background:#624181; }
.case__visual--warm { background:#52256f; }
.case__visual--ink { background:#24112f; }
html[data-theme="light"] .case--wide .case__visual { background:#755195; }
html[data-theme="light"] .case__visual--warm { background:#62317f; }

html[data-theme="light"] .diagnostic-console {
  --theme-text:#21112f;
  --theme-text-muted:#746681;
  --theme-border:rgba(83,47,112,.17);
  --theme-elevated:#fbf9ff;
  --theme-raised:#f0eafb;
  --theme-grid:rgba(109,40,217,.07);
  --theme-glow:rgba(139,92,246,.12);
  --theme-shadow:rgba(74,43,99,.14);
  background:linear-gradient(145deg,#fbf9ff,#eee7fa);
}
html[data-theme="light"] .diagnostic-console__top b,
html[data-theme="light"] .diagnostic-console__foot b { color:#6d28d9; }

html[data-theme="light"] .transform-stage {
  color:#21112f;
  background:radial-gradient(circle at 78% 20%,rgba(139,92,246,.1),transparent 27%),#f6f1fc;
  box-shadow:inset 0 1px rgba(255,255,255,.8);
}
html[data-theme="light"] .transform-stage::before {
  opacity:.55;
  background-image:linear-gradient(rgba(83,47,112,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(83,47,112,.08) 1px,transparent 1px);
}
html[data-theme="light"] .transform-stage__top { color:#746681;border-color:rgba(83,47,112,.13); }
html[data-theme="light"] .workflow-ledger { color:#21112f; }
html[data-theme="light"] .ledger-ticket { border-color:rgba(83,47,112,.17);background:rgba(255,255,255,.66); }
html[data-theme="light"] .ledger-ticket span,
html[data-theme="light"] .ledger-ticket small,
html[data-theme="light"] .ledger-ticket em,
html[data-theme="light"] .ledger-route small,
html[data-theme="light"] .ledger-route b,
html[data-theme="light"] .ledger-event span,
html[data-theme="light"] .ledger-event small,
html[data-theme="light"] .ledger-result span { color:#746681; }
html[data-theme="light"] .ledger-route::before { background:rgba(83,47,112,.18); }
html[data-theme="light"] .ledger-route article>span { color:#5d4d6d;border-color:rgba(83,47,112,.22);background:#f6f1fc; }
html[data-theme="light"] .workflow-ledger--after .ledger-route article>span { color:#5b21b6;border-color:rgba(109,40,217,.42);background:#f6f1fc; }
html[data-theme="light"] .ledger-route b { background:rgba(83,47,112,.06); }
html[data-theme="light"] .ledger-event { border-color:rgba(83,47,112,.12); }
html[data-theme="light"] .ledger-event--alert { color:#8c2f45;background:linear-gradient(90deg,rgba(205,80,95,.1),transparent); }
html[data-theme="light"] .ledger-event--resolved { color:#286b42;background:linear-gradient(90deg,rgba(85,167,106,.11),transparent); }
html[data-theme="light"] .ledger-result { border-color:rgba(83,47,112,.17); }

.process { grid-template-columns:minmax(20rem,.9fr) minmax(34rem,1.6fr); }
.process-console {
  display:block;
  top:clamp(6.5rem,11vh,8rem);
  overflow:hidden;
  gap:0;
  padding:0;
  border:1px solid var(--theme-border);
  border-radius:1.25rem;
  background:var(--theme-elevated);
  box-shadow:0 2rem 5rem var(--theme-shadow),inset 0 1px rgba(255,255,255,.05);
}
.process-console__head {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1.05rem 1.15rem;
  border-bottom:1px solid var(--theme-border);
  color:var(--theme-text-muted);
  font:600 .55rem/1 var(--rs-font-mono,monospace);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.process-console__head b { display:flex;align-items:center;gap:.45rem;color:var(--rue-purple);font-weight:600; }
.process-console__head i { width:.4rem;aspect-ratio:1;border-radius:50%;background:#55a76a;box-shadow:0 0 0 .22rem rgba(85,167,106,.12); }
.process-console__current { position:relative;display:grid;gap:.65rem;padding:2rem 1.4rem 1.65rem;border-bottom:1px solid var(--theme-border); }
.process-console__current>span { color:var(--theme-text-muted);font:500 .55rem/1 var(--rs-font-mono,monospace);letter-spacing:.08em;text-transform:uppercase; }
.process-console__current>strong { max-width:16rem;color:var(--theme-text);font-size:clamp(1.8rem,3vw,3rem);font-weight:700;line-height:1;letter-spacing:-.055em; }
.process-console__current>small { position:absolute;right:1.35rem;bottom:1.8rem;color:var(--theme-text-muted);font:500 .6rem/1 var(--rs-font-mono,monospace); }
.process-console__current>small b { color:var(--rue-purple);font-size:1rem; }
.process-route { position:relative;display:grid;gap:0;padding:1rem 1.25rem; }
.process-route__rail { position:absolute;top:2.7rem;bottom:2.7rem;left:2.45rem;width:1px;background:var(--theme-border); }
.process-route__rail em { display:block;width:100%;height:var(--process-progress);background:var(--rue-purple);box-shadow:0 0 .8rem var(--rue-purple);transition:height .75s var(--ease); }
.process-route__node { position:relative;z-index:1;display:grid;grid-template-columns:2.4rem 1fr;gap:.9rem;align-items:center;min-height:4.25rem;color:var(--theme-text-muted);transition:color .45s var(--ease),transform .55s var(--ease); }
.process-route__node>span { display:grid;width:2.4rem;aspect-ratio:1;place-items:center;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-elevated);font:600 .52rem/1 var(--rs-font-mono,monospace);transition:border .45s,background .45s,box-shadow .45s; }
.process-route__node>div { display:grid;gap:.3rem; }
.process-route__node b { font-size:.78rem;font-weight:650; }
.process-route__node small { font:500 .54rem/1 var(--rs-font-mono,monospace); }
.process-route__node.is-active { transform:translateX(.45rem);color:var(--theme-text); }
.process-route__node.is-active>span { color:white;border-color:var(--rue-purple);background:var(--rue-purple);box-shadow:0 0 1.2rem color-mix(in srgb,var(--rue-purple) 34%,transparent); }
.process-console__foot { display:flex;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--theme-border);color:var(--theme-text-muted);font:500 .55rem/1 var(--rs-font-mono,monospace); }
.process-console__foot i { color:var(--rue-purple);font-style:normal;animation:process-nudge 1.8s var(--ease) infinite; }
.process-step { position:relative;min-height:clamp(18rem,48vh,31rem);padding-inline:clamp(1rem,3vw,2rem);opacity:.28; }
.process-step::after { position:absolute;top:2rem;right:1rem;content:'STAGE';color:transparent;font:600 .52rem/1 var(--rs-font-mono,monospace);letter-spacing:.08em;transition:color .4s; }
.process-step.is-active { padding-left:clamp(1.5rem,4vw,3.25rem);opacity:1;background:linear-gradient(90deg,var(--theme-glow),transparent 70%); }
.process-step.is-active::after { content:'ACTIVE';color:var(--rue-purple); }
.process-step.is-active h3 { color:var(--rue-lavender); }
html[data-theme="light"] .process .section-head p { color:var(--theme-text-secondary); }
html[data-theme="light"] .process-step.is-active h3 { color:#6d28d9; }
html[data-theme="light"] .process-step p { color:#51465d; }
.process-console__current>small { top:2rem;bottom:auto; }
@keyframes process-nudge { 0%,100%{transform:translateY(0)} 50%{transform:translateY(.3rem)} }

@media (max-width:900px) {
  .process { grid-template-columns:1fr; }
  .process-console { position:relative;top:0;grid-column:1; }
  .process-track { grid-column:1; }
  .process-step { min-height:0; }
}

@media (max-width:760px) {
  .hero-focus .hero__eyebrow { margin-bottom:1.6rem; }
  .hero-focus .hero__title { font-size:clamp(2.55rem,12vw,3.55rem); }
  .hero-focus .hero__lower p { font-size:1rem; }
  .hero-focus .hero__actions { grid-template-columns:1fr; }
  .hero-focus .action-link { min-height:3.6rem;font-size:.92rem; }
  .hero-focus .hero__availability { grid-template-columns:repeat(3,1fr);gap:0;padding-inline:0; }
  .hero-focus .hero__availability>span { padding-inline:.45rem; }
  .hero-focus .hero__availability strong { font-size:.96rem; }
  .hero-focus .hero__availability small { display:block;font-size:.54rem; }
  .process-route { grid-template-columns:repeat(4,1fr);padding:1.15rem .8rem; }
  .process-route__rail { top:2.35rem;right:2.1rem;bottom:auto;left:2.1rem;width:auto;height:1px; }
  .process-route__rail em { width:var(--process-progress);height:100%;transition:width .75s var(--ease); }
  .process-route__node { grid-template-columns:1fr;justify-items:center;gap:.45rem;min-height:4.7rem;text-align:center; }
  .process-route__node>div { width:100%;min-width:0;justify-items:center;padding:0 .2rem; }
  .process-route__node b { font-size:.6rem;letter-spacing:-.015em;white-space:nowrap; }
  .process-route__node small { display:none; }
  .process-route__node.is-active { transform:translateY(-.25rem); }
  .process-step::after { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .process-route__rail em { transition:none; }
  .process-console__foot i { animation:none; }
}

/* Section orientation and varied scroll choreography ------------------ */
[data-scroll-scene] { scroll-margin-top:7rem; }

.section-locator {
  position:fixed;
  z-index:70;
  right:clamp(.7rem,1.4vw,1.35rem);
  bottom:clamp(.7rem,1.4vw,1.35rem);
  display:grid;
  width:13rem;
  gap:.5rem;
  padding:.7rem .75rem .6rem;
  border:1px solid var(--theme-border);
  border-radius:.85rem;
  background:color-mix(in srgb,var(--theme-elevated) 84%,transparent);
  box-shadow:0 1rem 2.5rem var(--theme-shadow),inset 0 1px rgba(255,255,255,.07);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
}
.section-locator__current { display:grid;gap:.65rem;padding:.1rem .15rem .55rem;border-bottom:1px solid var(--theme-border); }
.section-locator__current>span { overflow:hidden;color:var(--theme-text);font-size:.72rem;font-weight:650;line-height:1.15;text-overflow:ellipsis;white-space:nowrap; }
.section-locator__current>i { display:block;height:1px;overflow:hidden;background:var(--theme-border); }
.section-locator__current>i b { display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--rue-purple); }
.section-locator nav { display:grid;grid-template-columns:repeat(13,1fr);gap:.22rem; }
.section-locator nav a {
  display:grid;
  align-items:center;
  min-width:0;
  min-height:.9rem;
  color:var(--theme-text-muted);
  text-decoration:none;
  pointer-events:auto;
}
.section-locator nav a>i { display:block;width:100%;height:1px;background:currentColor;transition:transform .22s cubic-bezier(.16,1,.3,1),background-color .22s cubic-bezier(.16,1,.3,1); }
.section-locator nav a>span { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap; }
.section-locator nav a.is-active { color:var(--rue-purple); }
.section-locator nav a.is-active>i { transform:scaleY(3);background:var(--rue-purple); }

@media (hover:hover) and (pointer:fine) {
  .section-locator nav a:hover { color:var(--theme-text); }
  .section-locator nav a:hover>i { transform:scaleY(3); }
}

@media (prefers-reduced-motion:no-preference) {
  .motion-ready .services .service-card.reveal { opacity:0;transform:translate3d(-3.5rem,1.5rem,0) scale(.985);transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1); }
  .motion-ready .services .service-card:nth-child(even).reveal { transform:translate3d(3.5rem,1.5rem,0) scale(.985); }
  .motion-ready .services .service-card.reveal.is-visible { opacity:1;transform:translate3d(0,0,0) scale(1); }

  .motion-ready .work .case.reveal { opacity:0;clip-path:inset(5% 0 8% 0 round 1rem);transform:translate3d(0,3rem,0) scale(.975);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),clip-path .9s cubic-bezier(.16,1,.3,1); }
  .motion-ready .work .case.reveal.is-visible { opacity:1;clip-path:inset(0 0 0 0 round 0);transform:translate3d(0,0,0) scale(1); }
  .motion-ready .work .case-pair .case:nth-child(2) { transition-delay:.12s!important; }

  .motion-ready .outcomes .outcome.reveal { opacity:0;transform:translate3d(0,4rem,0);transition:opacity .58s cubic-bezier(.16,1,.3,1),transform .78s cubic-bezier(.16,1,.3,1),background-color .22s cubic-bezier(.16,1,.3,1); }
  .motion-ready .outcomes .outcome.reveal.is-visible { opacity:1;transform:translate3d(0,0,0); }
  .motion-ready .outcomes .outcome:nth-child(2) { transition-delay:.08s!important; }
  .motion-ready .outcomes .outcome:nth-child(3) { transition-delay:.16s!important; }
  .motion-ready .outcomes .outcome:nth-child(4) { transition-delay:.24s!important; }

  .motion-ready .about-preview__main.reveal { opacity:0;clip-path:inset(0 100% 0 0);transform:translate3d(-2rem,0,0);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1),clip-path .9s cubic-bezier(.16,1,.3,1); }
  .motion-ready .about-preview__main.reveal.is-visible { opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0); }
  .motion-ready .about-preview__detail.reveal,.motion-ready .about-preview__facts.reveal { opacity:0;transform:translate3d(2.5rem,0,0);transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1); }
  .motion-ready .about-preview__detail.reveal.is-visible,.motion-ready .about-preview__facts.reveal.is-visible { opacity:1;transform:translate3d(0,0,0); }
  .motion-ready .about-preview.is-scene-seen .about-preview__main.reveal { opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0); }
  .motion-ready .about-preview.is-scene-seen .about-preview__detail.reveal,
  .motion-ready .about-preview.is-scene-seen .about-preview__facts.reveal { opacity:1;transform:translate3d(0,0,0); }

  .motion-ready .client-voice blockquote.reveal { opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,2rem,0);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),clip-path .95s cubic-bezier(.16,1,.3,1); }
  .motion-ready .client-voice blockquote.reveal.is-visible { opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0); }
  .motion-ready .client-voice.is-scene-seen blockquote.reveal { opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0); }

  .pricing-row { transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1); }
  .pricing-row.reveal.is-visible { opacity:.48; }
  .pricing-row.reveal.is-visible.is-row-active { opacity:1;transform:translate3d(.8rem,0,0);border-color:color-mix(in srgb,var(--rue-purple) 45%,var(--theme-border));background:linear-gradient(90deg,var(--theme-glow),transparent 74%); }

  .inquiry-item { transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1),color .22s cubic-bezier(.16,1,.3,1); }
  .inquiry-item.reveal.is-visible { opacity:.44; }
  .inquiry-item.reveal.is-visible.is-item-active { opacity:1;transform:translate3d(.65rem,0,0); }
  .inquiry-item.is-item-active>span { color:var(--rue-lavender); }

  .motion-ready .contact__title.reveal { opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,3rem,0) scale(.97);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),clip-path .9s cubic-bezier(.16,1,.3,1); }
  .motion-ready .contact__title.reveal.is-visible { opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0) scale(1); }
  .motion-ready .contact.is-scene-seen .contact__title.reveal { opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0) scale(1); }
  .motion-ready .contact__title i { transition:transform .24s cubic-bezier(.16,1,.3,1); }
}

@media (max-width:760px) {
  [data-scroll-scene] { scroll-margin-top:8.5rem; }
  .section-locator {
    top:5.35rem;
    right:.75rem;
    bottom:auto;
    left:.75rem;
    width:auto;
    display:block;
    padding:.62rem .8rem .55rem;
    transform:none;
    border-radius:.65rem;
    transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1);
  }
  .section-locator.is-at-home { opacity:0;transform:translate3d(0,-.5rem,0);pointer-events:none; }
  .section-locator__current { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;padding:0;border:0; }
  .section-locator__current>span { display:block;font-size:.66rem; }
  .section-locator nav { display:none; }
  .motion-ready .services .service-card.reveal,.motion-ready .services .service-card:nth-child(even).reveal { transform:translate3d(0,2rem,0) scale(.99); }
  .motion-ready .services .service-card.reveal.is-visible { transform:translate3d(0,0,0) scale(1); }
  .motion-ready .about-preview__main.reveal,.motion-ready .about-preview__detail.reveal,.motion-ready .about-preview__facts.reveal { transform:translate3d(0,2rem,0); }
  .motion-ready .about-preview__main.reveal.is-visible,.motion-ready .about-preview__detail.reveal.is-visible,.motion-ready .about-preview__facts.reveal.is-visible { transform:translate3d(0,0,0); }
  .pricing-row.reveal.is-visible.is-row-active,.inquiry-item.reveal.is-visible.is-item-active { transform:translate3d(0,0,0); }
}

@media (prefers-reduced-motion:reduce) {
  .section-locator nav a>i,.section-locator nav a>span,.section-locator__current>i b,.pricing-row,.inquiry-item { transition:none; }
  .pricing-row.reveal.is-visible,.inquiry-item.reveal.is-visible { opacity:1; }
}

/* Mobile composition pass: calmer hero scale and a compact, navigable footer. */
@media (max-width:760px) {
  html,
  body {
    max-width:100%;
    overflow-x:clip;
  }

  .hero {
    min-height:auto;
    padding-inline:1.1rem;
  }

  .hero-focus {
    min-height:100dvh;
    justify-content:flex-start;
    padding:7.1rem 0 3rem;
  }

  .hero-focus::before {
    inset:12% -18% 30%;
    opacity:.7;
  }

  .hero-focus .hero__eyebrow {
    margin-bottom:1.75rem;
  }

  .hero__signal {
    max-width:min(100%, 22rem);
    gap:.42rem;
    padding:.38rem .6rem .38rem .4rem;
    font-size:clamp(.58rem,2.45vw,.68rem);
    line-height:1.15;
    white-space:normal;
  }

  .hero__signal b {
    flex:0 0 auto;
    padding:.25rem .38rem;
    font-size:.5rem;
  }

  .hero-focus .hero__title {
    max-width:min(21rem, 100%);
    font-size:clamp(1.9rem,8.85vw,2.42rem);
    line-height:1.04;
    letter-spacing:-.05em;
    text-wrap:balance;
  }

  .hero-focus .hero__title .word-row {
    justify-content:center;
  }

  .hero-focus .hero__title .word-row--build {
    display:block;
    max-width:min(19rem, 100%);
    margin-inline:auto;
    text-wrap:balance;
  }

  .hero-focus .hero__title .word-row--build b,
  .hero-focus .hero__title .word-row--build .hl-phrase {
    display:inline;
  }

  .hero-focus .hero__title .hl-phrase {
    margin:0 .02em;
    padding:.035em .12em .085em;
    border-radius:.24rem;
    font-size:.92em;
    line-height:1.14;
    white-space:normal;
  }

  .hero-focus .hero__lower {
    width:min(22rem,100%);
    margin-top:1.8rem;
  }

  .hero-focus .hero__lower p {
    max-width:21rem;
    font-size:.92rem;
    line-height:1.5;
  }

  .hero-focus .hero__actions {
    width:100%;
    gap:.6rem;
    margin-top:1.35rem;
  }

  .hero-focus .action-link {
    max-width:100%;
    min-height:3.25rem;
    padding:.42rem .42rem .42rem 1rem;
    font-size:.86rem;
  }

  .hero-focus .action-link span {
    width:2.25rem;
    height:2.25rem;
  }

  .hero-focus .hero__availability {
    margin-top:1.4rem;
    padding-top:.9rem;
  }

  footer.rue-footer {
    padding:2.35rem 1rem 0;
  }

  .rue-footer__grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:0 .85rem;
    margin-bottom:1.45rem;
    padding-top:1.15rem;
    border-top:1px solid var(--theme-border);
  }

  .rue-footer__brand {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.9rem 1rem;
    align-items:center;
    margin:0 0 1.1rem;
    padding-bottom:1.05rem;
    border-bottom:1px solid var(--theme-border);
  }

  .rue-footer__logo {
    width:min(9.5rem,48vw);
    height:1.55rem;
    margin:0;
  }

  .rue-footer__tag {
    max-width:12rem;
    margin-left:auto;
    font-size:.76rem;
    line-height:1.35;
    text-align:right;
  }

  .rue-footer__cta {
    grid-column:1 / -1;
    margin:.15rem 0 0;
    font-size:.9rem;
  }

  .rue-footer__desc {
    grid-column:1 / -1;
    max-width:25rem;
    font-size:.66rem;
    line-height:1.45;
  }

  .rue-footer__grid>div:not(.rue-footer__brand) {
    padding:0;
    border-bottom:0;
  }

  .rue-footer__nav-primary {
    grid-column:1 / -1!important;
    grid-row:auto!important;
    padding-bottom:.65rem!important;
  }

  .rue-footer__nav-secondary {
    grid-column:1 / -1!important;
    grid-row:auto!important;
    padding-top:.25rem!important;
    border-top:0!important;
  }

  .rue-footer__nav-social {
    grid-column:1 / -1!important;
    grid-row:auto!important;
    margin-top:.25rem;
    padding-top:.55rem!important;
    border-top:1px solid var(--theme-border)!important;
  }

  .rue-footer__grid h2 {
    margin:0 0 .55rem;
    font-size:.48rem;
    letter-spacing:.16em;
  }

  .rue-footer__grid nav {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.1rem .65rem;
  }

  .rue-footer__nav-secondary nav,
  .rue-footer__nav-social nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.06rem;
  }

  .rue-footer__nav-social nav {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .rue-footer__grid nav a {
    width:auto;
    min-height:2rem;
    padding:.2rem 0;
    font-size:.72rem;
    line-height:1.15;
  }

  .rue-footer__canvas {
    display:none;
  }

  .rue-footer__bar {
    gap:.45rem;
    padding:.85rem 1rem 1rem;
    border-top:0;
  }

  .footer-load {
    display:none;
  }
}

@media (max-width:360px) {
  .hero-focus .hero__title {
    max-width:18.25rem;
    font-size:clamp(1.86rem,9vw,1.98rem);
  }

  .hero-focus .hero__title .word-row--build {
    max-width:17.75rem;
  }

  .hero__signal {
    font-size:.57rem;
  }

  .rue-footer__grid {
    gap:0 .7rem;
  }

  .rue-footer__grid nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rue-footer__nav-secondary nav,
  .rue-footer__nav-social nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rue-footer__nav-social nav {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Compact footer pass: closing signature, not a sitemap. */
footer.rue-footer {
  padding:0 var(--pad);
  border-top:1px solid var(--theme-border);
  color:var(--theme-text);
  background:var(--theme-page);
}

.rue-footer__inner {
  max-width:96rem;
  margin:0 auto;
  padding:clamp(1.25rem,2.7vw,2.1rem) 0 clamp(1rem,2vw,1.45rem);
}

.rue-footer__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(1rem,3vw,2rem);
}

.rue-footer__logo {
  position:relative;
  flex:0 0 auto;
  width:min(12rem,42vw);
  height:1.8rem;
  margin:0;
}

.rue-footer__primary,
.rue-footer__secondary {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem clamp(.8rem,2.1vw,1.45rem);
}

.rue-footer__primary a,
.rue-footer__secondary a {
  color:var(--theme-text-secondary);
  line-height:1.2;
  text-decoration:none;
  transition:color .22s var(--ease),transform .28s var(--ease);
}

.rue-footer__primary a {
  font-size:clamp(.82rem,.95vw,.92rem);
  font-weight:560;
}

.rue-footer__secondary a,
.rue-footer__bottom {
  font-size:.72rem;
}

.rue-footer__primary a:hover,
.rue-footer__secondary a:hover {
  color:var(--rue-purple);
  transform:translateY(-1px);
}

.rue-footer__meta {
  display:flex;
  justify-content:flex-end;
  margin-top:.85rem;
}

.rue-footer__bottom {
  margin:.9rem 0 0;
  color:var(--theme-text-muted);
  line-height:1.4;
}

.rue-footer__bottom span {
  color:var(--theme-text-secondary);
}

@media (max-width:760px) {
  footer.rue-footer {
    padding:0 1rem;
  }

  .rue-footer__inner {
    padding:1.75rem 0 1.45rem;
  }

  .rue-footer__top {
    align-items:flex-start;
    flex-direction:column;
    gap:1.05rem;
  }

  .rue-footer__logo {
    width:min(9.6rem,54vw);
    height:1.5rem;
  }

  .rue-footer__primary,
  .rue-footer__secondary {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:flex-start;
    width:100%;
    gap:.55rem 1rem;
  }

  .rue-footer__primary a {
    font-size:.82rem;
  }

  .rue-footer__meta {
    justify-content:flex-start;
    margin-top:1rem;
  }

  .rue-footer__secondary a,
  .rue-footer__bottom {
    font-size:.68rem;
  }

  .rue-footer__bottom {
    margin-top:.95rem;
  }
}

@media (max-width:360px) {
  .rue-footer__primary {
    row-gap:.55rem;
  }

  .rue-footer__secondary {
    row-gap:.5rem;
  }
}

/* Final mobile viewport guardrail: keep the live hero inside real phone widths. */
@media (max-width:760px) {
  html,
  body,
  .hero,
  .hero-focus {
    max-width:100%;
    overflow-x:clip;
  }

  .topbar {
    grid-template-columns:minmax(0,1fr) auto;
    width:auto;
    min-width:0;
  }

  .topbar__actions {
    min-width:0;
  }

  .menu-button {
    gap:.45rem;
  }

  .menu-button span {
    display:none;
  }

  .hero-focus {
    width:100%;
    padding-top:7rem;
  }

  .hero-focus .hero__eyebrow,
  .hero-focus .hero__lower,
  .hero-focus .hero__pitch,
  .hero-focus .hero__actions,
  .hero-focus .hero__availability {
    width:100%;
    max-width:100%;
  }

  .hero-focus .hero__title {
    max-width:min(19.75rem,100%);
    font-size:clamp(1.72rem,7.55vw,2.32rem);
    line-height:1.08;
  }

  .hero-focus .hero__title .word-row,
  .hero-focus .hero__title .word-row--build {
    max-width:100%;
  }

  .hero-focus .hero__title .hl-phrase {
    padding:.02em .1em .075em;
    font-size:.9em;
  }

  .hero-focus .hero__lower p {
    max-width:21rem;
    margin-inline:auto;
    font-size:.9rem;
  }

  .hero-focus .action-link {
    width:100%;
    min-width:0;
    max-width:100%;
  }

  .hero-focus .hero__actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-focus .hero__availability {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .hero-focus .hero__availability>span {
    min-width:0;
    padding-inline:.35rem;
  }
}
