/* ============================================================================
   scrollcraft.css: the taste floor
   ----------------------------------------------------------------------------
   Two layers, and the split matters:

     TOKENS   what you override per brand. Colour roles, the type ramp, the
              spacing scale, elevation, motion. A brand is ~12 values.
     DEVICES  what the engine drives. Do not restyle these to taste; they are
              the mechanism. Style your own markup instead.

   Nothing here draws a "component". There are no card, badge, or pill classes,
   because a stylesheet that ships those is how every page built on it ends up
   with the same shapes. You get a floor and a vocabulary; the composition is
   yours.
   ========================================================================== */

/* ---------------------------------------------------------------- tokens -- */
:root {
  /* --- colour roles. Override these six and the page is rebranded. -------- */
  --sc-canvas:      #08090b;   /* the page ground. Drift interpolates this.   */
  --sc-surface:     #101217;   /* anything raised off the ground             */
  --sc-ink:         #f4f2ef;   /* primary text                               */
  --sc-ink-soft:    #9a9ba1;   /* secondary text. Tinted, never flat gray.   */
  --sc-accent:      #d8ff3e;   /* ONE accent. It owns a region, not confetti. */
  --sc-accent-ink:  #08090b;   /* text that sits on the accent               */

  --sc-hairline:    color-mix(in oklab, var(--sc-ink) 12%, transparent);
  --sc-hairline-strong: color-mix(in oklab, var(--sc-ink) 22%, transparent);

  /* --- type. Two families max. Display carries voice, text carries prose. - */
  --sc-font-display: "Instrument Sans", "Geist", system-ui, sans-serif;
  --sc-font-text:    "Geist", system-ui, sans-serif;
  --sc-font-mono:    "Geist Mono", ui-monospace, monospace;

  /* Fluid ramp. Tracking tightens as size grows because a face set at 6rem
     with 0 tracking reads loose; this is optical correction, not decoration. */
  --sc-t-xs:   clamp(0.75rem, 0.72rem + 0.15vw, 0.82rem);
  --sc-t-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 0.95rem);
  --sc-t-base: clamp(1rem, 0.96rem + 0.22vw, 1.125rem);
  --sc-t-lg:   clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem);
  --sc-t-xl:   clamp(1.6rem, 1.35rem + 1.2vw, 2.25rem);
  --sc-t-2xl:  clamp(2.1rem, 1.6rem + 2.4vw, 3.4rem);
  --sc-t-3xl:  clamp(2.8rem, 1.9rem + 4.2vw, 5rem);
  --sc-t-4xl:  clamp(3.4rem, 1.9rem + 6.6vw, 7.5rem);

  --sc-track-tight:  -0.035em;
  --sc-track-snug:   -0.02em;
  --sc-track-normal: -0.005em;
  --sc-track-wide:    0.08em;

  --sc-leading-none: 0.94;
  --sc-leading-tight: 1.06;
  --sc-leading-body: 1.62;

  --sc-measure: 62ch;

  /* --- space. 4px base: the useful middle steps an 8-only scale misses. --- */
  --sc-1: 0.25rem;  --sc-2: 0.5rem;   --sc-3: 0.75rem;  --sc-4: 1rem;
  --sc-5: 1.5rem;   --sc-6: 2rem;     --sc-7: 3rem;     --sc-8: 4rem;
  --sc-9: 6rem;     --sc-10: 8rem;    --sc-11: 12rem;

  /* Section rhythm is fluid so a phone doesn't inherit desktop air. */
  --sc-section: clamp(4.5rem, 9vw, 11rem);
  --sc-gutter:  clamp(1.25rem, 5vw, 5.5rem);
  --sc-maxw:    82rem;

  /* --- radius. Pick one scale for the page and hold it. ------------------- */
  --sc-r-sm: 6px;  --sc-r-md: 12px;  --sc-r-lg: 20px;  --sc-r-pill: 999px;

  /* --- elevation. Every shadow has an offset AND a soft blur, and is tinted
         to the canvas hue. A zero-offset coloured halo is decoration, not
         depth, so there isn't one here. ---------------------------------- */
  --sc-shadow-color: 220 40% 2%;
  --sc-e1: 0 1px 2px hsl(var(--sc-shadow-color) / 0.28),
           0 2px 6px -1px hsl(var(--sc-shadow-color) / 0.20);
  --sc-e2: 0 2px 4px hsl(var(--sc-shadow-color) / 0.24),
           0 8px 18px -4px hsl(var(--sc-shadow-color) / 0.30);
  --sc-e3: 0 4px 8px hsl(var(--sc-shadow-color) / 0.22),
           0 18px 40px -8px hsl(var(--sc-shadow-color) / 0.38),
           0 48px 90px -24px hsl(var(--sc-shadow-color) / 0.30);

  /* Edge light: a 1px top highlight sells a raised surface better than any
     amount of blur, because real raised things catch light on their lip. */
  --sc-edge: inset 0 1px 0 color-mix(in oklab, var(--sc-ink) 10%, transparent);

  /* --- motion. Built-in CSS easings are too weak for UI. ------------------ */
  --sc-ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --sc-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --sc-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --sc-d-fast: 160ms;  --sc-d-base: 240ms;  --sc-d-slow: 420ms;

  --sc-z-stage: 1; --sc-z-copy: 20; --sc-z-chrome: 60;
}

/* --------------------------------------------------------------- reset -- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--sc-canvas);
  color: var(--sc-ink);
  font-family: var(--sc-font-text);
  font-size: var(--sc-t-base);
  line-height: var(--sc-leading-body);
  letter-spacing: var(--sc-track-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-synthesis-weight: none;
  overflow-x: clip;
}
img, video, canvas, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }

/* ------------------------------------------------- the browser surfaces --
   The parts you did not draw still carry the design. Selection, caret, focus
   ring, scrollbar and tabular numerals all ship with defaults that belong to no
   design system. Theming them is the cheapest signal that a page was built
   rather than assembled, and it is the step that gets skipped most reliably. */
::selection { background: var(--sc-accent); color: var(--sc-accent-ink); }
:root { caret-color: var(--sc-accent); accent-color: var(--sc-accent); }
:focus-visible {
  outline: 2px solid var(--sc-accent);
  outline-offset: 3px;
  border-radius: var(--sc-r-sm);
}
:where(a) { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
@supports (scrollbar-color: auto) {
  html { scrollbar-color: color-mix(in oklab, var(--sc-ink) 26%, transparent) transparent; scrollbar-width: thin; }
}
:where(table, .sc-nums, [data-sc-count]) { font-variant-numeric: tabular-nums; }

/* ----------------------------------------------------------- typography -- */
.sc-display {
  font-family: var(--sc-font-display);
  font-weight: 500;
  line-height: var(--sc-leading-none);
  letter-spacing: var(--sc-track-tight);
  text-wrap: balance;
  margin: 0;
}
.sc-display--xl { font-size: var(--sc-t-4xl); }
.sc-display--lg { font-size: var(--sc-t-3xl); }
.sc-display--md { font-size: var(--sc-t-2xl); letter-spacing: var(--sc-track-snug); }
.sc-lede {
  font-size: var(--sc-t-lg);
  line-height: 1.44;
  letter-spacing: var(--sc-track-snug);
  color: var(--sc-ink);
  max-width: 46ch;
  text-wrap: pretty;
  margin: 0;
}
.sc-body { max-width: var(--sc-measure); color: var(--sc-ink-soft); text-wrap: pretty; margin: 0; }
.sc-label {
  font-family: var(--sc-font-mono);
  font-size: var(--sc-t-xs);
  letter-spacing: var(--sc-track-wide);
  text-transform: uppercase;
  color: var(--sc-ink-soft);
}

/* ---------------------------------------------------------------- layout -- */
.sc-wrap { width: 100%; max-width: var(--sc-maxw); margin-inline: auto; padding-inline: var(--sc-gutter); }
.sc-section { padding-block: var(--sc-section); }
/* More space above a heading than below it: the gap belongs to the boundary,
   not to the pair. */
.sc-stack > * + * { margin-top: var(--sc-4); }
.sc-stack > :is(h1,h2,h3) { margin-top: var(--sc-7); }
.sc-stack > :is(h1,h2,h3):first-child { margin-top: 0; }
.sc-rule { height: 1px; border: 0; background: var(--sc-hairline); margin: 0; }

/* =============================================================== DEVICES ==
   Driven by the engine. Restyle your own markup, not these.                */

.sc-act--pinned { position: relative; }
.sc-stage {
  position: sticky; top: 0;
  height: 100vh; height: 100svh;
  overflow: clip;
  z-index: var(--sc-z-stage);
}

/* scrub / sequence media */
.sc-stage :is(video[data-sc-scrub], canvas[data-sc-sequence], .sc-stage__poster) {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
video[data-sc-scrub] { opacity: 0; transition: opacity 380ms var(--sc-ease-out); }
.sc-has-clip video[data-sc-scrub] { opacity: 1; }
/* The poster is a live frame-holder, not a placeholder: it stays up until a
   real video frame has painted, which is what stops the blank-stage flash. */
.sc-stage__poster { z-index: 0; transition: opacity 380ms var(--sc-ease-out); }
.sc-has-clip .sc-stage__poster { opacity: 0; }

/* A scrim only where text sits. A full-frame darkening layer flattens the
   image everywhere to fix contrast in one corner. */
.sc-scrim {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(
    var(--sc-scrim-angle, 180deg),
    color-mix(in oklab, var(--sc-canvas) var(--sc-scrim-a, 78%), transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 42%,
    transparent 68%);
}
/* Point the scrim at the copy. A scrim gradient that darkens the top while the
   copy sits at the bottom fixes contrast nowhere and flattens the image
   everywhere, which is the most common way text-over-video goes wrong. */
.sc-scrim--bottom { --sc-scrim-angle: 0deg; }
.sc-scrim--left   { --sc-scrim-angle: 90deg; }
.sc-scrim--right  { --sc-scrim-angle: 270deg; }

/* Corner scrims, for copy anchored to a corner. An edge gradient has to darken
   a whole band across the frame to cover one corner; a corner gradient puts the
   density where the text is and leaves the rest of the image alone. Pair with
   .sc-copy--lead / .sc-copy--trail. */
.sc-scrim--lead {
  background: linear-gradient(to top right,
    color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 72%, transparent) 30%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 52%,
    transparent 72%);
}
.sc-scrim--trail {
  background: linear-gradient(to top left,
    color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 72%, transparent) 30%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 52%,
    transparent 72%);
}
/* A band across the bottom, for copy that spans the full width of the frame.
   That is what both corner anchors become below 860px, and it is also the right
   shape whenever the copy block is wider than a corner. */
.sc-scrim--band {
  background: linear-gradient(to top,
    color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
    color-mix(in oklab, var(--sc-canvas) 74%, transparent) 22%,
    color-mix(in oklab, var(--sc-canvas) 30%, transparent) 42%,
    transparent 58%);
}
.sc-scrim--vignette {
  background: radial-gradient(120% 90% at 50% 45%, transparent 40%,
              color-mix(in oklab, var(--sc-canvas) 70%, transparent) 100%);
}

/* copy over a stage.
   max-width is in rem, never ch. A `ch` on this container resolves against the
   CONTAINER's font-size (body size), not the display size of the heading inside
   it, so `max-width: 20ch` here silently produces a ~180px column and wraps a
   hero headline to six lines. Set a ch measure on the text element itself. */
.sc-copy {
  position: absolute; z-index: var(--sc-z-copy);
  inset-inline: var(--sc-gutter);
  max-width: min(46rem, 76vw);
  will-change: opacity, transform;
}
.sc-copy--lead   { left: var(--sc-gutter); bottom: clamp(3rem, 12vh, 9rem); }
/* inset-inline FIRST. It is the shorthand for left+right, so declaring it after
   `left: 50%` resets left to auto and the block drifts off the left edge. */
.sc-copy--center { inset-inline: auto; left: 50%; top: 50%; translate: -50% -50%; text-align: center; }
.sc-copy--trail  { inset-inline: auto; right: var(--sc-gutter); bottom: clamp(3rem, 12vh, 9rem); text-align: right; }

/* cue defaults: the engine writes opacity/transform inline, these are the
   pre-paint state so nothing flashes before the first read() */
[data-sc-cue] { opacity: 0; will-change: opacity, transform; }
.sc-ready [data-sc-cue] { transition: none; }

/* kinetic split */
.sc-split { display: inline-block; overflow: hidden; vertical-align: top; }
/* Descenders live below the baseline; a line mask clipped to the line box eats
   the tails off g, y, p, j. The padding buys them room back. */
.sc-split--line { display: block; padding-bottom: 0.14em; margin-bottom: -0.14em; }
.sc-split__i { display: inline-block; will-change: transform, opacity; }
.sc-is-split { opacity: 1 !important; }

/* horizontal rail */
[data-sc-pan] { display: flex; will-change: transform; }

/* reveal + parallax */
[data-sc-reveal] { will-change: clip-path; }
[data-sc-parallax] { will-change: transform; }

/* flow reveal (fires once) */
[data-sc-in], [data-sc-stagger] > * {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity 620ms var(--sc-ease-out), transform 620ms var(--sc-ease-out);
}
[data-sc-in].sc-in, [data-sc-stagger] > .sc-in { opacity: 1; transform: none; }

/* pointer devices */
[data-sc-tilt] { transform-style: preserve-3d; will-change: transform; }
[data-sc-magnet] { will-change: transform; }
/* isolation always; position only if nothing more specific already set it.
   Written with :where() (zero specificity) on purpose: a plain `position:
   relative` here has the same weight as `.sc-stage` and, being later in the
   file, silently wins. A stage carrying both attributes then stops being
   sticky and the whole act scrolls away instead of pinning. */
[data-sc-spotlight] { isolation: isolate; }
:where([data-sc-spotlight]) { position: relative; }
[data-sc-spotlight]::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: radial-gradient(
    28rem 28rem at calc(var(--sc-mx, 0.5) * 100%) calc(var(--sc-my, 0.5) * 100%),
    color-mix(in oklab, var(--sc-accent) 16%, transparent), transparent 70%);
  opacity: 0; transition: opacity var(--sc-d-slow) var(--sc-ease-out);
}
[data-sc-spotlight]:hover::after { opacity: 1; }

/* =========================================================== WORLDFLIGHT ==
   One fixed stage for the whole page. The only thing in document flow is the
   spacer, and it is empty. If you find yourself adding a section here, you want
   act mode instead: the moment a real block scrolls past the fixed stage, the
   page has a seam again and the whole point is gone.                        */

[data-sc-mode="worldflight"] { position: relative; }

.sc-world {
  position: fixed; inset: 0;
  overflow: clip;
  z-index: var(--sc-z-stage);
  background: var(--sc-canvas);
}

/* Every leg is mounted for the life of the page and stacked in the same box.
   The engine owns opacity, visibility and z-index here; do not set them. */
.sc-world__seg {
  position: absolute; inset: 0;
  opacity: 0;
  will-change: opacity;
}
.sc-world__seg > :is(video, img, canvas) {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
/* The poster is the frame-holder AND the first camera move: the engine pushes
   it in slowly until a real decoded frame is available to replace it. */
.sc-world__poster {
  z-index: 0;
  transform-origin: 50% 50%;
  transition: opacity 420ms var(--sc-ease-out);
}
.sc-world__seg > video { z-index: 1; }
.sc-world__seg.sc-has-clip .sc-world__poster { opacity: 0; }
/* The act stylesheet lights a clip through its ancestor act. A worldflight leg
   has no act, so match the class the engine also writes on the clip itself. */
video[data-sc-scrub].sc-has-clip { opacity: 1; }

/* The copy layer is fixed too, and inert by default: the engine hands
   pointer-events back to a block only while it is actually legible. */
.sc-world__copy {
  position: fixed; inset: 0;
  z-index: var(--sc-z-copy);
  pointer-events: none;
}
.sc-world__scrim { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
[data-sc-copy] {
  opacity: 0;
  pointer-events: none;
  will-change: opacity, transform;
}
.sc-ready [data-sc-copy] { transition: none; }

/* The track. Empty on purpose. */
.sc-world__spacer { pointer-events: none; }

/* scroll progress */
[data-sc-progress] {
  position: fixed; inset: 0 0 auto 0; height: 2px; z-index: var(--sc-z-chrome);
  background: var(--sc-accent); transform-origin: 0 50%; transform: scaleX(0);
  will-change: transform;
}

/* ----------------------------------------------------------- atmosphere --
   Depth is not only shadow. Grain keeps a flat dark ground from banding, and
   it is the difference between "a dark page" and "a lit room". */
.sc-grain { position: fixed; inset: 0; pointer-events: none; z-index: 3; opacity: 0.045; }
.sc-grain::before {
  content: ""; position: absolute; inset: -50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
}

/* -------------------------------------------------------- reduced motion -- */
@media (prefers-reduced-motion: reduce) {
  /* Fewer and gentler, not zero. Opacity still carries the reveal so the page
     is comprehensible; every position change is dropped. */
  [data-sc-in], [data-sc-stagger] > * { transform: none; transition-duration: 220ms; }
  [data-sc-parallax], [data-sc-pan], .sc-split__i { transform: none !important; }
  /* A wipe is a position change too. Show reveal content settled. */
  [data-sc-reveal] { clip-path: none !important; }
  /* A rail's transform IS its navigation, not decoration. Zeroing it the way
     parallax and kinetic type are zeroed parks the act on its first screenful
     and makes everything past the fold unreachable: a device degrading into
     missing content. Hand the travel back to the reader as an ordinary scroll
     region instead, so the same items are all still gettable without motion.
     A build that would rather re-lay the rail out as a grid can still do that;
     this is the floor, not the ceiling. */
  [data-sc-act="pan"] .sc-stage,
  [data-sc-act="pan"] [data-sc-stage] {
    overflow-x: auto; overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }
  [data-sc-pan] > * { scroll-snap-align: center; }
  [data-sc-spotlight]::after { display: none; }
  /* A worldflight keeps its whole story here. No clip is ever fetched, so the
     posters are the film, and they cross-dissolve through exactly the same
     seams at exactly the same scroll positions. The push-in and the copy drift
     are the only things that go. */
  .sc-world__poster, [data-sc-copy] { transform: none !important; }
}

/* --------------------------------------------------------------- mobile -- */
@media (max-width: 860px) {
  .sc-copy { inset-inline: var(--sc-gutter); max-width: none; }
  .sc-copy--trail { text-align: left; }
  .sc-stage { height: 100svh; }
  /* .sc-copy--trail re-anchors to the left and spans the full width here, so a
     bottom-RIGHT corner gradient darkens the one corner the copy just left and
     guarantees a contrast failure over any bright clip. Point the density at
     the copy: the same band .sc-scrim--band paints. */
  .sc-scrim--trail {
    background: linear-gradient(to top,
      color-mix(in oklab, var(--sc-canvas) 94%, transparent) 0%,
      color-mix(in oklab, var(--sc-canvas) 74%, transparent) 22%,
      color-mix(in oklab, var(--sc-canvas) 30%, transparent) 42%,
      transparent 58%);
  }
}

@font-face{font-family:Wix;src:url('/assets/wix-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Wix;src:url('/assets/wix-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--sc-canvas:#151515;--sc-surface:#151515;--sc-ink:#f0efeb;--sc-ink-soft:#c4c3bb;--sc-accent:#c4c3bb;--sc-accent-ink:#151515;--sc-font-display:Wix,sans-serif;--sc-font-text:Wix,sans-serif;--ink:#f0efeb;--soft:#c4c3bb;--line:#303030;--canvas:#151515;--accent:#c4c3bb;--ease:cubic-bezier(.23,1,.32,1);font-family:Wix,sans-serif;color:var(--ink);background:var(--canvas);color-scheme:dark;scroll-behavior:smooth;scrollbar-color:#5b5b58 #151515}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:17px;line-height:1.6}::selection{color:#151515;background:#c4c3bb}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a,button,input,textarea,select,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:active,.button:active{transform:scale(.97)}button,summary{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;text-wrap:balance}h1,h2{letter-spacing:-.035em;line-height:1.04}h1{font-size:clamp(44px,5.2vw,76px)}h2{font-size:clamp(36px,4.1vw,58px)}h3{font-size:25px;line-height:1.2;letter-spacing:-.025em}p{text-wrap:pretty}p+p{margin-top:20px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{max-width:100%;height:auto}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.section{padding-block:112px}section[id]{scroll-margin-top:28px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{display:inline-flex;align-items:center;gap:9px;font-size:29px;letter-spacing:-.04em;line-height:1;font-weight:600}.brand img{flex-shrink:0}.site-header nav{display:flex;align-items:center;gap:32px;font-size:15px;color:var(--soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 24px;min-height:52px;white-space:nowrap;background:var(--ink);color:#151515;border:1px solid transparent;border-radius:2px;font-size:16px;font-weight:600;line-height:1.2;transition:background .18s var(--ease),transform .18s var(--ease)}.button.small{padding:13px 20px;font-size:14px;min-height:46px;gap:18px}.menu-toggle{display:none}.skip{position:absolute;top:8px;left:12px;background:#f0efeb;color:#151515;z-index:200;padding:10px 20px;transform:translateY(-150%)}.skip:focus{transform:none}.hero{position:relative;min-height:680px;height:calc(100svh - 104px);max-height:830px;display:flex;flex-direction:column;align-items:center;padding-bottom:76px;overflow:hidden}.hero-art{width:590px;height:315px;max-width:70vw;flex-shrink:0;position:relative;margin-top:-8px}.hero-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:lighten;mask-image:linear-gradient(transparent,#000 12%,#000 75%,transparent);display:block}.art-float{height:100%;animation:breathe 8s ease-in-out infinite}.hero-copy{text-align:center;z-index:1}.hero-copy h1 span{color:#c4c3bb}.hero-copy p{font-size:18px;line-height:1.5;max-width:550px;margin:24px auto 28px;color:var(--soft)}.hero-bottom{position:absolute;bottom:22px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--soft)}.motion-toggle{display:flex;align-items:center;gap:8px;border:0;background:none;padding:10px;font-size:12px;min-height:44px}.motion-toggle svg{height:14px;width:14px}.light{background:#f0efeb;color:#151515;--ink:#151515;--soft:#5b5b58;--line:#c4c3bb;--accent:#5b5b58;color-scheme:light}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro-copy p{color:var(--soft);max-width:460px}.intro-copy h2{margin-bottom:28px}.text-link{display:inline-flex;align-items:center;gap:22px;font-weight:600;line-height:1.4;font-size:16px;padding-block:12px}.intro .text-link{margin-top:24px}.material{height:390px;overflow:hidden}.material img{width:100%;height:100%;object-fit:cover}.section-heading{margin-bottom:56px;max-width:720px}.section-heading p{max-width:555px;color:var(--soft);margin-top:24px}.workflow-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:64px}.workflow-choices{display:flex;flex-direction:column}.workflow-choices button{background:transparent;border:0;border-bottom:1px solid var(--line);padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;color:var(--soft);font-size:18px}.workflow-choices button[aria-selected=true]{color:var(--ink)}.workflow-choices button[aria-selected=true] svg{color:var(--accent)}.workflow-panel{padding:28px 32px 32px;background:#151515;min-height:350px;border-radius:3px}.diagram-label{font-size:12px;color:var(--soft)}.route{display:flex;align-items:center;margin:28px 0 35px;gap:12px}.route-node{display:flex;align-items:center;flex-direction:column;gap:12px;min-width:84px;text-align:center}.route-node span{font-size:11px;color:var(--soft);max-width:95px;line-height:1.3}.route-node svg{height:27px;width:27px}.route-line{height:1px;flex:1;background:#5b5b58;min-width:10px;position:relative;overflow:hidden}.route-line:after{content:'';position:absolute;width:28%;height:1px;background:#f0efeb;animation:travel 3s linear infinite}.workflow-panel h3{margin-bottom:14px}.workflow-panel>p:not(.diagram-label){font-size:16px;color:var(--soft)}.workflow-panel .workflow-outcome{color:var(--accent)!important;margin-top:18px;font-size:14px!important}.solutions{background:#151515;border-top:1px solid var(--line)}.standard-offers{display:grid;grid-template-columns:1fr 1fr;gap:72px}.offer{border-top:1px solid #92928d;padding-top:22px}.offer-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.offer-title h3{font-size:25px}.offer-title>span{font-size:12px;color:var(--soft)}.offer-lead{font-size:27px;line-height:1.3;color:var(--ink);letter-spacing:-.02em;margin:32px 0 20px!important;min-height:70px}.offer>p:not(.offer-lead){color:var(--soft);font-size:16px}.check-list{list-style:none;padding:0;margin:24px 0}.check-list li{position:relative;padding:8px 0 8px 26px;font-size:15px;color:#f0efeb}.check-list li:before{content:'';width:9px;height:5px;border-left:1.5px solid #c4c3bb;border-bottom:1.5px solid #c4c3bb;transform:rotate(-45deg);position:absolute;left:0;top:16px}.offer .scope{font-size:13px!important;margin:20px 0}.offer .text-link{margin-top:12px}.os-teaser{margin-top:52px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--soft);font-size:15px}.os-teaser a{display:flex;gap:16px;color:var(--ink)}.os-stage{display:flex;flex-direction:column;justify-content:center;background:#151515;overflow:hidden}.os-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center;padding-block:65px}.os-copy{max-width:470px}.os-name{font-size:16px;color:var(--accent);margin:24px 0 16px}.os-copy>p:not(.os-name){color:var(--soft);font-size:16px}.os-copy .button{margin-top:30px}.os-visual{min-height:410px;perspective:1100px;display:flex;flex-direction:column;justify-content:center}.architecture{height:330px;position:relative;transform-style:preserve-3d;transform:rotateX(22deg) rotateY(-15deg) rotateZ(-7deg);--assembly:0}.layer{display:flex;align-items:center;justify-content:center;position:relative;gap:12px;transform-style:preserve-3d}.tools-layer{justify-content:space-between;transform:translate3d(0,calc(var(--assembly) * -35px),35px)}.tools-layer span,.outcomes-layer span{border:1px solid #5b5b58;background:#151515;box-shadow:0 16px 22px #03050440;padding:15px 18px;font-size:13px;color:#f0efeb;flex:1;text-align:center}.core-layer{height:112px;background:#f0efeb;color:#151515;flex-direction:column;gap:3px;box-shadow:0 22px 36px #0005;border-bottom:9px solid #92928d;transform:translateZ(18px)}.core-layer img{filter:brightness(.2);height:33px;width:33px}.core-layer strong{font-size:24px;font-weight:600}.core-layer>span{font-size:11px}.connectors{height:62px;display:flex;justify-content:space-around;transform:translateZ(14px)}.connectors i{width:1px;height:100%;background:#92928d;opacity:calc(.25 + var(--assembly) * .75);transform:scaleY(calc(.3 + var(--assembly) * .7));transform-origin:top}.bottom-connectors{height:45px}.outcomes-layer{transform:translate3d(0,calc(var(--assembly) * 28px),50px)}.outcomes-layer span{border-color:#92928d;color:#f0efeb}.architecture-caption{text-align:center;font-size:12px;color:var(--soft);margin-top:35px}.os-foot{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--soft)}.integrations .wrap{display:grid;grid-template-columns:1fr 1fr;gap:42px 90px}.integration-copy{color:var(--soft);max-width:500px}.tool-types{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:32px;font-size:17px;color:#c4c3bb}.approach-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:96px}.approach-grid>div p{margin-top:24px;color:var(--soft)}.process{margin:0;padding:0;list-style:none;counter-reset:process}.process li{padding:0 0 28px 48px;margin-bottom:28px;border-bottom:1px solid var(--line);position:relative;counter-increment:process}.process li:before{content:counter(process,decimal-leading-zero);position:absolute;left:0;top:1px;font-size:13px;color:var(--soft)}.process li:last-child{margin-bottom:0;padding-bottom:0;border:0}.process p{margin-top:14px;color:var(--soft);font-size:16px}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:88px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;cursor:pointer;list-style:none;line-height:1.4;font-size:18px}.faq details:first-child summary{padding-top:0}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:18px;height:18px;transition:transform .2s var(--ease)}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{padding:0 24px 25px 0;color:var(--soft);font-size:16px;max-width:650px}.contact{background:#151515;padding-bottom:24px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:clamp(42px,4.8vw,68px)}.contact-grid>div>p{margin-top:24px;color:var(--soft)}.email-link{display:inline-block;margin-top:30px;font-size:18px;border-bottom:1px solid #92928d;overflow-wrap:anywhere}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#c4c3bb;margin-bottom:23px}input,textarea,select{border:0;border-bottom:1px solid #92928d;color:var(--ink);border-radius:0;background:transparent;padding:9px 0 12px;min-width:0;width:100%;font-size:16px;caret-color:var(--accent);line-height:1.5}textarea{resize:vertical}select option{background:#151515}input::placeholder,textarea::placeholder{color:#c4c3bb}form .button{margin-top:6px}form .form-note{font-size:12px;color:var(--soft);margin-top:14px;line-height:1.5}footer{margin-top:100px!important}.footer-top{border-top:1px solid #5b5b58;padding-top:42px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.footer-top p{color:var(--soft);font-size:15px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:13px;color:#c4c3bb}.footer-bottom{border-top:1px solid #5b5b58;padding-top:24px;margin-top:45px;display:flex;justify-content:space-between;gap:20px;color:var(--soft);font-size:11px}.article-main{padding-block:72px 100px;max-width:840px}.article-main h1{font-size:clamp(44px,5vw,68px);margin:25px 0}.article-main .article-lead{font-size:23px;color:#c4c3bb;margin-bottom:50px;line-height:1.5}.article-main h2{font-size:32px;margin:48px 0 18px}.article-main h3{margin:28px 0 12px}.article-main p,.article-main li{color:var(--soft)}.article-main ul{padding-left:22px}.article-main li{padding-left:8px;margin-block:10px}.article-main .button{margin-top:36px}.article-breadcrumb{font-size:13px;color:var(--soft)}.article-breadcrumb a{text-decoration:underline}.article-footer{margin-top:0!important;padding-block:35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--soft);font-size:13px}.nojs-examples{margin-top:30px}.nojs-examples h3{margin-block:20px}
@keyframes breathe{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-8px) rotate(.5deg)}}@keyframes travel{from{transform:translateX(-110%)}to{transform:translateX(470%)}}
@media(hover:hover) and (pointer:fine){nav a:hover,.text-link:hover,.email-link:hover{color:var(--accent)}.light a:hover{color:#5b5b58}.button:hover{background:#f0efeb;color:#151515}.workflow-choices button:hover{color:var(--ink)}.text-link:hover svg{transform:translateX(4px)}.text-link svg{transition:transform .18s var(--ease)}summary:hover{color:var(--accent)}}
@media(min-width:1700px){.hero{height:790px}.hero-art{height:340px;width:630px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:20px}.site-header nav>a:nth-child(3){display:none}.intro-grid,.approach-grid,.faq-grid,.contact-grid{gap:48px}.workflow-layout{gap:32px}.standard-offers{gap:40px}.os-grid{gap:30px}.tools-layer span,.outcomes-layer span{padding:12px 8px}.os-copy h2{font-size:42px}.hero{min-height:670px}.hero-art{height:290px;width:550px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.section{padding-block:72px}.site-header{height:80px}.brand{font-size:25px}.brand img{width:29px;height:29px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;min-height:44px;padding:10px 0;font-size:14px}.menu-lines{width:18px;height:9px;border-top:1px solid;border-bottom:1px solid}.site-header nav{display:none;position:absolute;top:70px;left:-20px;right:-20px;background:#151515;padding:24px;align-items:stretch;box-shadow:0 18px 30px #0005}.site-header nav.open{display:flex;flex-direction:column;gap:20px}.site-header nav>a:nth-child(3){display:block}.hero{height:calc(100svh - 80px);min-height:630px;max-height:760px;padding-bottom:85px}.hero-art{width:440px;max-width:100%;height:245px;margin-top:0}.hero-copy h1{font-size:clamp(40px,10.8vw,64px)}.hero-copy p{font-size:16px;max-width:330px;margin:22px auto 28px}.hero-bottom{bottom:14px;align-items:center;gap:12px;font-size:10px}.hero-bottom>span{max-width:180px}.motion-toggle{font-size:10px;white-space:nowrap}.intro-grid,.workflow-layout,.os-grid,.approach-grid,.faq-grid,.contact-grid,.standard-offers{grid-template-columns:1fr;gap:40px}.intro-copy p{max-width:100%;font-size:16px}.material{height:270px}.intro .text-link{margin-top:14px}.section-heading{margin-bottom:35px}.section-heading p{font-size:16px}.workflow-choices{gap:0}.workflow-choices button{padding:17px 0;font-size:16px}.workflow-panel{padding:22px;min-height:0}.route{gap:8px}.route-node{min-width:65px}.route-node span{font-size:10px}.workflow-panel h3{font-size:24px}.workflow-panel>p:not(.diagram-label){font-size:15px}.standard-offers{gap:48px}.offer-lead{min-height:0;font-size:26px}.offer-title>span{font-size:11px}.os-teaser{display:block;margin-top:35px}.os-teaser a{margin-top:16px}.os-section{height:auto!important}.os-stage{height:auto!important;min-height:0!important;position:relative!important}.os-grid{padding-top:72px;padding-bottom:24px}.os-copy{max-width:100%}.os-copy h2{font-size:40px}.os-visual{min-height:350px;max-width:100%}.architecture{height:295px;transform:rotateX(15deg) rotateY(-8deg) rotateZ(-5deg);margin-inline:10px}.core-layer{height:100px}.core-layer strong{font-size:22px}.tools-layer span,.outcomes-layer span{font-size:10px;padding:12px 6px}.tools-layer,.outcomes-layer{gap:6px}.connectors{height:50px}.bottom-connectors{height:40px}.architecture-caption{margin-top:15px;font-size:11px}.os-foot{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px 0 48px;font-size:12px}.integrations .wrap{grid-template-columns:1fr;gap:24px}.integration-copy{font-size:16px}.tool-types{display:grid;grid-template-columns:1fr 1fr;font-size:13px;gap:18px;margin-top:10px}.process li{padding-left:36px}.process h3{font-size:23px}.process p{font-size:15px}.faq-grid{gap:36px}.faq summary{font-size:16px;padding-block:22px}.faq details p{font-size:15px}.contact-grid{gap:44px}.contact h2{font-size:44px}.contact-grid>div>p{font-size:16px}.email-link{font-size:17px}.form-row{gap:20px}footer{margin-top:68px!important}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-top nav{grid-column:1/-1;gap:14px}.footer-top p{font-size:12px;justify-self:end}.footer-bottom{flex-wrap:wrap;font-size:10px;gap:14px}.footer-bottom>span:nth-child(2){order:3;width:100%}.article-main{padding-block:42px 65px}.article-main .article-lead{font-size:20px}.article-main h2{font-size:29px}.article-footer{flex-wrap:wrap;font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-art,.art-float,.os-visual,.tools-layer,.outcomes-layer{transform:none!important}.connectors i{transform:none;opacity:1}.os-section{height:auto!important}.os-stage{position:relative!important;height:auto!important;min-height:700px}}
html.motion-paused{scroll-behavior:auto}html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important}html.motion-paused .hero-art,html.motion-paused .os-visual{transform:none!important}html.motion-paused .architecture{--assembly:1!important}
.brand img{width:58px;height:32px;object-fit:contain}.core-layer img{width:52px;object-fit:contain;filter:none}.route-brain img{width:42px;height:25px;object-fit:contain}
.hero-art{width:520px;height:310px;padding:36px 18px 28px}.hero-art img{mix-blend-mode:normal;mask-image:none;object-fit:contain}.hero{height:680px;min-height:680px}
@media(max-width:740px){.brand img{width:46px;height:28px}}
@media(max-width:740px){.hero{height:calc(100svh - 80px);min-height:630px}.hero-art{width:390px;height:245px;padding:32px 16px}}
.tools-layer{transform:translate3d(0,calc((1 - var(--assembly)) * -65px),35px)}.outcomes-layer{transform:translate3d(0,calc((1 - var(--assembly)) * 55px),50px)}.tools-layer span,.outcomes-layer span{box-shadow:none}.core-layer{border-radius:0}.hero-bottom,.motion-toggle,.route-node span,.footer-bottom,.architecture-caption,.core-layer>span{font-size:12px}.route-line:after{animation-iteration-count:3}.tools-layer span,.outcomes-layer span{font-size:12px}
.intro-copy[data-sc-in]{opacity:1;transform:none}
.architecture-space{isolation:isolate}
body{font-size:18px}.section-heading p,.os-copy>p:not(.os-name),.offer>p:not(.offer-lead),.process p,.faq details p,.workflow-panel>p:not(.diagram-label){font-size:18px}.check-list li{font-size:17px}.offer .scope{font-size:15px!important}.diagram-label,.route-node span,.workflow-panel .workflow-outcome{font-size:14px!important}.os-name{font-size:19px}.os-grid{grid-template-columns:1fr 1fr;gap:42px;padding-block:45px}.os-copy h2{font-size:clamp(36px,3.6vw,52px)}.os-visual{min-width:0;min-height:0;perspective:none}.architecture-space{height:440px;display:flex;align-items:center;perspective:1100px;padding-inline:32px;overflow:hidden}.architecture{width:100%;height:305px;transform:rotateX(17deg) rotateY(-8deg) rotateZ(-5deg)}.tools-layer{transform:translate3d(0,calc((1 - var(--assembly)) * -28px),15px)}.outcomes-layer{transform:translate3d(0,calc((1 - var(--assembly)) * 24px),15px)}.tools-layer span,.outcomes-layer span{font-size:15px;padding:13px 8px}.core-layer{height:112px}.core-layer strong{display:flex;align-items:center;justify-content:center;gap:8px;font-size:27px}.core-layer strong img{filter:none;width:49px;height:28px}.core-layer>span{font-size:15px}.connectors{height:52px}.bottom-connectors{height:42px}.architecture-caption{position:relative;margin:0;padding:12px 0 0;font-size:16px;line-height:1.5}.os-foot{font-size:15px;padding-bottom:30px}.company-map{max-width:1100px;margin:auto;text-align:center}.company-name{display:inline-block;background:#f0efeb;color:#151515;min-width:250px;padding:18px 36px;font-size:25px;position:relative;margin-bottom:60px}.company-name:after{content:'';position:absolute;left:50%;top:100%;height:30px;border-left:1px solid #92928d}.department-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;position:relative}.department-row:before{content:'';position:absolute;left:8%;right:8%;top:-30px;border-top:1px solid #92928d}.department-row span{border:1px solid #5b5b58;padding:14px 4px;font-size:16px;position:relative}.department-row span:before{content:'';position:absolute;left:50%;bottom:100%;height:30px;border-left:1px solid #92928d}.business-foundations{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;margin-top:45px;border-block:1px solid var(--line)}.business-foundations>div{padding:32px}.business-foundations>div+div{border-left:1px solid var(--line)}.business-foundations p{font-size:17px;color:var(--soft);margin-top:16px}.custom-system{display:flex;justify-content:center;align-items:center;gap:24px;padding-top:35px}.custom-system img{width:65px;height:40px;object-fit:contain}.custom-system p{font-size:16px;color:var(--soft);margin-top:8px}.app-logos{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.app-logos>span{display:flex;align-items:center;gap:18px;min-height:100px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:18px}.app-logos img{filter:invert(.88);width:32px;height:32px;object-fit:contain;flex-shrink:0}.integration-boundary{grid-column:1/-1;color:var(--soft);font-size:15px;margin:0!important}.workflow-map-section{padding-top:60px;background:#151515}.map-controls{display:flex;align-items:center;gap:25px;margin-bottom:28px;flex-wrap:wrap}.map-controls .text-link{border:0;background:none;cursor:pointer}.map-controls>span{font-size:16px;color:var(--soft)}.swimlane-scroll{overflow-x:auto;scrollbar-color:#92928d #151515;border:1px solid #5b5b58}.swimlane{display:block;width:100%;min-width:1120px;height:auto;stroke:none;fill:none;stroke-width:1.5;line-height:1.2;font-family:'Wix Madefor Display',sans-serif}.swimlane text{fill:#f0efeb;stroke:none;font-size:18px}.swimlane .stage-headings text,.swimlane .lane-labels text{font-size:17px}.swimlane .edge-label,.swimlane .group-label{font-size:16px}.map-connector{fill:none;stroke-width:2}.map-node rect,.map-node>path{transition:fill .3s,stroke-width .3s}.map-node.is-current rect,.map-node.is-current>path{fill:#5b5b58;stroke-width:3}.map-connector.is-current{stroke-width:4;stroke-dasharray:8 5;animation:map-flow 1s linear infinite}.map-node.is-past rect,.map-node.is-past>path{fill:#303030}.map-legend{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:22px;font-size:15px}.map-legend>span:before{content:'';display:inline-block;vertical-align:middle;width:24px;height:2px;margin-right:9px;background:var(--flow)}.map-legend .auto{--flow:#c4c3bb}.map-legend .data{--flow:#c4c3bb}.map-legend .review{--flow:#c4c3bb}.map-legend .urgent{--flow:#c4c3bb}.map-boundary{font-size:15px;color:var(--soft);max-width:900px;margin-top:20px}.map-transcript{margin-top:26px;border-top:1px solid var(--line);padding-top:22px}.map-transcript summary{cursor:pointer;font-size:18px}.map-transcript li{padding:10px 0;color:var(--soft);max-width:900px}.map-transcript strong{color:var(--ink)}.security{background:#151515}.security-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px 90px}.security-grid>div>p{color:var(--soft);max-width:470px;margin-top:24px}.security-grid .text-link{margin-top:22px}.security-controls article{border-top:1px solid var(--line);padding-block:24px 30px}.security-controls article:first-child{padding-top:0;border:0}.security-controls p{color:var(--soft);margin-top:14px;font-size:17px}.security-boundary{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;color:var(--soft);font-size:15px;margin:0!important}.comparison-scroll{overflow-x:auto}.comparison table{border-collapse:collapse;width:100%;min-width:780px;table-layout:fixed;font-size:17px}.comparison caption{text-align:left;color:var(--soft);font-size:16px;margin-bottom:22px}.comparison th,.comparison td{padding:24px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.comparison thead th{font-size:21px;font-weight:400;vertical-align:bottom}.comparison th:first-child{width:24%;font-weight:400}.comparison th:nth-child(2),.comparison td:nth-child(2){background:#f0efeb}.comparison th img{vertical-align:middle;object-fit:contain;margin-right:6px}.comparison small{font-size:14px;color:#5b5b58}.comparison td{color:#5b5b58}.comparison td:nth-child(2){color:#303030}.footer-directory{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;border-top:1px solid #5b5b58;padding-top:35px;margin-top:40px}.footer-directory h3{font-size:17px;margin-bottom:18px}.footer-directory a,.footer-directory p{display:block;font-size:15px;color:var(--soft);margin:10px 0}.footer-directory a:hover{text-decoration:underline}.footer-top{grid-template-columns:1fr 1fr}.footer-bottom{font-size:14px}.footer-top p{justify-self:end;font-size:17px}@keyframes map-flow{to{stroke-dashoffset:-26}}
@media(max-width:1150px){.os-grid{gap:25px}.os-copy>p:not(.os-name){font-size:17px}.architecture-space{padding-inline:20px}.core-layer strong{font-size:24px}.core-layer>span{font-size:13px}.tools-layer span,.outcomes-layer span{font-size:14px}.security-grid{gap:40px}.app-logos>span{padding:22px 16px;font-size:16px}}
@media(max-width:740px){.section-heading p,.intro-copy p,.os-copy>p:not(.os-name),.offer>p:not(.offer-lead),.process p,.faq details p,.workflow-panel>p:not(.diagram-label){font-size:17px}.os-grid{grid-template-columns:1fr;gap:20px;padding-top:72px}.architecture-space{height:365px;padding-inline:15px}.architecture{height:280px;margin:0;transform:rotateX(10deg) rotateY(-4deg) rotateZ(-3deg)}.tools-layer span,.outcomes-layer span{font-size:13px;padding:12px 5px}.core-layer strong{font-size:25px}.core-layer>span{font-size:13px}.architecture-caption{font-size:16px;padding-top:0}.os-foot{font-size:14px}.department-row{grid-template-columns:repeat(3,1fr);gap:12px}.department-row:before,.department-row span:before{display:none}.company-name{margin-bottom:30px}.department-row span{font-size:14px}.business-foundations{grid-template-columns:1fr;text-align:left;margin-top:28px}.business-foundations>div{padding:23px 0}.business-foundations>div+div{border-left:0;border-top:1px solid var(--line)}.custom-system{text-align:left;gap:15px;align-items:flex-start}.custom-system img{width:48px}.custom-system p{font-size:15px}.app-logos{grid-template-columns:1fr 1fr}.app-logos>span{font-size:15px;gap:10px;padding:20px 10px;min-height:90px}.app-logos img{width:26px;height:26px}.integration-boundary{font-size:14px}.map-controls{gap:16px}.map-controls>span{width:100%}.map-legend{font-size:14px;gap:12px}.security-grid{grid-template-columns:1fr;gap:36px}.security-controls h3{font-size:24px}.security-boundary{font-size:14px}.comparison th,.comparison td{padding:20px 15px}.footer-directory{grid-template-columns:1fr 1fr;gap:25px}.footer-top p{font-size:14px}.footer-bottom{font-size:13px}.workflow-map-section{padding-top:60px}}
@media(max-width:740px){.hero-bottom>span{max-width:170px}.hero-art{padding-top:40px}.tools-layer span,.outcomes-layer span{font-size:13px}.route-node{min-width:64px}.motion-toggle{font-size:12px}.hero-bottom{font-size:12px}.architecture-caption{font-size:16px}.footer-bottom{font-size:13px}}
.architecture-space{padding-inline:40px}.swimlane{min-width:1280px}.swimlane-scroll:before{content:'Explore the workflow →';display:block;background:#151515;color:#c4c3bb;padding:12px 18px;font-size:14px;position:sticky;left:0;width:fit-content}.system-runtime{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;margin-top:32px;border-top:1px solid var(--line);gap:35px;padding-top:28px}.system-runtime h4{font-size:19px;font-weight:400;margin:0 0 12px}.system-runtime p{font-size:16px;color:var(--soft)}
@media(max-width:740px){.architecture-space{padding-inline:22px}.comparison table{min-width:700px}.system-runtime{grid-template-columns:1fr;gap:24px}.route-node span{max-width:80px}}

/* The editorial rails move independently from the hero: a slow camera drift and one soft, physical highlight. */
.hero-bottom{justify-content:center;text-align:center}.motion-toggle{display:none!important}.material{position:relative;background:#151515}.material img{transform:scale(1.045);animation:rails-drift 14s cubic-bezier(.45,0,.25,1) infinite alternate}.material:after{content:'';position:absolute;inset:-20% -45%;pointer-events:none;background:linear-gradient(105deg,transparent 43%,#ffffff00 47%,#ffffff24 50%,#ffffff00 53%,transparent 57%);mix-blend-mode:screen;transform:translateX(-34%);animation:rails-sheen 8s ease-out 1 both}.material:hover img{animation-play-state:paused}@keyframes rails-drift{from{transform:scale(1.045) translate3d(-1.4%,1%,0)}to{transform:scale(1.1) translate3d(1.4%,-1%,0)}}@keyframes rails-sheen{0%,26%{transform:translateX(-34%)}58%,100%{transform:translateX(34%)}}@media(prefers-reduced-motion:reduce){.material img,.material:after{animation:none!important;transform:none!important}}

/* Keep the OS mark and name a single horizontal lock-up at every breakpoint. */
.core-layer strong{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:10px!important;white-space:nowrap}.core-layer strong img{display:block!important;flex:0 0 auto!important;margin:0!important}.custom-system{flex-wrap:nowrap}.custom-system>div{min-width:0}

/* Keep the comparison-table mark and Telospath OS together before its subtitle. */
.comparison th:nth-child(2){white-space:nowrap}.comparison th:nth-child(2)>img{display:inline-block!important;vertical-align:middle!important;margin:0 8px 0 0!important}.comparison th:nth-child(2) small{display:block;margin-top:7px}

/* Approved option B: semantic, responsive implementation. */
/* User refinement: sharper professional typography and stronger sage contrast. */
.os-advantages{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:0 0 56px;border-top:1px solid #c4c3bb;padding-top:28px}.os-advantages strong{font-size:23px;color:#303030}.os-advantages p{font-size:17px;line-height:1.6}.comparison-v2 th:nth-child(2),.comparison-v2 td:nth-child(2){background:#303030;color:#f0efeb}.comparison-v2 td:nth-child(2){border-color:#92928d}.comparison-v2 td strong{display:block;font-size:18px;margin-bottom:10px}.comparison-v2 th:nth-child(2) small{color:#c4c3bb}.comparison-close{display:flex;gap:48px;align-items:center;justify-content:space-between;margin-top:38px}.comparison-close p{font-size:17px;max-width:720px}.comparison-close strong{display:block;color:#303030;margin-bottom:8px}.comparison-close .button{background:#303030;color:white;flex:none}.comparison-v2 .section-heading h2{font-size:clamp(38px,4.5vw,64px)}
@media(max-width:740px){.os-advantages{grid-template-columns:1fr;gap:22px;margin-bottom:36px}.os-advantages strong{font-size:22px}.comparison-close{display:block}.comparison-close .button{margin-top:12px;white-space:normal}}
[hidden]{display:none!important}html{scrollbar-color:#92928d #151515}::selection{background:#f0efeb;color:#151515}a{text-underline-offset:4px}
.section-heading p{max-width:720px}.section{padding-block:96px}.section-heading{margin-bottom:44px}.section-heading h2{max-width:1000px}
.industry-tabs{display:flex;border-bottom:1px solid var(--line);gap:32px;margin:0 0 30px}.industry-tabs button{background:transparent;color:var(--soft);border:0;border-bottom:2px solid transparent;padding:16px 0;font:inherit;font-size:23px;cursor:pointer}.industry-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}
.industry-summary{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;margin-bottom:28px}.industry-summary h3{font-size:25px;margin:0 0 12px}.industry-summary p{margin:0;max-width:640px}.industry-summary .industry-benefit{font-size:22px;color:var(--accent)}.map-toolbar{display:flex;align-items:center;gap:26px;margin:28px 0 22px}.map-status{font-size:16px;color:var(--soft)}.map-reset{background:none;border:0;font:inherit;cursor:pointer}
.industry-panel .swimlane-scroll{border:1px solid var(--line);overflow:auto;scrollbar-color:#92928d #151515;max-width:100%;background:#151515}.industry-panel .swimlane-scroll:before{display:none}.industry-panel .swimlane{width:100%;min-width:1360px;display:block;max-width:none}.industry-panel .swimlane text{font-family:Wix,sans-serif;font-size:17px;fill:#f0efeb}.industry-panel .swimlane .edge-label{font-size:14px;fill:#c4c3bb}.industry-panel .swimlane .stage-headings,.industry-panel .swimlane .lane-labels{font-size:15px}.map-connector{fill:none;stroke-width:1.6}.map-node{transition:opacity 180ms ease}.map-node.is-current rect,.map-node.is-current path{stroke-width:3;fill:#5b5b58}.map-connector.is-current{stroke-width:3}.industry-panel .map-legend{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;margin:18px 0;color:var(--soft)}.map-legend span:before{content:'';width:22px;height:2px;display:inline-block;vertical-align:middle;margin-right:8px;background:#c4c3bb}.map-legend span:nth-child(2):before{background:#c4c3bb}.map-legend span:nth-child(3):before{background:#c4c3bb}.map-legend span:nth-child(4):before{background:#c4c3bb}.map-transcript{border-top:1px solid var(--line);padding:18px 0}.map-transcript summary{font-size:18px;cursor:pointer}.map-transcript ol{max-width:950px;padding-left:24px}.map-transcript li{margin:16px 0;padding-left:8px;color:var(--soft)}.workflow-boundary,.comparison-note{font-size:15px;line-height:1.6;margin:26px 0 0;color:var(--soft);max-width:1000px}
.comparison-v2 .comparison-scroll{max-width:100%;overflow:auto;scrollbar-color:#92928d #f0efeb}.comparison-v2 table{width:100%;min-width:1080px;table-layout:fixed}.comparison-v2 th,.comparison-v2 td{width:20%;font-size:17px;line-height:1.5;padding:24px 20px;vertical-align:top}.comparison-v2 th:first-child{width:18%}.comparison-v2 th:nth-child(2){white-space:normal}.comparison-v2 .os-wordmark{font-size:21px;gap:8px}.comparison-v2 .os-wordmark img{width:36px;height:23px}.comparison-v2 small{display:block;font-size:13px;margin-top:10px;font-weight:400}.comparison-v2 .comparison-note{color:#5b5b58}.comparison-v2 caption{padding-bottom:22px}
.offer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.offer-column{border-top:1px solid #92928d;padding:28px 0 0;display:flex;flex-direction:column;align-items:flex-start}.offer-column h3{font-size:26px;margin:0 0 24px}.offer-column h3 .os-wordmark{font-size:26px}.offer-column h3 img{width:42px;height:26px}.offer-column .offer-promise{font-size:29px;line-height:1.25;color:var(--ink);margin:0 0 18px;min-height:108px}.offer-column>p:not(.offer-promise){font-size:17px}.offer-column ul{padding-left:20px;margin:16px 0 24px}.offer-column li{padding-left:5px;margin-bottom:12px;font-size:17px}.offer-column .offer-scope{margin-top:auto;color:var(--soft);font-size:15px}.offer-column .text-link{font-size:17px}.offer-featured{border-top:3px solid var(--accent);padding:26px 24px 0;background:#303030}.offer-compare{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.offer-compare>div{padding:22px 20px 22px 0}.offer-compare strong,.offer-compare span{display:block}.offer-compare strong{font-weight:400;color:var(--ink);margin-bottom:6px}.offer-compare span{font-size:16px;color:var(--soft)}
.security-path{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #92928d;border-bottom:1px solid var(--line)}.security-path>div{padding:28px 24px 30px;border-right:1px solid var(--line)}.security-path>div:first-child{padding-left:0}.security-path>div:last-child{border-right:0}.security-step{display:block;color:var(--accent);font-size:16px;margin-bottom:26px}.security-path h3{font-size:27px;line-height:1.2;margin:0 0 18px}.security-path p{font-size:17px}.security-path small{display:block;color:#c4c3bb;font-size:14px;line-height:1.5;margin-top:26px}.security-close{display:flex;justify-content:space-between;gap:48px;align-items:center;margin-top:28px}.security-close p{max-width:700px}.security-close strong{color:var(--ink);font-weight:400}.security-v2 .security-note{font-size:14px;margin-top:30px;border:0;padding:0;color:var(--soft)}
@media(max-width:1000px){.offer-columns{gap:20px}.offer-column .offer-promise{font-size:25px;min-height:125px}.offer-featured{padding-inline:16px}.security-path{grid-template-columns:repeat(2,1fr)}.security-path>div:nth-child(2){border-right:0}.security-path>div:nth-child(3){padding-left:0;border-top:1px solid var(--line)}.security-path>div:nth-child(4){border-top:1px solid var(--line)}.industry-summary{gap:32px}}
@media(max-width:740px){.section{padding-block:64px}.section-heading{margin-bottom:30px}.industry-tabs{gap:24px;margin-bottom:26px}.industry-tabs button{font-size:20px}.industry-summary{grid-template-columns:1fr;gap:16px}.industry-summary h3{font-size:24px}.industry-summary .industry-benefit{font-size:20px}.map-toolbar{gap:18px;flex-wrap:wrap}.map-status{width:100%;font-size:14px}.industry-panel .map-legend{gap:12px 20px;font-size:12px}.workflow-boundary,.comparison-note{font-size:14px}.offer-columns{grid-template-columns:1fr;gap:42px}.offer-column .offer-promise{min-height:0;font-size:28px}.offer-column h3{margin-bottom:18px}.offer-featured{padding:24px 20px}.offer-compare{grid-template-columns:1fr}.offer-compare>div{padding:18px 0;border-bottom:1px solid var(--line)}.offer-compare>div:last-child{border:0}.security-path{grid-template-columns:1fr}.security-path>div{padding:25px 0!important;border-right:0;border-bottom:1px solid var(--line)}.security-step{margin-bottom:14px}.security-path small{margin-top:15px}.security-close{display:block}.security-close .text-link{margin-top:12px}.comparison-v2 th,.comparison-v2 td{font-size:16px;padding:20px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.map-node{transition:none}.hero-rail *{animation:none!important}}
:root{--canvas:#151515;--surface:#151515;--ink:#f0efeb;--soft:#c4c3bb;--line:#5b5b58;--accent:#c4c3bb}
body{background:var(--canvas);font-size:18px} .wrap{width:calc(100% - 128px);max-width:1408px;margin-inline:auto}
.site-header{height:78px;border-bottom:1px solid var(--line);padding:0;max-width:none;width:calc(100% - 64px)}
.site-header .brand{margin-left:32px;font-size:34px;font-weight:400}.site-header .brand img{width:66px;height:34px}.site-header nav{margin-right:32px;gap:36px}.site-header nav .button{min-width:206px}
.hero-b{display:block;height:auto!important;min-height:0!important;text-align:center;padding:54px 0 43px;background:var(--canvas);overflow:visible}
.hero-b h1{font-size:82px;line-height:1.06;letter-spacing:-.035em;font-weight:400;margin:0;color:var(--ink)}
.hero-b .hero-lead{font-size:24px;line-height:1.25;max-width:1000px;margin:24px auto 0;color:var(--soft)}
.hero-actions{display:flex;justify-content:center;gap:20px;margin-top:30px}.button{font-weight:400}.button-outline{background:transparent;color:var(--ink);border:1px solid #c4c3bb;min-width:198px}
.hero-rail{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:36px 0 0;list-style:none;gap:0}
.hero-rail li{position:relative;display:flex;align-items:center;flex-direction:column;gap:12px;font-size:18px;line-height:1.4;color:var(--ink)}
.rail-icon{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);background:var(--canvas);z-index:1}
.line-icon{width:32px;height:32px;flex:none}.hero-rail li:not(:last-child):after{content:'';position:absolute;top:35px;left:calc(50% + 44px);width:calc(100% - 90px);height:1px;background:var(--accent)}
.hero-rail li:not(:last-child):before{content:'';position:absolute;right:calc(-50% + 45px);top:31px;width:8px;height:8px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}
.business-b{padding:48px 0 60px;background:#151515;border-top:1px solid #5b5b58}.business-b-grid{display:grid;grid-template-columns:42% 58%;align-items:center;gap:0}.business-b h2{font-size:58px;line-height:1.04;margin:0;letter-spacing:-.035em}.business-b p{font-size:24px;line-height:1.3;margin:28px 0 0;color:var(--soft)}
.business-b .department-row:before,.business-b .department-row:after,.business-b .department-row span:before,.business-b .department-row span:after{display:none}.business-b .department-row span{border:0;padding:0;background:none;min-width:0}.business-b .department-row{margin:0;padding:0}.hero-b{padding-bottom:29px}
.business-b-diagram{padding:0 22px}.department-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.department-row>div{display:flex;gap:14px;align-items:center;border:1px solid #92928d;padding:13px 16px;border-radius:3px;min-height:80px}.department-row strong{display:block;font-weight:400;font-size:15px}.department-row small{display:block;font-size:14px;line-height:1.25;color:var(--soft);margin-top:4px}
.department-connectors{display:grid;grid-template-columns:repeat(4,1fr);height:50px;margin:0 12%;position:relative}.department-connectors i{border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);border-radius:0 0 0 20px;height:28px}.department-connectors:after{content:'';position:absolute;left:50%;top:28px;height:22px;border-left:1px solid var(--accent)}
.business-b-core{margin:0 28px;padding:15px 12px;background:#f0efeb;color:#151515;text-align:center;border-radius:3px}.os-wordmark{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;line-height:1.2}.os-wordmark img{display:block!important;flex:none;object-fit:contain;margin:0!important}.business-b-core .os-wordmark{font-size:24px}
.foundation-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px;padding:0 22px}.foundation-row>span{position:relative;text-align:center;border:1px solid #92928d;padding:12px 6px;border-radius:3px;font-size:14px}.foundation-row>span:before{content:'';position:absolute;top:-35px;height:34px;left:50%;border-left:1px solid #92928d}
.hero-actions{margin-top:18px}.hero-b{padding-bottom:41px}.hero-actions .button:first-child{min-width:212px}.business-b .department-row>div{height:80px;padding:8px 12px;gap:10px}.business-b .department-row .line-icon{width:26px}.business-b .department-row strong{line-height:18px}.business-b .department-row small{font-size:13px;line-height:17px}.business-b-core{height:64px;display:flex;align-items:center;justify-content:center}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.business-b h2{font-size:46px}.business-b p{font-size:20px}.business-b-diagram{padding:0 0 0 20px}.department-row>div{padding:12px 8px;gap:8px}.department-row .line-icon{width:23px}.department-row small{font-size:12px}.hero-b h1{font-size:76px}}
@media(max-width:900px){.site-header nav{gap:20px;margin-right:0}.site-header .brand{margin-left:0}.site-header .brand img{width:48px}.site-header .brand{font-size:28px}.business-b-grid{grid-template-columns:1fr;gap:36px}.business-b-diagram{padding:0}.business-b h2{font-size:46px}.business-b p{font-size:20px}.department-row small{font-size:14px}.business-b{padding:52px 0}.hero-b .hero-lead{font-size:21px}.hero-rail li{font-size:16px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.site-header{width:calc(100% - 40px);height:76px}.site-header nav{margin:0}.site-header .brand{font-size:27px}.hero-b{padding:52px 0 42px}.hero-b h1{font-size:clamp(43px,10vw,64px)}.hero-b .hero-lead{font-size:18px;line-height:1.5;margin-top:24px}.hero-lead br{display:none}.hero-actions{gap:12px;flex-wrap:wrap;margin-top:26px}.hero-actions .button{padding:15px 18px;min-width:0;font-size:15px}.hero-rail{grid-template-columns:repeat(2,1fr);gap:26px 10px;margin-top:38px}.hero-rail li{font-size:14px;gap:10px}.hero-rail li:before,.hero-rail li:after{display:none}.rail-icon{width:54px;height:54px}.rail-icon .line-icon{width:26px;height:26px}.business-b h2{font-size:40px}.business-b p{font-size:18px;margin-top:20px}.department-row{grid-template-columns:repeat(2,1fr);gap:12px}.department-row>div{padding:12px;min-height:84px}.department-row small{font-size:13px}.department-connectors{height:30px}.department-connectors:after{height:2px}.business-b-core{margin:0;padding:17px 10px}.business-b-core .os-wordmark{font-size:24px}.foundation-row{grid-template-columns:repeat(2,1fr);padding:0;margin-top:24px;gap:12px}.foundation-row>span:before{display:none}.desktop-break{display:none}}
:root{--canvas:#151515;--surface:#151515;--ink:#f0efeb;--soft:#c4c3bb;--line:#5b5b58;--accent:#c4c3bb}
body,input,textarea,select,button{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}h1,h2,h3,.hero-b h1{font-weight:400;letter-spacing:-.025em}.brand,.os-wordmark{font-family:Wix,sans-serif}.hero-b .hero-lead{line-height:1.4}.business-b{background:#151515}.business-b-core{background:#f0efeb}.button{font-weight:500}.hero-actions .button:first-child{background:#f0efeb;color:#151515}.industry-tabs{gap:8px 28px;flex-wrap:wrap}.industry-tabs button{font-size:19px;font-weight:500}.industry-tabs button[aria-selected=true]{color:#c4c3bb;border-bottom-width:3px}.industry-panel .swimlane text{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}.industry-panel .swimlane .stage-headings{fill:#c4c3bb;font-weight:600}.industry-panel .swimlane .lane-labels{font-weight:600}.map-connector{stroke-width:2}.map-node rect,.map-node path{stroke-width:1.5}.industry-panel .swimlane .edge-label{fill:#c4c3bb}.map-legend span:before{background:#c4c3bb}.map-legend span:nth-child(2):before{background:#c4c3bb}.map-legend span:nth-child(3):before{background:#c4c3bb}.map-legend span:nth-child(4):before{background:#c4c3bb}.offer-featured{background:#303030}.security-path small{color:#c4c3bb}.department-row strong,.offer-compare strong{font-weight:500}
@media(max-width:740px){.industry-tabs{gap:0 18px}.industry-tabs button{font-size:16px;padding:14px 0}.hero-b h1{font-size:42px}.business-b h2{font-size:39px}}

/* Latest user direction: restrained navy, ivory and steel-blue; no mint or heavy headings. */
.light{background:#f0efeb;color:#303030}.light p{color:#5b5b58}.os-advantages strong{font-weight:500}.comparison-v2 td strong,.comparison-close strong{font-weight:500}.industry-tabs button{font-weight:400}.industry-panel .swimlane .stage-headings,.industry-panel .swimlane .lane-labels{font-weight:500}.comparison-v2 .comparison-note{color:#5b5b58}.industry-panel .swimlane-scroll{background:#151515}h2,h3{font-weight:400}

/* Final user refinement: monochrome. Meaning is carried by text and line pattern. */
:root{--canvas:#151515;--surface:#202020;--ink:#f0efeb;--soft:#c4c3bb;--line:#5b5b58;--accent:#d6d5ce;--sc-canvas:#151515;--sc-surface:#202020;--sc-accent:#d6d5ce}.business-b{background:#202020}.offer-featured{background:#303030}.hero-actions .button:first-child,.business-b-core{background:#d6d5ce;color:#151515}.comparison-v2 th:nth-child(2),.comparison-v2 td:nth-child(2){background:#303030;color:#f0efeb}.light{background:#f0efeb;color:#303030}.industry-tabs button[aria-selected=true]{color:#f0efeb}.map-legend span:before{height:0;background:none!important;border-top:2px solid #d6d5ce}.map-legend span:nth-child(2):before{border-top-style:dotted}.map-legend span:nth-child(3):before{border-top-style:dashed}.map-legend span:nth-child(4):before{border-top:3px dotted #f0efeb}.security-path small{color:#c4c3bb}

/* Scrollcraft enhancement. The engine stays unchanged; the business diagram is the spatial peak. */
.business-b-grid{perspective:1300px}.business-b-diagram{transform-style:preserve-3d;isolation:isolate}.business-b .department-row,.business-b-core,.foundation-row{transform-style:preserve-3d}.business-b-core{position:relative;box-shadow:0 10px 0 #777773,0 24px 32px #00000040;border-top:1px solid #f0efeb}.business-b-core:after{content:'';position:absolute;inset:8px 0 -8px;border:1px solid #92928d;border-radius:3px;transform:translateZ(-10px);pointer-events:none}.department-row>div{background:#202020;box-shadow:0 8px 16px #00000030;border-top-color:#c4c3bb}.foundation-row>span{background:#202020}.business-b{padding-block:72px;overflow:clip}.business-b-diagram{padding-block:12px}.map-node.is-current{transform-box:fill-box;transform-origin:center}.industry-panel.is-playing .map-connector.is-current{stroke-dasharray:8 6;animation:workflow-trace 800ms linear infinite}.industry-panel.is-playing .map-node.is-current{animation:workflow-arrive 420ms cubic-bezier(.23,1,.32,1) both}.industry-panel.is-playing .swimlane{box-shadow:inset 0 1px #d6d5ce40}
@keyframes workflow-trace{to{stroke-dashoffset:-28}}
@keyframes workflow-arrive{from{transform:translateY(5px);opacity:.6}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:no-preference) and (min-width:901px){.business-b .department-row{transform:translate3d(0,calc((.5 - var(--sc-p, .5))*28px),36px)}.business-b-core{transform:translateZ(58px)}.business-b .foundation-row{transform:translate3d(0,calc((var(--sc-p,.5) - .5)*18px),18px)}.business-b .department-connectors{transform:scaleY(calc(.7 + var(--sc-p,.5)*.3));transform-origin:center bottom}.business-b .foundation-row>span:before{transform:scaleY(calc(.7 + var(--sc-p,.5)*.3));transform-origin:center bottom}}
@media(hover:hover) and (pointer:fine){.offer-column .text-link svg,.button svg{transition:transform 180ms cubic-bezier(.23,1,.32,1)}.offer-column .text-link:hover svg,.button:hover svg{transform:translateX(4px)}}
@media(max-width:900px){.business-b-core{box-shadow:0 6px 0 #777773,0 16px 24px #00000030}.business-b{padding-block:52px}.business-b-diagram{transform:none!important}}
@media(prefers-reduced-motion:reduce){.business-b-diagram,.business-b .department-row,.business-b-core,.foundation-row{transform:none!important}.industry-panel .map-connector,.industry-panel .map-node{animation:none!important}.hero-rail{transform:none!important}}

/* User-selected split composition: real text and connected workflow UI. */
.hero-split{padding:60px 0 64px;text-align:left;overflow:clip;max-height:none}
.hero-split-grid{display:grid;grid-template-columns:43% 57%;align-items:center;gap:0;perspective:1400px}
.hero-split .hero-copy,.hero-split .hero-copy p{text-align:left}
.hero-split .hero-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.26em;margin:0 0 20px;color:var(--soft)}
.hero-split h1{font-size:clamp(54px,5.7vw,90px);letter-spacing:-.045em;line-height:.99}
.hero-split .hero-lead{font-size:23px;line-height:1.36;margin:26px 0;max-width:530px}
.hero-split .hero-actions{justify-content:flex-start;gap:14px;margin-top:26px}
.hero-split .button{padding:16px 23px;min-width:0;gap:18px}
.hero-flow{position:relative;aspect-ratio:800/430;transform-style:preserve-3d;margin-left:28px}
.hero-flow-lines{position:absolute;inset:0;width:100%;height:100%;color:#c4c3bb;overflow:visible}
.flow-card{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:1px solid #b5b5af;border-radius:7px;padding:18px 16px;background:#151515;box-shadow:0 5px 0 #252525,0 14px 24px #00000024;min-width:0}
.flow-card>.line-icon{width:31px;height:31px;margin-bottom:10px}
.flow-card>strong{font-weight:400;font-size:17px;line-height:1.15}
.flow-card p{font-size:13px;line-height:1.42;color:var(--soft);margin:12px 0 0}
.flow-enquiry{left:0;top:26%;width:16%;height:47%}
.flow-os{left:23%;top:20%;width:21%;height:59%;padding-inline:10px}
.flow-os .os-wordmark{font-size:16px;gap:5px}
.flow-os .os-wordmark img{width:32px;height:22px}
.flow-os p{padding-left:4px}
.flow-prepare{left:53%;top:0;width:22%;height:40%}
.flow-approve{left:53%;top:59%;width:22%;height:41%}
.flow-tools{left:82%;top:26%;width:18%;height:50%}
.business-split{background:#e9e9e3;color:#151515;padding:44px 0 48px;border-top:0}
.business-split .business-b-grid{grid-template-columns:43% 57%;gap:0}
.business-split h2{font-size:clamp(40px,4.5vw,68px);line-height:1.02;letter-spacing:-.035em}
.business-split p{font-size:21px;line-height:1.4;color:#5b5b58;margin-top:20px;max-width:570px}
.business-split .business-detail{font-size:18px;line-height:1.45;margin-top:16px;max-width:550px}
.business-split .business-b-diagram{padding:0 0 0 28px}
.business-split .department-row{gap:12px}
.business-split .department-row>div{background:#e9e9e3;border-color:#b5b5af;box-shadow:0 4px 12px #00000008;height:86px;padding:10px;align-items:flex-start;gap:10px}
.business-split .department-row small{color:#5b5b58;font-size:12px;line-height:1.3}
.business-split .department-row strong{color:#151515;font-size:14px;font-weight:500}
.business-split .department-connectors{color:#5b5b58;height:42px;--accent:#5b5b58;transform:none}
.business-split .department-row,.business-split .foundation-row{transform:none}
.business-split .department-connectors:before{content:'';position:absolute;left:0;right:0;top:28px;border-top:1px solid #777773}
.business-split .foundation-row:after{content:'';position:absolute;top:-20px;left:12%;right:12%;height:20px;border-top:1px solid #777773}
.business-split .foundation-row{position:relative}
.business-split .department-connectors:after{height:14px}
.business-split .business-b-core{background:#151515;color:#f0efeb;max-width:310px;margin:auto;height:62px;border:1px solid #303030;box-shadow:0 6px 0 #777773,0 16px 20px #00000018}
.business-split .business-b-core:after{display:none}
.business-split .business-b-core .os-wordmark{font-size:21px}
.business-split .foundation-row{padding:0;gap:12px;margin-top:32px}
.business-split .foundation-row>span{background:#e9e9e3;color:#151515;text-align:left;min-height:88px;padding:12px;border-color:#b5b5af}
.business-split .foundation-row strong{display:block;font-size:14px;font-weight:500}
.business-split .foundation-row small{display:block;font-size:12px;line-height:1.35;color:#5b5b58;margin-top:6px}
.business-split .foundation-row>span:before{top:-21px;height:20px;border-color:#777773;transform:none}
@media(prefers-reduced-motion:no-preference){
 .hero-flow-lines g>path{stroke-dasharray:100;animation:hero-connect 1.5s cubic-bezier(.22,1,.36,1) both}
 .hero-flow-lines g>path:nth-child(2){animation-delay:.2s}.hero-flow-lines g>path:nth-child(3){animation-delay:.4s}.hero-flow-lines g>path:nth-child(4){animation-delay:.6s}
 .flow-card{animation:hero-card-in .7s cubic-bezier(.22,1,.36,1) both}.flow-os{animation-delay:.1s}.flow-prepare{animation-delay:.2s}.flow-approve{animation-delay:.3s}.flow-tools{animation-delay:.4s}
}
@keyframes hero-connect{from{stroke-dashoffset:100;opacity:.2}to{stroke-dashoffset:0;opacity:1}}
@keyframes hero-card-in{from{opacity:0;transform:translate3d(0,14px,-20px)}to{opacity:1;transform:translate3d(0,0,10px)}}
@media(max-width:1200px){
 .hero-split-grid{grid-template-columns:44% 56%}.hero-split h1{font-size:58px}.hero-split .hero-lead{font-size:20px}.hero-split .button{padding:14px 16px;font-size:14px;gap:10px}.hero-flow{margin-left:18px;aspect-ratio:800/480}.flow-card{padding:12px 9px}.flow-card>strong{font-size:14px}.flow-card p{font-size:11px}.flow-os .os-wordmark{font-size:13px;gap:3px}.flow-os .os-wordmark img{width:25px}.business-split .department-row .line-icon{display:none}.business-split .business-b-diagram{padding-left:20px}
}
@media(max-width:1200px){
 .hero-split-grid,.business-split .business-b-grid{grid-template-columns:1fr;gap:40px}.hero-split .hero-copy{max-width:650px}.hero-split h1{font-size:72px}.hero-flow{max-width:800px;width:100%;margin:0;aspect-ratio:800/430;transform:none!important}.flow-card>strong{font-size:17px}.flow-card p{font-size:13px}.flow-os .os-wordmark{font-size:17px}.flow-os .os-wordmark img{width:32px}.business-split .business-b-diagram{padding:0}.business-split .department-row .line-icon{display:block}
}
@media(max-width:600px){
 .hero-split{padding:38px 0 44px}.hero-split h1{font-size:clamp(42px,10.5vw,62px)}.hero-split .hero-lead{font-size:19px}.hero-split .hero-eyebrow{font-size:10px;letter-spacing:.18em}.hero-split .hero-actions{flex-wrap:wrap;gap:12px}.hero-split .button{padding:14px 16px}.hero-split .button svg{width:18px}.hero-flow{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-left:15px;border-left:1px solid #777773}.hero-flow-lines{display:none}.flow-card{position:relative;inset:auto;width:auto;height:auto;min-height:145px;padding:16px;box-shadow:0 4px 0 #303030}.flow-card>strong{font-size:17px}.flow-card p{font-size:13px}.flow-enquiry{grid-column:1}.flow-os{grid-column:2}.flow-prepare{grid-column:1}.flow-approve{grid-column:2}.flow-tools{grid-column:1/-1;min-height:110px}.flow-tools p{line-height:1.6}.flow-tools p br{display:none}.flow-tools p br:after{content:' · '}.flow-os .os-wordmark{font-size:14px;gap:4px}.flow-os .os-wordmark img{width:27px}.business-split{padding:42px 0}.business-split h2{font-size:42px}.business-split p{font-size:19px}.business-split .business-detail{font-size:17px}.business-split .department-row>div{height:auto;min-height:85px}.business-split .business-b-grid{gap:32px}.business-split .department-connectors{height:34px}.business-split .department-connectors:after{height:6px}.business-split .foundation-row{margin-top:26px}
}
@media(prefers-reduced-motion:reduce){.hero-flow{transform:none!important}.flow-card,.hero-flow-lines g>path{animation:none!important}}
@media(max-width:600px){.business-split .foundation-row:after{display:none}.flow-tools p br{display:initial}}
.business-split .department-connectors{height:62px;margin:0;display:block;transform:none}
.business-split .department-connectors:before,.business-split .department-connectors:after{display:none}
.department-connectors>svg{display:block;width:100%;height:100%;color:#686862;overflow:visible}
@media(max-width:740px){.business-split .department-connectors{height:54px}.department-connectors .merge-outer{d:path('M200 0V16Q200 30 214 30H386Q400 30 400 44M600 0V16Q600 30 586 30H414Q400 30 400 44')}.department-connectors .merge-inner{display:none}}

/* Approved Vapour Chrome: one muted cyan for action, focus and active work. */
:root{--action:#97ccd5;--action-hover:#b3dce2;--action-ink:#101719;--focus:#97ccd5}
.light{--focus:#286771}
.site-header nav .button,.hero-split .hero-actions .button:first-child,
.map-play,.comparison-close .button,#enquiry-form>.button{background:var(--action);color:var(--action-ink);border-color:transparent}
.industry-tabs button[aria-selected=true]{color:var(--action);border-bottom-color:var(--action)}
.industry-panel .map-node.is-current rect,.industry-panel .map-node.is-current path{stroke:var(--action);fill:#203033}
.industry-panel .map-connector.is-current{stroke-width:3.5}
.industry-panel .map-legend span:nth-child(1):before{border-color:#97ccd5}
.industry-panel .map-legend span:nth-child(2):before{border-color:#a9b8ef}
.industry-panel .map-legend span:nth-child(3):before{border-color:#e2bd78}
.industry-panel .map-legend span:nth-child(4):before{border-color:#ee9892}
.industry-panel.is-playing .map-connector[data-kind=data].is-current{stroke-dasharray:4 5}
.industry-panel.is-playing .map-connector[data-kind=review].is-current{stroke-dasharray:10 5}
.industry-panel.is-playing .map-connector[data-kind=urgent].is-current{stroke-dasharray:2 5}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:var(--focus)}
input,textarea{caret-color:var(--action)}::selection{background:var(--action);color:var(--action-ink)}
@media(hover:hover){.site-header nav .button:hover,.hero-split .hero-actions .button:first-child:hover,.map-play:hover,.comparison-close .button:hover,#enquiry-form>.button:hover{background:var(--action-hover)}}

/* Scroll assembly preserves the reading plane while the system gains depth. */
.business-split .business-b-diagram{transform-origin:50% 60%;backface-visibility:hidden}
.business-split .department-connectors{position:relative}
.business-split .department-connectors svg{position:relative;z-index:1}
@media(min-width:1201px) and (prefers-reduced-motion:no-preference){
 .business-split .business-b-core{transform:translateZ(calc(18px + var(--assembly,1)*28px));box-shadow:0 10px 18px #00000025,0 20px 30px #00000016}
 .business-split .department-row{transform:translateZ(14px)}
 .business-split .foundation-row{transform:translateZ(8px)}
 .hero-flow .flow-os{box-shadow:0 9px 18px #00000040,0 20px 34px #00000025;border-top-color:#e9e9e3}
}
.business-split .business-detail{max-width:42ch}.section-heading p{max-width:52ch}
.flow-os .os-wordmark{font-size:14px;gap:4px}.flow-os .os-wordmark img{width:28px;height:22px}
.flow-card{padding-block:14px}.flow-card>.line-icon{height:26px;width:26px;margin-bottom:8px}
.flow-card p{font-size:13px;line-height:1.35;margin-top:10px}

/* A concise, tick-led delivery comparison. */
.comparison-v3{padding-block:76px}
.comparison-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:44px}
.comparison-intro h2{font-size:clamp(36px,4.3vw,62px);max-width:750px}
.comparison-intro p{font-size:19px;line-height:1.5;max-width:330px}
.comparison-v3 table{min-width:960px}
.comparison-v3 th,.comparison-v3 td{padding:22px 20px;font-size:17px;vertical-align:middle;line-height:1.4}
.comparison-v3 th:first-child{width:28%;font-weight:500}
.comparison-v3 th:nth-child(2),.comparison-v3 td:nth-child(2){width:21%;text-align:center;background:#202525;color:#f0efeb;border-color:#424c4e}
.comparison-v3 thead th{padding-block:26px;vertical-align:middle}
.comparison-v3 thead th:not(:first-child){font-size:19px}
.comparison-v3 .os-wordmark{font-size:21px;gap:7px}
.comparison-v3 th:nth-child(2) small{color:#c4c3bb;font-size:12px}
.comparison-v3 td:not(:nth-child(2)){font-size:16px;color:#62625c}
.included-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:5px;background:#97ccd5;color:#101719}
.included-mark svg{width:23px;height:23px;stroke-width:2}
.comparison-footer{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:28px}
.comparison-footer p{max-width:660px;font-size:13px;line-height:1.5}
.comparison-footer .button{background:#97ccd5;color:#101719;flex:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
@media(max-width:740px){
 .comparison-v3{padding-block:52px}.comparison-intro{display:block;margin-bottom:28px}.comparison-intro p{font-size:17px;margin-top:20px;max-width:32ch}
 .comparison-v3 table{width:850px;min-width:850px}.comparison-v3 th:first-child{width:160px}.comparison-v3 th:nth-child(2),.comparison-v3 td:nth-child(2){width:150px}
 .comparison-v3 th,.comparison-v3 td{padding:18px 12px;font-size:16px}
 .comparison-v3 .os-wordmark{font-size:15px;gap:4px}.comparison-v3 .os-wordmark img{width:25px;height:19px}
 .comparison-v3 thead th:not(:first-child){font-size:17px}.comparison-footer{display:block}.comparison-footer .button{margin-top:20px}
}
