/* Font files live in fonts/ — not embedded in this stylesheet */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url('fonts/outfit.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/dm-sans.woff2') format('woff2');
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('fonts/syne.woff2') format('woff2');
}
@font-face {
  font-family: 'Webeve Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/webeve-script.ttf') format('truetype');
}
:root {
      --bg: #ffffff;
      --bg-glass: rgba(255, 255, 255, .82);
      --bg-soft: #f4f8fb;
      --frame: #fafafa;
      --line: #dce1e2;
      --ink: #000000;
      --ink-2: #1249A8;
      --muted: #586370;
      --accent: #a60066;
      --sky: #1A62D4;
      --blue: #1A62D4;
      --blue-deep: #1249A8;
      --violet: #8b5cf6;
      --pink: #ff5fb0;
      --teal: #00b4cc;
      --orange: #f5720f;
      --orange-text: #c2500a;
      --font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
      --display: 'Outfit', 'Syne', system-ui, sans-serif;
      --hero-font: 'Outfit', 'Syne', system-ui, sans-serif;
      --ease: cubic-bezier(.2, .8, .2, 1);
      --max: 1480px;
      color-scheme: light;
    }
    :root[data-theme="dark"] {
      --bg: #080b10;
      --bg-glass: rgba(8, 11, 16, .78);
      --bg-soft: #0f141b;
      --frame: #11161d;
      --line: #242c37;
      --ink: #f4f6f9;
      --ink-2: #8AAEFF;
      --blue: #3D78E8;
      --sky: #3D78E8;
      --muted: #98a3b0;
      --accent: #e0208d;
      --orange-text: #ff9a4d;
      color-scheme: dark;
    }

    * { padding: 0; margin: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body {
      font-family: var(--font);
      background: var(--bg);
      color: var(--ink);
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
      transition: background .3s, color .3s;
    }
    .flex-row { display: flex; flex-direction: row; }
    .flex-col { display: flex; flex-direction: column; }
    .al-c { align-items: center; }
    .jc-bt { justify-content: space-between; }
    .p-13 { padding: 1.3em; }
    .g-3 { gap: .3em; }
    .g-6 { gap: .9em; }
    .flex { flex: 1; }
    .rel { position: relative; }
    button, select, textarea, input { background: none; border: none; font: inherit; color: inherit; }
    button:focus, select:focus, textarea:focus, input:focus { outline: none; }
    button { cursor: pointer; }
    a { color: inherit; }
    :focus-visible { outline: 2px solid var(--sky); outline-offset: 3px; border-radius: 8px; }
    h1, h2, h3 { text-wrap: balance; font-family: var(--display); }

    .ic { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
    .fl { width: 1em; height: 1em; fill: currentColor; stroke: none; flex: none; }
    .wrap { max-width: var(--max); margin: 0 auto; padding: 0 1.25em; }
    .section { padding: 3.6em 0; scroll-margin-top: 72px; }
    .sec-head { max-width: 680px; margin-bottom: 2em; }
    .sec-head h2 { font-size: clamp(1.7rem, 5.2vw, 2.75rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 800; }
    .sec-head p { margin-top: .75em; color: var(--muted); font-size: .9rem; max-width: 52ch; }

    /* header */
    .site-header {
      position: sticky; top: 0; z-index: 60;
      background: var(--bg-glass);
      -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
      border-bottom: 1px solid transparent;
      padding-top: env(safe-area-inset-top, 0px);
      transition: border-color .25s;
    }
    .site-header.scrolled { border-bottom-color: var(--line); }
    .bar { max-width: var(--max); margin: 0 auto; padding: .6em 1.25em; display: flex; align-items: center; justify-content: space-between; gap: 1em; }
    .brand { display: flex; align-items: center; gap: .55em; text-decoration: none; }
    .brand-mark {
      width: 40px; height: 40px; border-radius: 22%; overflow: hidden;
      display: grid; place-items: center; flex: none;
      background: transparent;
    }
    .brand-mark img, .brand-mark .logo-fallback {
      width: 100%; height: 100%; object-fit: contain; display: block;
    }
    /* theme-aware mask: dark logo on light, light logo on dark */
    .brand-mark img {
      filter: none;
      transition: filter .25s;
    }
    :root[data-theme="light"] .brand-mark img { filter: brightness(0) saturate(100%); }
    :root[data-theme="dark"] .brand-mark img { filter: brightness(0) invert(1); }
    .brand-mark .logo-fallback { display: none; }
    .brand-mark.img-fail img { display: none; }
    .brand-mark.img-fail .logo-fallback { display: block; }
    .logo-fallback { width: 100%; height: 100%; }
    .logo-fallback circle, .logo-fallback path { fill: var(--ink); }

    .brand-name { display: flex; align-items: baseline; gap: .28em; font-family: var(--display); }
    .site-header .brand-name b,
    .brand-name b {
      font-family: 'Webeve Script', cursive !important;
      font-weight: 400;
      font-size: 2rem;
      letter-spacing: .01em;
      line-height: .85;
      color: #2f2f2f;
      -webkit-font-smoothing: antialiased;
    }
    :root[data-theme="dark"] .brand-name b { color: #f2f2f2; }
    .brand-name span { font-weight: 650; font-size: 1.05rem; letter-spacing: -.02em; }
    .brand-name .country {
      font-size: .58rem; font-weight: 700; color: var(--muted);
      letter-spacing: .04em; text-transform: uppercase;
      margin-left: .15em; vertical-align: super;
    }
    @media (max-width: 640px) {
      .brand-name b { font-size: 1.45rem; }
      .brand-name span { font-size: 1rem; }
      .brand-mark { width: 34px; height: 34px; }
    }

    .bar-actions { display: flex; align-items: center; gap: 1px; margin-right: -4px; }
    .icon-btn { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: inherit; transition: background .2s, transform .15s; }
    .icon-btn:hover { background: var(--bg-soft); }
    .icon-btn:active { transform: scale(.92); }
    .icon-btn .ic { width: 22px; height: 22px; }
    .bar-actions .icon-btn { width: 26px; height: 26px; padding: 0; }
    .bar-actions .icon-btn .ic { width: 14px; height: 14px; }
    .nav { display: none; gap: .2em; align-items: center; }
    .nav a, .nav-drop-btn {
      display: flex; align-items: center; gap: .4em; padding: .5em .85em; border-radius: 99px;
      color: var(--muted); text-decoration: none; font-weight: 600; font-size: .92rem;
      background: none; border: 0; cursor: pointer; font-family: inherit;
      transition: background .2s, color .2s;
    }
    .nav a:hover, .nav-drop-btn:hover, .nav-drop.open .nav-drop-btn, .nav-drop:focus-within .nav-drop-btn {
      background: var(--bg-soft); color: var(--ink);
    }
    .nav .ic { width: 1.05em; height: 1.05em; }
    .nav-drop { position: relative; }
    .nav-drop-btn .ic { width: .85em; height: .85em; opacity: .7; }
    .nav-menu {
      position: absolute; top: calc(100% + 6px); left: 0; min-width: 200px;
      display: none; flex-direction: column; gap: 2px;
      padding: .45em; border-radius: 14px;
      background: var(--bg); border: 1px solid var(--line);
      box-shadow: 0 16px 40px rgba(0,0,0,.12);
      z-index: 80;
    }
    .nav-drop.open .nav-menu, .nav-drop:hover .nav-menu, .nav-drop:focus-within .nav-menu {
      display: flex;
    }
    .nav-menu a { border-radius: 10px; white-space: nowrap; }
    @media (min-width: 880px) { .nav { display: flex; } .menu-btn { display: none; } }

    /* menu sheet */
    .sheet {
      position: fixed; inset: 0; z-index: 100; background: var(--bg);
      display: flex; flex-direction: column; overflow-y: auto;
      padding: calc(.65em + env(safe-area-inset-top, 0px)) 1.25em calc(2em + env(safe-area-inset-bottom, 0px));
      opacity: 0; visibility: hidden; transform: translateY(-10px);
      transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s .25s;
    }
    .sheet.open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
    .sheet-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2em; }
    .sheet-links { display: flex; flex-direction: column; gap: .35em; }
    .sheet-label {
      margin: 1em 0 .2em; padding: 0 .6em;
      font-size: .72rem; font-weight: 800; letter-spacing: .08em;
      text-transform: uppercase; color: var(--muted);
    }
    .sheet-label:first-child { margin-top: .2em; }
    .sheet-search-link {
      display: flex; align-items: center; gap: .9em; padding: .7em .6em;
      border-radius: 22px; width: 100%; text-align: left;
      background: none; border: none; font: inherit; color: inherit; cursor: pointer;
    }
    .sheet-search-link:hover, .sheet-search-link:active { background: var(--bg-soft); }
    .sheet-links a {
      display: flex; align-items: center; gap: .9em; padding: .7em .6em; border-radius: 22px;
      text-decoration: none; transition: background .2s;
    }
    .sheet-links a:hover, .sheet-links a:active { background: var(--bg-soft); }
    .sheet-links .tile {
      width: 48px; height: 48px; border-radius: 40%; display: grid; place-items: center;
      background: var(--bg-soft); border: 1px solid var(--line); flex: none;
    }
    .sheet-links .tile .ic { width: 22px; height: 22px; }
    .sheet-links b { display: block; font-size: 1.08rem; letter-spacing: -.02em; font-family: var(--display); }
    .sheet-links small { color: var(--muted); font-size: .86rem; }
    .sheet-links .go { margin-left: auto; color: var(--muted); }

    /* hero - clip overflow on mobile so blobs/ubs don't spill sideways */
    .hero { position: relative; padding: .5em 0 2.8em; overflow-x: clip; overflow-y: visible; }
    .hero-grid { max-width: var(--max); margin: 0 auto; padding: 0 1.25em; display: grid; gap: 1.5em; position: relative; z-index: 1; }
    .hero-visual { position: relative; isolation: isolate; padding: 2.2em 0 1.6em; overflow: visible; z-index: 0; }
    .hero-copy { position: relative; z-index: 2; }
    @media (min-width: 900px) {
      .hero-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 3.2em; padding-top: 2.2em; }
      .hero-visual { order: 2; }
    }
    @media (max-width: 899px) {
      .hero-visual { padding: 1.4em 0 1em; max-width: 100%; }
      .ubs { max-width: min(100%, 340px); width: 100%; }
      .blobs { inset: -10% -6% !important; }
    }

    .blobs {
      position: absolute; inset: -22% -14%; z-index: -1; pointer-events: none;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 18%, #000 82%, transparent 100%);
      mask-image: linear-gradient(to bottom, transparent 0, #000 18%, #000 82%, transparent 100%);
    }
    .blob {
      position: absolute; aspect-ratio: 1; border-radius: 50%;
      background: radial-gradient(circle, var(--c) 0%, transparent 68%);
      filter: blur(30px); opacity: 0;
      animation: blob-in 1.2s var(--ease) forwards, drift var(--d, 10s) ease-in-out 1.2s infinite alternate;
      will-change: transform;
    }
    .blob.b1 { --c: #1A62D4; --d: 11s; --dx: 10%; --dy: -8%; width: 60%; left: 26%; top: 8%; --o: .95; }
    .blob.b2 { --c: #8b5cf6; --d: 9s;  --dx: 14%; --dy: 10%;  width: 44%; left: -4%; top: 38%; --o: .6; }
    .blob.b3 { --c: #ff5fb0; --d: 12s; --dx: -12%; --dy: -10%; width: 40%; left: 62%; top: 44%; --o: .5; }
    .blob.b4 { --c: #00d3c2; --d: 8s;  --dx: 12%; --dy: 14%;  width: 34%; left: 4%; top: -2%; --o: .55; }
    .blob.b5 { --c: #ffb35c; --d: 13s; --dx: -16%; --dy: 8%;  width: 30%; left: 66%; top: 0%; --o: .5; }
    .blob.b6 { --c: #1A62D4; --d: 10s; --dx: -10%; --dy: -12%; width: 36%; left: 36%; top: 62%; --o: .7; }
    :root[data-theme="dark"] .blob { mix-blend-mode: screen; }
    @keyframes blob-in { to { opacity: var(--o, .8); } }
    @keyframes drift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(var(--dx), var(--dy), 0) scale(1.18); } }

    .ubs { display: flex; gap: .55em; align-items: center; justify-content: center; max-width: 640px; margin: 0 auto; }
    .cardub {
      position: relative; flex: 1 1 0; min-width: 0; max-width: 300px; aspect-ratio: 1;
      border-radius: 40%; padding: .4em; background: var(--frame); border: 1px solid var(--line);
      container-type: inline-size; color: #fff;
      animation: pop .8s var(--ease) both;
      transition: transform .18s var(--ease), box-shadow .25s;
    }
    .cardub:nth-child(2) { animation-delay: .14s; }
    .cardub:active { transform: scale(.965); }
    .cardub[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--bg), 0 0 0 5px var(--sky); }
    @keyframes pop { from { opacity: 0; transform: translateY(18px) scale(.86); } to { opacity: 1; transform: none; } }
    .ub-inner {
      position: relative; width: 100%; height: 100%; border-radius: 40%; overflow: hidden; isolation: isolate;
      background: #000; box-shadow: -2px -2px 2px #d0c5af;
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5em;
    }
    :root[data-theme="dark"] .ub-inner { box-shadow: -2px -2px 2px rgba(79, 196, 237, .25); }
    .ub-media { position: absolute; inset: 0; z-index: -2; }
    .ub-media canvas, .ub-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .ub-media canvas { filter: saturate(1.15); }
    .ub-build .ub-media canvas { filter: saturate(.85); }
    .ub-research .ub-media canvas { filter: blur(7px) saturate(1.2); transform: scale(1.18); }
    .ub-media video { opacity: 0; transition: opacity .5s; }
    .ub-media.is-live video { opacity: 1; }
    .ub-scrim { position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 50% 45%, rgba(0,0,0,.05), rgba(0,0,0,.55) 85%); }
    .ub-ic { width: 64px; height: 64px; stroke-width: 2.4; filter: drop-shadow(0 4px 14px rgba(0,0,0,.4)); }
    .ub-label { font-size: 1.1rem; font-weight: 700; letter-spacing: -.02em; text-shadow: 0 2px 12px rgba(0,0,0,.5); font-family: var(--display); }
    @supports (width: 1cqw) {
      .ub-ic { width: clamp(52px, 36cqw, 120px); height: clamp(52px, 36cqw, 120px); }
      .ub-label { font-size: clamp(1rem, 9.5cqw, 1.7rem); }
    }
    .ub-dot {
      position: absolute; right: 1%; bottom: 1%; width: 22%; aspect-ratio: 1; border-radius: 50%;
      background: #000; border: 4px solid var(--bg); display: grid; place-items: center; color: #fff;
      transition: transform .25s var(--ease);
    }
    .ub-dot .ic { width: 46%; height: 46%; }
    .cardub:hover .ub-dot { transform: rotate(45deg); }

    .chip-cloud {
      display: inline-flex; align-items: center; gap: .45em; flex-wrap: wrap; max-width: 100%;
      padding: .35em .7em .35em .35em; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-soft);
      text-decoration: none; transition: transform .18s var(--ease), border-color .2s;
    }
    .chip-cloud:hover { border-color: var(--orange); }
    .chip-cloud:active { transform: scale(.98); }
    .chip-logo { width: 26px; height: 26px; border-radius: 50%; background: var(--orange); color: #fff; display: grid; place-items: center; flex: none; }
    .chip-logo .ic { width: 14px; height: 14px; }
    .chip-name { display: flex; align-items: center; gap: .4em; white-space: nowrap; font-weight: 700; font-size: .8rem; letter-spacing: -.02em; }
    .chip-name i { width: 1.5px; height: 1em; background: var(--muted); display: block; }
    .chip-cta { white-space: nowrap; color: var(--orange-text); font-weight: 600; font-size: .78rem; text-decoration: underline; text-underline-offset: 2px; }

    .hero-content { padding: 1.1em 0 0; position: relative; }
    h1.maintext,
    .maintext {
      font-family: 'Outfit', 'Syne', system-ui, sans-serif !important;
      font-size: clamp(1.85rem, 6.8vw, 3.25rem);
      font-weight: 800;
      line-height: 1.06;
      letter-spacing: -.045em;
    }
    .maintext span { display: block; }
    /* headline: totally black in light, totally white in dark */
    .maintext, .maintext span, .maintext .hl { color: #000; }
    :root[data-theme="dark"] .maintext, :root[data-theme="dark"] .maintext span, :root[data-theme="dark"] .maintext .hl { color: #fff; }

    /* flower badges: no circle, dots (first) and solid (second), same flower per loop */
    .maintext .fl-pair { display: inline-flex; align-items: center; gap: .04em; vertical-align: -.12em; margin-left: .1em; }
    .maintext .nw { display: inline; white-space: nowrap; }
    .maintext .fl-pair .fl-badge { display: block; position: relative; width: .74em; height: .74em; }
    .fl-badge svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; overflow: visible; fill: var(--blue); stroke: none; }
    .fl-pair[data-step="0"] .s0,
    .fl-pair[data-step="1"] .s1,
    .fl-pair[data-step="2"] .s2 { opacity: 1; }
    .fl-dot circle { opacity: var(--o, 1); }
    .fl-pair.writing .fl-badge { animation: flSpin 1.1s var(--ease) both; }
    .fl-pair.writing .fl-dot svg circle { animation: flDotIn .14s var(--ease) both; animation-delay: var(--dl, 0s); }
    .fl-pair.writing .fl-solid svg { animation: flType .75s steps(9, end) .25s both; }
    @keyframes flDotIn {
      from { opacity: 0; transform: scale(.15); }
      to { opacity: var(--o, 1); transform: scale(1); }
    }
    @keyframes flType {
      from { clip-path: inset(0 100% 0 0); }
      to { clip-path: inset(0 0 0 0); }
    }
    @keyframes flSpin {
      from { transform: rotate(-70deg) scale(.7); }
      to { transform: rotate(0deg) scale(1); }
    }
    .fl-dot circle { transform-box: fill-box; transform-origin: center; }
    @media (prefers-reduced-motion: reduce) {
      .fl-pair.writing .fl-badge, .fl-pair.writing .fl-solid svg, .fl-pair.writing .fl-dot svg circle { animation: none; }
    }
    h2, h3, .sec-head h2, .brand-name {
      font-family: 'Outfit', 'Syne', system-ui, sans-serif;
    }
    .lead { margin-top: .8em; font-size: clamp(.86rem, 2.2vw, 1rem); color: var(--muted); max-width: 28ch; line-height: 1.4; }
    .hero-content .lead { font-size: clamp(.74rem, 1.8vw, .84rem); }

    .ask-wrap { padding-top: 1.4em; }
    .ask-wrap > .logo-sprinkle { position: relative; z-index: 3; }
    .prompt-stage { position: relative; isolation: isolate; z-index: 1; }
    .prompt-blobs {
      position: absolute; inset: -6% 10% 48% 10%; z-index: 0; pointer-events: none;
    }
    .pblob {
      position: absolute; border-radius: 50%;
      filter: blur(18px);
      background: radial-gradient(circle, rgba(10,68,255,.85) 0%, rgba(10,68,255,.38) 46%, transparent 70%);
      animation: drift 10s ease-in-out infinite alternate;
    }
    .pblob.p1 { width: 38%; aspect-ratio: 1; left: 4%; top: 0%; --dx: 6%; --dy: 4%; }
    .pblob.p2 { width: 34%; aspect-ratio: 1; left: 36%; top: -18%; --dx: -5%; --dy: 5%; animation-duration: 12s; background: radial-gradient(circle, rgba(139,92,246,.86) 0%, rgba(91,33,182,.34) 50%, transparent 70%); }
    .pblob.p3 { width: 30%; aspect-ratio: 1; left: 62%; top: 8%; --dx: 4%; --dy: -4%; animation-duration: 9s; background: radial-gradient(circle, rgba(90,173,196,.75) 0%, transparent 68%); }
    .prompt {
      position: relative; z-index: 1;
      width: 100%; min-height: 132px; border-radius: 32px;
      border: 1px solid color-mix(in srgb, #1A62D4 34%, var(--line));
      background: color-mix(in srgb, var(--bg) 94%, #1A62D4);
      -webkit-backdrop-filter: blur(10px) saturate(1.05);
      backdrop-filter: blur(10px) saturate(1.05);
      box-shadow: 0 12px 40px rgba(26,98,212,.16);
      transition: box-shadow .25s, border-color .25s;
    }
    .prompt:focus-within {
      border-color: #1A62D4;
      box-shadow: 0 0 0 4px rgba(26,98,212,.22), 0 16px 44px rgba(26,98,212,.2);
    }
    .prompt .field { align-items: flex-start; }
    .prompt .field .ic { width: 20px; height: 20px; margin-top: .3em; color: var(--muted); }
    .prompt textarea { flex: 1; resize: none; font-size: 1.05rem; line-height: 1.5; min-height: 3em; max-height: 160px; }
    .prompt textarea::placeholder { color: var(--muted); opacity: .8; }
    .mode {
      display: inline-flex; align-items: center; gap: .4em; padding: .45em .8em; border-radius: 99px;
      background: var(--bg-soft); font-weight: 600; font-size: .92rem; position: relative;
    }
    .mode select { appearance: none; -webkit-appearance: none; padding-right: .2em; cursor: pointer; font-weight: 600; }
    .mode option { background: var(--bg); color: var(--ink); }
    .mode .ic { width: 1.1em; height: 1.1em; }
    .tool { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--muted); transition: background .2s, color .2s; }
    .tool:hover { background: var(--bg-soft); color: var(--ink); }
    .tool.listening { background: rgba(255, 95, 176, .18); color: var(--accent); }
    .prompt .send {
      width: 42px; color: #fff; justify-content: center; aspect-ratio: 1; border-radius: 50%;
      background: var(--accent); transition: transform .18s var(--ease);
    }
    .prompt .send:active { transform: scale(.9); }
    .prompt .send .ic { width: 20px; height: 20px; }
    .suggest { margin-top: 1em; display: flex; flex-direction: column; gap: .15em; }
    .suggest button {
      display: flex; align-items: center; gap: .6em; text-align: left; padding: .45em .35em;
      border-radius: 14px; color: var(--muted); font-size: .68rem; transition: background .2s, color .2s;
    }
    .suggest button:hover { background: var(--bg-soft); color: var(--ink); }
    .suggest .ic { width: 1.05em; height: 1.05em; flex: none; }

    /* audiences */
    .aud-grid { display: grid; gap: 1em; }
    @media (min-width: 900px) { .aud-grid { grid-template-columns: repeat(3, 1fr); } }
    .aud {
      position: relative; isolation: isolate; overflow: hidden; border-radius: 36px; padding: 1.5em;
      border: 1px solid var(--line); display: flex; flex-direction: column; gap: 1em;
    }
    .aud-top { display: flex; align-items: center; justify-content: space-between; gap: .6em; }
    .aud-icon { width: 58px; height: 58px; border-radius: 40%; display: grid; place-items: center; flex: none; }
    .aud-icon .ic { width: 28px; height: 28px; }
    .aud-tag { font-size: .82rem; font-weight: 600; padding: .35em .8em; border-radius: 99px; }
    .aud h3 { font-size: 1.65rem; letter-spacing: -.035em; line-height: 1.1; }
    .aud > p { font-size: .86rem; opacity: .82; max-width: 34ch; }
    .aud-list { list-style: none; display: flex; flex-direction: column; gap: .7em; margin: .3em 0 .6em; }
    .aud-list li { display: flex; align-items: center; gap: .75em; font-weight: 500; font-size: .88rem; }
    .li-ic { width: 34px; height: 34px; border-radius: 40%; display: grid; place-items: center; flex: none; }
    .li-ic .ic { width: 17px; height: 17px; }
    .aud-cta {
      margin-top: auto; display: flex; align-items: center; gap: .6em; padding: .9em 1.15em;
      border-radius: 99px; font-weight: 700; text-decoration: none; transition: transform .18s var(--ease);
    }
    .aud-cta:active { transform: scale(.97); }
    .aud-cta .go { margin-left: auto; }

    .aud-ent { background: linear-gradient(165deg, #e5f4f7, #ffffff 62%); }
    .aud-ent::before {
      content: ""; position: absolute; z-index: -1; width: 70%; aspect-ratio: 1; right: -22%; top: -18%;
      border-radius: 50%; background: radial-gradient(circle, rgba(26,98,212,.75), transparent 68%); filter: blur(24px);
    }
    .aud-ent .aud-icon { background: #000; color: #fff; }
    .aud-ent .aud-tag { background: rgba(26,98,212,.09); color: var(--ink-2); }
    .aud-ent .li-ic { background: rgba(26,98,212,.25); color: #1249A8; }
    .aud-ent .aud-cta { background: #000; color: #fff; }
    :root[data-theme="dark"] .aud-ent { background: linear-gradient(165deg, #0a1c28, #0a0f15 62%); }
    :root[data-theme="dark"] .aud-ent .aud-icon { background: #fff; color: #000; }
    :root[data-theme="dark"] .aud-ent .aud-tag { background: rgba(134,205,242,.14); }
    :root[data-theme="dark"] .aud-ent .li-ic { color: #8AAEFF; }
    :root[data-theme="dark"] .aud-ent .aud-cta { background: #fff; color: #000; }

    .aud-dev { background: #000; color: #fff; border-color: #000; }
    :root[data-theme="dark"] .aud-dev { border-color: #2a323d; }
    .aud-dev::before {
      content: ""; position: absolute; inset: 0; z-index: -1;
      background-image: radial-gradient(rgba(255,255,255,.13) 1px, transparent 1.4px);
      background-size: 18px 18px;
      -webkit-mask-image: linear-gradient(200deg, #000, transparent 55%);
      mask-image: linear-gradient(200deg, #000, transparent 55%);
    }
    .aud-dev .aud-icon { background: #fff; color: #000; }
    .aud-dev .aud-tag { background: rgba(255,255,255,.12); }
    .aud-dev .li-ic { background: rgba(255,255,255,.12); color: #7fdcf5; }
    .aud-dev .aud-cta { background: #fff; color: #000; }
    .term {
      display: flex; align-items: center; gap: .5em; padding: .75em 1em; border-radius: 18px;
      background: rgba(255,255,255,.08); font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
      font-size: .88rem; color: #b8f1ff;
    }
    .term .caret { width: .55em; height: 1.05em; background: #b8f1ff; display: block; animation: blink 1.1s steps(1) infinite; }
    @keyframes blink { 50% { opacity: 0; } }

    .aud-cre {
      background: radial-gradient(120% 90% at 100% 0%, #b3286f 0%, transparent 55%),
                  radial-gradient(100% 80% at 0% 100%, #5b21b6 0%, transparent 62%), #1d0a36;
      color: #fff; border-color: transparent;
    }
    .aud-cre .aud-icon { background: rgba(255,255,255,.95); color: #5b21b6; }
    .aud-cre .aud-tag { background: rgba(255,255,255,.16); }
    .aud-cre .li-ic { background: rgba(255,255,255,.16); color: #ffd3ec; }
    .aud-cre .aud-cta { background: #fff; color: #2a0f4a; }

    /* features / six jobs - horizontal rail cards */
    .jobs {
      display: flex; flex-direction: column; gap: .65em;
    }
    .job {
      position: relative; border-radius: 18px; border: 1px solid var(--line);
      padding: 1em 1.15em; background: var(--bg-soft);
      display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1em;
      transition: border-color .2s, background .2s, transform .18s;
      overflow: hidden;
    }
    .job:hover {
      border-color: var(--job-accent, var(--sky));
      background: var(--bg);
      transform: translateX(4px);
    }
    .job-ic {
      width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; flex: none;
      box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
    }
    .job-ic .ic { width: 24px; height: 24px; }
    .job-copy { min-width: 0; }
    .job h3 { font-size: 1.08rem; letter-spacing: -.025em; font-weight: 800; margin-bottom: .15em; }
    .job p { font-size: .8rem; color: var(--muted); line-height: 1.4; margin: 0; }
    .job-num {
      font-family: var(--display); font-weight: 800; font-size: 1.05rem;
      letter-spacing: -.03em; color: var(--job-accent, var(--sky)); opacity: .55;
      min-width: 1.6em; text-align: right;
    }
    @media (min-width: 900px) {
      .jobs { display: grid; grid-template-columns: 1fr 1fr; gap: .75em; }
      .job { padding: 1.15em 1.25em; }
    }
    .c-sky { background: rgba(26,98,212,.2); color: #1249A8; }
    .c-violet { background: rgba(139,92,246,.18); color: #6d3fe0; }
    .c-pink { background: rgba(255,95,176,.18); color: #c21c78; }
    .c-teal { background: rgba(0,180,204,.18); color: #007d90; }
    .c-orange { background: rgba(245,114,15,.18); color: #b64a05; }
    .c-ink { background: var(--ink); color: var(--bg); }
    :root[data-theme="dark"] .c-sky { color: #8AAEFF; }
    :root[data-theme="dark"] .c-violet { color: #b9a0ff; }
    :root[data-theme="dark"] .c-pink { color: #ff9bd0; }
    :root[data-theme="dark"] .c-teal { color: #5fdcec; }
    :root[data-theme="dark"] .c-orange { color: #ffae72; }

    /* Dolphins: large left + two squared side cards; low radius; CTA below */
    .dolphins-stack {
      display: flex; flex-direction: row; align-items: stretch; gap: .65em;
    }
    .dolphin-card.big { flex: 1.35; min-width: 0; }
    .dolphins-side {
      flex: 0 0 auto; width: 28%; max-width: 160px; min-width: 100px;
      display: flex; flex-direction: column; gap: .65em;
    }
    @media (min-width: 800px) {
      .dolphins-stack { gap: 1em; }
      .dolphins-side { width: 22%; max-width: 200px; gap: 1em; }
    }
    .dolphin-card {
      position: relative; border-radius: 14px; overflow: hidden; isolation: isolate;
      border: 1px solid var(--line); background: var(--frame);
      display: flex; flex-direction: column;
      transition: transform .2s var(--ease), box-shadow .25s;
    }
    .dolphin-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.08); }
    .dolphin-card.big { min-height: 200px; }
    @media (min-width: 800px) { .dolphin-card.big { min-height: 360px; } }

    /* side cards: squares + research-style animated bg, icon center, tiny text */
    .dolphin-card.side {
      aspect-ratio: 1 / 1; min-height: 0; padding: 0;
      background: #160727;
    }
    .dolphin-card.side .dolphin-media { display: block; }
    .dolphin-card.side .dolphin-scrim {
      display: block;
      background: radial-gradient(circle at 50% 40%, rgba(0,0,0,.12), rgba(0,0,0,.55) 80%);
    }
    .dolphin-card.side .dolphin-body {
      margin: 0; padding: .55em .45em .65em; height: 100%;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      text-align: center; color: #fff; gap: .35em; z-index: 2;
    }
    .dolphin-card.side .dolphin-tag { display: none; }
    .dolphin-side-ic {
      width: 44px; height: 44px; min-width: 44px; min-height: 44px;
      border-radius: 50%; aspect-ratio: 1 / 1; flex: none;
      display: grid; place-items: center; background: rgba(255,255,255,.95); color: #1d0a36;
      margin-bottom: .15em; box-shadow: 0 4px 14px rgba(0,0,0,.35);
      overflow: hidden;
    }
    .dolphin-side-ic .ic { width: 22px; height: 22px; flex: none; }
    .dolphin-card.side h3 {
      font-size: clamp(.72rem, 2.8vw, .95rem); letter-spacing: -.02em; font-weight: 800;
      margin: 0; line-height: 1.15; text-shadow: 0 1px 8px rgba(0,0,0,.4);
    }
    .dolphin-card.side p {
      font-size: clamp(.62rem, 2.2vw, .78rem); opacity: .9; margin: 0;
      line-height: 1.25; max-width: 14ch; color: rgba(255,255,255,.88);
      display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }

    .dolphin-media { position: absolute; inset: 0; z-index: 0; }
    .dolphin-media canvas,
    .dolphin-media img {
      position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    }
    .dolphin-media img { opacity: 0; transition: opacity .5s; }
    .dolphin-media.has-img img { opacity: 1; }
    .dolphin-scrim {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(180deg, transparent 20%, rgba(0,0,0,.72) 100%);
    }
    .dolphin-body {
      position: relative; z-index: 2; margin-top: auto; padding: 1.1em 1em;
      color: #fff;
    }
    .dolphin-card.big .dolphin-body h3 {
      font-size: clamp(1.05rem, 3.5vw, 1.45rem); letter-spacing: -.03em; font-weight: 800; margin-bottom: .3em;
    }
    .dolphin-card.big .dolphin-body p {
      font-size: clamp(.82rem, 2.5vw, .95rem); opacity: .88; max-width: 36ch; line-height: 1.35;
    }
    .dolphin-tag {
      display: inline-flex; align-items: center; gap: .35em;
      font-size: .75rem; font-weight: 600; padding: .28em .65em; border-radius: 99px;
      background: rgba(255,255,255,.18); margin-bottom: .5em;
    }
    .dolphins-cta {
      margin-top: 1.15em; display: flex; justify-content: flex-start;
    }
    .dolphin-card.big .dolphin-body { display: none; }
    .dolphins-cta .btn {
      background: var(--ink); color: var(--bg);
      padding: .55em .95em; gap: .45em; font-size: .8rem; border-radius: 10px;
    }
    .dolphins-cta .btn .ic { width: 15px; height: 15px; }
    .dolphins-cta .btn:hover { opacity: .92; }

    /* Soft squircle logo cluster - real logos, random rotation, tight overlap */
    .logo-sprinkle {
      display: flex; align-items: center; height: 28px; margin-bottom: .75em;
      position: relative;
    }
    .logo-sprinkle.sec { height: 34px; margin-bottom: .85em; }
    .logo-chip {
      width: 26px; height: 26px; border-radius: 30%;
      display: grid; place-items: center; flex: none;
      box-shadow: 0 2px 6px rgba(0,0,0,.14);
      margin-left: -8px;
      border: 1.5px solid var(--bg);
      background: #fff;
      overflow: hidden;
      transition: transform .18s var(--ease), z-index 0s;
    }
    .logo-sprinkle.sec .logo-chip {
      width: 32px; height: 32px; margin-left: -9px; border-radius: 28%;
    }
    .logo-chip:first-child { margin-left: 0; }
    .logo-chip img {
      width: 62%; height: 62%; object-fit: contain; display: block;
      pointer-events: none;
    }
    .logo-chip.pad img { width: 72%; height: 72%; }
    /* unique random-ish rotations per chip */
    .logo-chip.r1 { transform: rotate(-14deg); }
    .logo-chip.r2 { transform: rotate(9deg); }
    .logo-chip.r3 { transform: rotate(-6deg); }
    .logo-chip.r4 { transform: rotate(16deg); }
    .logo-chip.r5 { transform: rotate(-11deg); }
    .logo-chip.r6 { transform: rotate(5deg); }
    .logo-chip.r7 { transform: rotate(-18deg); }
    .logo-chip:hover { transform: translateY(-2px) scale(1.12) rotate(0deg); z-index: 3; }
    .logo-chip.ps { background: #001e36; }
    .logo-chip.dv { background: #1a1a1a; }
    .logo-chip.claude { background: #d97757; }
    .logo-chip.fig { background: #0d0d0d; }
    .logo-chip.vscode { background: #1e1e1e; }
    .logo-chip.notion { background: #fff; }
    .logo-chip.firebase { background: #fff; }
    .logo-chip.gh { background: #24292f; }
    .logo-chip.openai { background: #10a37f; }
    .logo-chip.adobe { background: #eb1000; }
    :root[data-theme="dark"] .logo-chip { border-color: var(--bg); }
    .logo-sprinkle + .sec-head { margin-top: 0; }

    /* Industries - true circles, 3 per row on mobile */
    .industries-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.2em .75em;
      justify-items: center;
      padding: .4em 0 .2em;
    }
    @media (min-width: 720px) {
      .industries-row { grid-template-columns: repeat(4, 1fr); gap: 1.5em 1em; }
    }
    @media (min-width: 1000px) {
      .industries-row { grid-template-columns: repeat(8, 1fr); }
    }
    .ind-item {
      display: flex; flex-direction: column; align-items: center; gap: .55em;
      width: 100%; max-width: 110px; text-decoration: none; color: inherit;
      transition: transform .18s var(--ease);
    }
    .ind-item:hover { transform: translateY(-4px); }
    .ind-avatar {
      position: relative;
      width: 72px; height: 72px; border-radius: 50%;
      display: grid; place-items: center;
      overflow: visible;
      border: 3px solid color-mix(in srgb, #1A62D4 35%, var(--line));
      background: #1A62D4;
      box-shadow: 0 6px 20px rgba(26,98,212,.18);
      transition: border-color .2s, box-shadow .2s;
      flex: none; aspect-ratio: 1 / 1;
    }
    .ind-avatar img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; display: block;
      border-radius: 50%;
    }
    .ind-chip {
      position: absolute; right: -4%; bottom: -4%; z-index: 2;
      width: 30%; aspect-ratio: 1; border-radius: 50%;
      background: #000; color: #fff;
      border: 3px solid var(--bg);
      display: grid; place-items: center;
    }
    .ind-chip .ic { width: 52%; height: 52%; }
    .ind-item:hover .ind-chip { transform: rotate(45deg); }
    .ind-chip { transition: transform .25s var(--ease); }
    @media (min-width: 640px) {
      .ind-avatar { width: 96px; height: 96px; }
    }
    .ind-item:hover .ind-avatar {
      border-color: var(--sky);
      box-shadow: 0 10px 28px rgba(26,98,212,.2);
    }
    .ind-avatar .ic { width: 40%; height: 40%; }
    .ind-item b {
      font-family: var(--display); font-size: .82rem; font-weight: 700;
      letter-spacing: -.02em; text-align: center; line-height: 1.2;
    }
    .ind-item span {
      font-size: .66rem; color: var(--muted); text-align: center; line-height: 1.25;
      max-width: 12ch;
    }

    /* Software UI showcase - rectangular mock with fade */
    .soft-ui-wrap {
      position: relative; border-radius: 28px; overflow: hidden;
      border: 1px solid var(--line); background: var(--bg-soft);
      padding: 1.5em 1.2em 0;
    }
    @media (min-width: 800px) { .soft-ui-wrap { padding: 2em 2em 0; } }
    .soft-ui-chrome {
      display: flex; align-items: center; gap: .5em; margin-bottom: 1em;
    }
    .soft-ui-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--line); }
    .soft-ui-dot.r { background: #ff5f57; }
    .soft-ui-dot.y { background: #febc2e; }
    .soft-ui-dot.g { background: #28c840; }
    .soft-ui-title { margin-left: .6em; font-size: .85rem; color: var(--muted); font-weight: 600; }
    .soft-ui-screen {
      position: relative; border-radius: 16px 16px 0 0; overflow: hidden;
      background: #0c1017; min-height: 280px;
      box-shadow: 0 -4px 40px rgba(0,0,0,.15);
    }
    .soft-ui-screen img {
      display: block; width: 100%; height: auto; min-height: 280px; object-fit: cover; object-position: top;
    }
    .soft-ui-fallback {
      position: absolute; inset: 0; display: flex; flex-direction: column; padding: 1.2em; gap: .8em;
    }
    .soft-ui-bar {
      height: 36px; border-radius: 10px; background: rgba(255,255,255,.06);
      display: flex; align-items: center; padding: 0 .9em; gap: .6em;
    }
    .soft-ui-bar span { height: 8px; border-radius: 4px; background: rgba(255,255,255,.15); }
    .soft-ui-cols { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: .7em; flex: 1; }
    .soft-ui-pane {
      border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.06);
      padding: .8em;
    }
    .soft-ui-line { height: 7px; border-radius: 4px; background: rgba(255,255,255,.1); margin-bottom: .45em; }
    .soft-ui-line.w60 { width: 60%; }
    .soft-ui-line.w40 { width: 40%; }
    .soft-ui-line.accent { background: rgba(26,98,212,.35); width: 70%; }
    .soft-ui-fade {
      position: absolute; left: 0; right: 0; bottom: 0; height: 45%;
      background: linear-gradient(to bottom, transparent, var(--bg-soft));
      pointer-events: none; z-index: 2;
    }

    /* steps */
    .steps { list-style: none; display: grid; gap: 1.8em; }
    .steps li { position: relative; display: flex; gap: 1em; }
    .steps li:not(:last-child)::after {
      content: ""; position: absolute; left: 28px; top: 64px; bottom: -1.3em; border-left: 2px dashed var(--line);
    }
    .step-ic { width: 58px; height: 58px; border-radius: 40%; display: grid; place-items: center; flex: none; }
    .step-ic .ic { width: 26px; height: 26px; }
    .steps h3 { font-size: 1.25rem; letter-spacing: -.03em; margin-top: .2em; }
    .steps p { color: var(--muted); margin-top: .3em; max-width: 34ch; font-size: .86rem; }
    @media (min-width: 900px) {
      .steps { grid-template-columns: repeat(3, 1fr); gap: 2.4em; }
      .steps li { flex-direction: column; }
      .steps li:not(:last-child)::after {
        left: 72px; right: -1.4em; top: 28px; bottom: auto; border-left: 0; border-top: 2px dashed var(--line);
      }
    }

    /* pricing */
    .price-grid { display: grid; gap: 1em; grid-template-columns: 1fr; }
    @media (min-width: 640px) { .price-grid { grid-template-columns: 1fr 1fr; } }
    @media (min-width: 1100px) { .price-grid { grid-template-columns: repeat(4, 1fr); } }
    .price-card {
      border-radius: 28px; border: 1px solid var(--line); padding: 1.5em 1.3em;
      display: flex; flex-direction: column; gap: .85em; background: var(--bg);
      transition: border-color .2s, transform .18s;
    }
    .price-card:hover { border-color: var(--sky); transform: translateY(-2px); }
    .price-card.featured {
      border-color: var(--accent); background: linear-gradient(165deg, rgba(166,0,102,.06), var(--bg) 50%);
      position: relative;
    }
    .price-badge {
      position: absolute; top: 1.1em; right: 1.1em;
      font-size: .75rem; font-weight: 700; padding: .3em .7em; border-radius: 99px;
      background: var(--accent); color: #fff;
    }
    .price-card h3 { font-size: 1.25rem; letter-spacing: -.03em; }
    .price-amt { font-size: clamp(1.6rem, 4vw, 2.15rem); font-weight: 800; letter-spacing: -.04em; font-family: var(--display); line-height: 1.1; }
    .price-amt small { font-size: .9rem; font-weight: 600; color: var(--muted); letter-spacing: 0; }
    .price-card > p { color: var(--muted); font-size: .82rem; }
    .price-list { list-style: none; display: flex; flex-direction: column; gap: .55em; margin: .3em 0; }
    .price-list li { display: flex; align-items: flex-start; gap: .55em; font-size: .84rem; }
    .price-list .ic { width: 1.1em; height: 1.1em; color: var(--teal); margin-top: .15em; flex: none; }
    .price-cta {
      margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: .5em;
      padding: .85em 1.2em; border-radius: 99px; font-weight: 700; text-decoration: none;
      background: var(--ink); color: var(--bg); transition: transform .18s;
    }
    .price-card.featured .price-cta { background: var(--accent); color: #fff; }
    .price-cta:active { transform: scale(.97); }

    /* Auxa CTA */
    .cta {
      position: relative; isolation: isolate; overflow: hidden; background: #000; color: #fff;
      border-radius: 44px; padding: 2.2em 1.5em; border: 1px solid #000;
      display: flex; flex-direction: column; gap: 1em; align-items: flex-start;
    }
    :root[data-theme="dark"] .cta { border-color: #2a323d; }
    .cta .blobs { inset: -20% -10%; }
    .cta .blob { filter: blur(40px); }
    .cta .blob.o1 { --c: #f5720f; --d: 9s; --dx: -12%; --dy: 10%; width: 60%; left: 50%; top: -10%; --o: .8; }
    .cta .blob.o2 { --c: #8b5cf6; --d: 12s; --dx: 12%; --dy: -8%; width: 50%; left: -10%; top: 40%; --o: .55; }
    .cta .blob.o3 { --c: #1A62D4; --d: 10s; --dx: -10%; --dy: -10%; width: 40%; left: 60%; top: 55%; --o: .5; }
    .cta-logo { width: 54px; height: 54px; border-radius: 50%; background: var(--orange); display: grid; place-items: center; }
    .cta-logo .ic { width: 26px; height: 26px; color: #fff; }
    .cta h2 { font-size: clamp(1.6rem, 5.4vw, 2.6rem); letter-spacing: -.035em; line-height: 1.1; font-weight: 800; max-width: 18ch; }
    .cta p { max-width: 42ch; opacity: .85; font-size: .9rem; }
    .cta-actions { display: flex; flex-wrap: wrap; gap: .6em; margin-top: .4em; }
    .btn {
      display: inline-flex; align-items: center; gap: .55em; padding: .85em 1.25em;
      border-radius: 99px; font-weight: 700; text-decoration: none; transition: transform .18s var(--ease);
    }
    .btn:active { transform: scale(.96); }
    .btn-orange { background: var(--orange); color: #1a0a00; }
    .btn-ghost { background: rgba(255,255,255,.14); color: #fff; }
    @media (min-width: 900px) { .cta { padding: 3.2em 3em; } }

    /* footer */
    .site-footer {
      margin-top: 3em; border-top: 1px solid var(--line); background: var(--bg-soft);
      padding: 2.6em 0 calc(1.6em + env(safe-area-inset-bottom, 0px));
    }
    .foot-grid { display: grid; gap: 2em; }
    @media (min-width: 900px) { .foot-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
    .foot-brand p { color: var(--muted); margin-top: .8em; max-width: 30ch; font-size: .84rem; }
    .foot-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6em 1em; }
    @media (min-width: 900px) { .foot-cols { display: contents; } }
    .foot-col h4 { font-size: .95rem; margin-bottom: .7em; letter-spacing: -.01em; font-family: var(--display); }
    .foot-col ul { list-style: none; display: flex; flex-direction: column; gap: .15em; }
    .foot-col a {
      display: inline-flex; align-items: center; gap: .55em; padding: .35em 0;
      color: var(--muted); text-decoration: none; font-size: .95rem; transition: color .2s;
    }
    .foot-col a:hover { color: var(--ink); }
    .foot-col .ic { width: 1.05em; height: 1.05em; }
    .foot-bottom {
      margin-top: 2.2em; padding-top: 1.4em; border-top: 1px solid var(--line);
      display: flex; flex-direction: column; gap: 1.2em;
    }
    @media (min-width: 720px) {
      .foot-bottom { flex-direction: row; align-items: center; justify-content: space-between; }
    }
    .socials { display: flex; gap: .4em; }
    .socials a {
      width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
      border: 1px solid var(--line); background: var(--bg); text-decoration: none;
      transition: transform .18s var(--ease), border-color .2s;
    }
    .socials a:hover { border-color: var(--sky); }
    .socials a:active { transform: scale(.92); }
    .socials .ic { width: 19px; height: 19px; }
    .copy { color: var(--muted); font-size: .88rem; }
    .theme-toggle {
      display: inline-flex; padding: 4px; gap: 2px; border-radius: 99px;
      border: 1px solid var(--line); background: var(--bg);
    }
    .theme-toggle button {
      display: inline-flex; align-items: center; gap: .4em; padding: .5em .85em;
      border-radius: 99px; font-weight: 600; font-size: .88rem; color: var(--muted);
      transition: background .25s, color .25s;
    }
    .theme-toggle button .ic { width: 1.1em; height: 1.1em; }
    .theme-toggle button[aria-checked="true"] { background: var(--ink); color: var(--bg); }

    .toast {
      position: fixed; left: 50%; bottom: calc(1.2em + env(safe-area-inset-bottom, 0px));
      z-index: 200; transform: translate(-50%, 24px); opacity: 0; pointer-events: none;
      background: var(--ink); color: var(--bg); padding: .75em 1.15em; border-radius: 99px;
      font-weight: 600; font-size: .92rem; max-width: 90vw; text-align: center;
      transition: opacity .25s, transform .25s var(--ease);
    }
    .toast.show { opacity: 1; transform: translate(-50%, 0); }

    /* In-page site search overlay (not a separate page) */
    .search-overlay {
      position: fixed; inset: 0; z-index: 120; background: rgba(0,0,0,.45);
      -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
      display: flex; align-items: flex-start; justify-content: center;
      padding: calc(1em + env(safe-area-inset-top, 0px)) 1em 2em;
      opacity: 0; visibility: hidden; transition: opacity .22s, visibility 0s .22s;
    }
    .search-overlay.open { opacity: 1; visibility: visible; transition-delay: 0s; }
    .search-panel {
      width: 100%; max-width: 560px; margin-top: 8vh; background: var(--bg);
      border: 1px solid var(--line); border-radius: 24px; padding: 1.15em 1.15em 1em;
      box-shadow: 0 24px 60px rgba(0,0,0,.18); max-height: min(72vh, 640px);
      display: flex; flex-direction: column; gap: .85em;
      transform: translateY(-12px); transition: transform .22s var(--ease);
    }
    .search-overlay.open .search-panel { transform: none; }
    .search-panel-top { display: flex; align-items: center; gap: .65em; }
    .search-field {
      flex: 1; display: flex; align-items: center; gap: .55em; padding: .7em .95em;
      border: 1px solid var(--line); border-radius: 99px; background: var(--bg-soft);
    }
    .search-field:focus-within { border-color: var(--sky); box-shadow: 0 0 0 3px rgba(26,98,212,.2); }
    .search-field input {
      flex: 1; border: none; background: none; font: inherit; font-size: 1.02rem; color: var(--ink); outline: none;
    }
    .search-field input::placeholder { color: var(--muted); }
    .search-close {
      width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
      border: 1px solid var(--line); background: var(--bg-soft); flex: none;
    }
    .search-close:hover { border-color: var(--sky); }
    .search-meta { color: var(--muted); font-size: .88rem; padding: 0 .2em; }
    .search-hits {
      list-style: none; overflow-y: auto; display: flex; flex-direction: column; gap: .4em;
      margin: 0; padding: 0 .1em .4em;
    }
    .search-hits a {
      display: block; padding: .85em 1em; border-radius: 16px; border: 1px solid transparent;
      text-decoration: none; transition: background .15s, border-color .15s;
    }
    .search-hits a:hover, .search-hits a:focus-visible { background: var(--bg-soft); border-color: var(--line); }
    .search-hits h3 { font-family: var(--display); font-size: 1.02rem; letter-spacing: -.02em; margin-bottom: .2em; }
    .search-hits p { color: var(--muted); font-size: .8rem; line-height: 1.4; }
    .search-hits mark { background: rgba(26,98,212,.28); color: inherit; border-radius: 2px; padding: 0 2px; }
    .search-empty { color: var(--muted); text-align: center; padding: 1.5em .5em; font-size: .95rem; }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .blob { animation: none; opacity: var(--o, .8); }
      .cardub { animation: none; }
      .term .caret { animation: none; }
      * { transition-duration: .01ms !important; }
    }
  
    /* - Split-file overrides: jobs + map CTA + hero lead - */
    .lead { max-width: 38ch; }

    .jobs {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.35em 2.5em;
    }
    @media (min-width: 860px) {
      .jobs { grid-template-columns: 1fr 1fr; gap: 1.7em 3em; }
    }
    .job {
      display: flex;
      align-items: center;
      gap: 1.15em;
      padding: .15em 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      grid-template-columns: none;
      transform: none;
      overflow: visible;
    }
    .job:hover {
      border-color: transparent;
      background: transparent;
      transform: none;
    }
    .job-blob {
      position: relative;
      width: 92px;
      height: 92px;
      flex: none;
      overflow: hidden;
      background: var(--job-fill, #f3d7e4);
      border: 1.5px solid color-mix(in srgb, var(--job-accent, #c21c78) 42%, transparent);
      border-radius: 64% 36% 58% 42% / 46% 54% 46% 54%;
      transform: rotate(-8deg);
      transition: transform .35s var(--ease), border-radius .35s var(--ease);
    }
    .job-blob img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; display: block;
      transform: rotate(8deg) scale(1.12);
    }
    .job:nth-child(2) .job-blob img { transform: rotate(-6deg) scale(1.12); }
    .job:nth-child(3) .job-blob img { transform: rotate(4deg) scale(1.12); }
    .job:nth-child(4) .job-blob img { transform: rotate(-10deg) scale(1.12); }
    .job:nth-child(5) .job-blob img { transform: rotate(12deg) scale(1.12); }
    .job:nth-child(6) .job-blob img { transform: rotate(-4deg) scale(1.12); }
    .job-chip {
      position: absolute; right: 6%; bottom: 8%; z-index: 2;
      width: 28px; height: 28px; border-radius: 50%;
      background: #000; color: #fff;
      border: 3px solid var(--bg);
      display: grid; place-items: center;
      transform: rotate(8deg);
    }
    .job:nth-child(2) .job-chip { transform: rotate(-6deg); }
    .job:nth-child(3) .job-chip { transform: rotate(4deg); }
    .job:nth-child(4) .job-chip { transform: rotate(-10deg); }
    .job:nth-child(5) .job-chip { transform: rotate(12deg); }
    .job:nth-child(6) .job-chip { transform: rotate(-4deg); }
    .job-chip .ic { width: 14px; height: 14px; }
    .job:nth-child(2) .job-blob { border-radius: 42% 58% 36% 64% / 54% 42% 58% 46%; transform: rotate(6deg); }
    .job:nth-child(3) .job-blob { border-radius: 58% 42% 48% 52% / 38% 62% 40% 60%; transform: rotate(-4deg); }
    .job:nth-child(4) .job-blob { border-radius: 48% 52% 62% 38% / 60% 40% 58% 42%; transform: rotate(10deg); }
    .job:nth-child(5) .job-blob { border-radius: 70% 30% 44% 56% / 42% 58% 36% 64%; transform: rotate(-12deg); }
    .job:nth-child(6) .job-blob { border-radius: 36% 64% 50% 50% / 62% 38% 55% 45%; transform: rotate(4deg); }
    .job:hover .job-blob {
      transform: rotate(0deg) scale(1.04);
      border-radius: 50% 48% 52% 50% / 48% 52% 48% 52%;
    }
    .job-ic, .job-num { display: none; }
    .job-copy { min-width: 0; }
    .job h3 {
      font-size: 1.28rem;
      letter-spacing: -.03em;
      font-weight: 800;
      margin: 0 0 .12em;
      color: var(--ink);
    }
    .job p {
      font-size: .82rem;
      color: var(--muted);
      line-height: 1.35;
      margin: 0;
    }
    .job-cta {
      display: inline-flex;
      align-items: center;
      gap: .4em;
      margin-top: .55em;
      color: var(--accent);
      font-weight: 700;
      font-size: .95rem;
      text-decoration: none;
      letter-spacing: -.01em;
    }
    .job-cta .ic { width: 16px; height: 16px; }
    .job-cta:hover { color: var(--ink); }
    :root[data-theme="dark"] .job-blob {
      background: color-mix(in srgb, var(--job-accent) 22%, #141820);
      border-color: color-mix(in srgb, var(--job-accent) 50%, transparent);
    }


    /* Software horizontal track */
    .soft-track-wrap {
      position: relative;
      overflow: hidden;
      margin-top: .4em;
      padding: .2em 0 1.2em;
      -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
    }
    .soft-track {
      display: flex; gap: 1em; width: max-content;
      animation: softTrack 42s linear infinite;
    }
    .soft-track-wrap:hover .soft-track { animation-play-state: paused; }
    .soft-slide {
      margin: 0; flex: none;
      width: min(82vw, 430px); height: 168px;
      border-radius: 16px; overflow: hidden;
      background: #0c1017;
    }
    .soft-slide img {
      width: 100%; height: 100%; object-fit: cover; display: block;
    }
    .soft-slide.blank { background: linear-gradient(145deg, #121826, #1c2433); }
    @media (min-width: 800px) {
      .soft-slide { width: 460px; height: 300px; border-radius: 20px; }
    }
    @keyframes softTrack {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    @media (prefers-reduced-motion: reduce) {
      .soft-track { animation: none; }
    }

    /* WLL 360 */
    .wll-plain { max-width: 720px; }
    .wll-photo {
      display: block; width: 100%; height: 220px;
      object-fit: cover; border-radius: 16px; margin-bottom: 1.15em;
      background: #0c1017;
    }
    .wll-photo.blank { min-height: 180px; }
    @media (min-width: 800px) { .wll-photo { height: 320px; border-radius: 20px; } }
    .wll-kicker {
      display: flex; align-items: center; gap: .7em;
      margin-bottom: .55em;
    }
    .wll-plain .wll-badge {
      display: inline-block; margin: 0;
      font-weight: 800; font-size: .78rem; letter-spacing: .08em;
      color: #1A62D4;
    }
    .wll-avatars { display: flex; align-items: center; }
    .wll-avatars img {
      width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
      border: 2px solid var(--bg); margin-left: -8px; background: #cfd8e3;
    }
    .wll-avatars img:first-child { margin-left: 0; }
    .wll-ctas { display: flex; flex-wrap: wrap; gap: .6em; }
    .wll-ctas .btn-build { width: auto; min-width: 160px; min-height: 52px; font-size: 1rem; padding: .75em 1.25em; }
    .btn-app {
      display: inline-flex; align-items: center; justify-content: center;
      min-width: 140px; min-height: 52px; padding: .75em 1.25em;
      border-radius: 18px; text-decoration: none; font-weight: 800;
      color: var(--ink); background: var(--bg);
      border: 1px solid var(--line);
    }
    .btn-app:hover { background: var(--bg-soft); }
    .wll-plain h2 {
      margin: .15em 0 .35em;
      font-size: clamp(2rem, 6vw, 3.1rem);
      letter-spacing: -.04em;
    }
    .wll-plain p {
      color: var(--muted); max-width: 34ch;
      font-size: .9rem; line-height: 1.45; margin: 0 0 1.2em;
    }
    .btn-build {
      display: inline-flex; align-items: center; justify-content: center;
      width: min(100%, 420px); min-height: 58px;
      padding: .9em 1.4em;
      border-radius: 18px;
      color: #fff; font-weight: 800; font-size: 1.12rem;
      letter-spacing: -.02em; text-decoration: none;
      background: linear-gradient(165deg, #06202a 0%, #1249A8 42%, #6C97EE 100%);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 24px rgba(7,16,24,.18);
      transition: transform .18s var(--ease), filter .18s;
    }
    .btn-build:hover { filter: brightness(1.06); }
    .btn-build:active { transform: scale(.98); }


    /* live chat dock */
    .chat-fab {
      position: fixed; right: 1.1em; bottom: calc(1.1em + env(safe-area-inset-bottom, 0px));
      z-index: 90; width: 56px; height: 56px; border-radius: 50%;
      border: 0; cursor: pointer; color: #fff;
      background: linear-gradient(165deg, #020a2b 0%, #0A44FF 100%);
      box-shadow: 0 10px 28px rgba(10,68,255,.35);
      display: grid; place-items: center;
      opacity: 0; visibility: hidden; pointer-events: none;
      transform: translateY(10px);
      transition: opacity .25s, visibility .25s, transform .25s var(--ease);
    }
    .chat-fab.show {
      opacity: 1; visibility: visible; pointer-events: auto; transform: none;
    }
    .chat-fab .ic { width: 24px; height: 24px; position: relative; z-index: 1; }
    .chat-fab-ring {
      position: absolute; inset: -5px; border-radius: 50%;
      border: 2px solid rgba(90,173,196,.7);
      animation: chatPulse 1.8s ease-out infinite;
      pointer-events: none;
    }
    @keyframes chatPulse {
      0% { transform: scale(.85); opacity: .8; }
      100% { transform: scale(1.18); opacity: 0; }
    }
    .chat-fab[aria-expanded="true"] { transform: scale(.96); }
    .chat-layer {
      position: fixed; inset: 0; z-index: 95;
      background: rgba(8,11,16,.45);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity .2s, visibility .2s;
    }
    .chat-layer.open { opacity: 1; visibility: visible; pointer-events: auto; }
    .chat-card {
      position: fixed; right: 1.1em; bottom: calc(5.2em + env(safe-area-inset-bottom, 0px));
      width: min(100% - 1.6em, 360px); height: min(70vh, 520px);
      background: var(--bg); color: var(--ink);
      border: 1px solid var(--line); border-radius: 20px;
      box-shadow: 0 22px 50px rgba(0,0,0,.2);
      display: flex; flex-direction: column; overflow: hidden;
      transform: translateY(12px); opacity: 0; pointer-events: none;
      transition: transform .22s var(--ease), opacity .22s;
      z-index: 96;
    }
    .chat-layer.open .chat-card { transform: none; opacity: 1; pointer-events: auto; }
    @media (max-width: 699px) {
      .chat-layer { background: var(--bg); }
      .chat-card {
        inset: 0; right: 0; bottom: 0; width: 100%; height: 100%;
        border-radius: 0; border: 0; max-width: none;
      }
    }
    .chat-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: .85em 1em; border-bottom: 1px solid var(--line);
      background: var(--bg-soft);
    }
    .chat-head b { display: block; font-size: .95rem; }
    .chat-head small { color: var(--muted); font-weight: 600; }
    .chat-log {
      flex: 1; overflow-y: auto; padding: 1em; display: flex; flex-direction: column; gap: .65em;
    }
    .bubble {
      max-width: 85%; padding: .65em .8em; border-radius: 14px;
      font-size: .92rem; line-height: 1.4;
    }
    .bubble.bot { background: var(--bg-soft); align-self: flex-start; }
    .bubble.me { background: #1A62D4; color: #fff; align-self: flex-end; }
    .chat-form {
      display: flex; gap: .45em; padding: .75em; border-top: 1px solid var(--line);
    }
    .chat-form input {
      flex: 1; border: 1px solid var(--line); border-radius: 12px;
      padding: .7em .8em; background: var(--bg-soft); color: var(--ink);
      font: inherit;
    }
    .chat-form button {
      width: 42px; height: 42px; border: 0; border-radius: 12px;
      background: #1A62D4; color: #fff; display: grid; place-items: center; cursor: pointer;
    }
    .chat-form button .ic { width: 18px; height: 18px; }

    /* Last card: dotted world map */
    .map-cta {
      min-height: 420px;
      display: grid;
      align-items: end;
      padding: 0;
      background:
        radial-gradient(900px 420px at 70% 40%, rgba(26,98,212,.16), transparent 60%),
        radial-gradient(700px 380px at 20% 80%, rgba(245,114,15,.12), transparent 55%),
        #07090d;
      border-radius: 28px;
    }
    .map-stage {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
    }
    .world-dots {
      width: 100%;
      height: 100%;
      opacity: .9;
    }
    .map-dot {
      fill: rgba(180, 210, 230, .28);
    }
    .map-hub text {
      fill: rgba(255,255,255,.78);
      font-size: 13px;
      font-family: var(--font);
      font-weight: 600;
      letter-spacing: .01em;
    }
    .hub-core { fill: #ff9a4d; }
    .hub-pulse {
      fill: none;
      stroke: rgba(255,154,77,.7);
      stroke-width: 1.4;
      transform-origin: center;
      animation: hubPulse 2.8s var(--d, 0s) ease-out infinite;
    }
    @keyframes hubPulse {
      0% { opacity: .8; r: 4; }
      100% { opacity: 0; r: 18; }
    }
    .map-copy {
      position: relative;
      z-index: 1;
      padding: 2.2em 1.4em 1.8em;
      max-width: 36rem;
      background: linear-gradient(180deg, transparent, rgba(7,9,13,.72) 28%, rgba(7,9,13,.88));
    }
    .map-cta .cta-logo {
      position: static;
      margin-bottom: .7em;
    }
    .map-cta h2 {
      max-width: 16ch;
      color: #fff;
    }
    .map-cta p { color: rgba(255,255,255,.82); }
    @media (min-width: 900px) {
      .map-cta { min-height: 520px; border-radius: 32px; }
      .map-copy { padding: 3em 3em 2.4em; }
    }
    @media (prefers-reduced-motion: reduce) {
      .hub-pulse { animation: none; }
    }


    /* Landing vs iframe switch */
    #view { min-height: 100vh; min-height: 100dvh; }
    #landing { display: none; }
    #landing.is-on { display: block; }
    #framewrap { display: none; min-height: 100vh; min-height: 100dvh; }
    #framewrap.is-on { display: block; }
    #framewrap { overflow: hidden; }
    #viewFrame {
      display: block; width: 100%;
      height: 0; border: 0; overflow: hidden;
      background: var(--bg); pointer-events: auto;
    }
    body.embed { overflow: hidden; margin: 0; }
    .subpage { max-width: var(--max, 1120px); margin: 0 auto; padding: 2.2em 1.25em 3.5em; }
    .subpage .wll-badge { margin-bottom: .55em; }
    .subpage h1 {
      font-size: clamp(2rem, 6vw, 3.1rem);
      letter-spacing: -.04em; margin: 0 0 .4em;
    }
    .subpage .lead { color: var(--muted); max-width: 38ch; font-size: 1.05rem; margin: 0 0 1.4em; }
    .sub-grid { display: grid; gap: .8em; }
    @media (min-width: 800px) { .sub-grid.two { grid-template-columns: 1fr 1fr; } }
    .sub-card {
      background: var(--bg-soft); border: 1px solid var(--line);
      border-radius: 20px; padding: 1.15em 1.1em;
    }
    .sub-card h2 { font-size: 1.05rem; margin: 0 0 .3em; letter-spacing: -.02em; }
    .sub-card p { margin: 0; color: var(--muted); font-size: .95rem; }
    .sub-actions { display: flex; flex-wrap: wrap; gap: .55em; margin-top: 1.4em; }

    .start-card {
      display: flex; flex-direction: column; justify-content: flex-end;
      min-height: 220px; padding: 1.6em 1.4em;
      border-radius: 24px; text-decoration: none; color: #fff;
      background: linear-gradient(160deg, #06202a 0%, #1A62D4 58%, #6C97EE 100%);
      box-shadow: 0 18px 40px rgba(26,98,212,.22);
    }
    .start-card span { font-weight: 650; opacity: .85; }
    .start-card strong {
      font-size: clamp(1.8rem, 5vw, 3rem);
      letter-spacing: -.04em; font-family: var(--display);
    }

    .page-lost {
      min-height: 70vh; display: grid; place-items: center; text-align: center;
      padding: 3em 1.2em;
    }
    .page-lost h1 { font-size: clamp(2rem, 6vw, 3.4rem); letter-spacing: -.04em; margin: .2em 0 .3em; }
    .page-lost p { color: var(--muted); max-width: 36ch; margin: 0 auto 1.2em; }
    .lost-mark {
      width: 72px; height: 72px; margin: 0 auto .6em;
      border-radius: 22px;
      background: linear-gradient(165deg, #06202a, #1A62D4);
    }

    .subpage-hero { padding: 2em 0 1em; }
    .subpage-hero h1 {
      font-size: clamp(2rem, 6vw, 3.2rem); letter-spacing: -.04em; margin: .2em 0 .35em;
    }
    .subpage-hero p { color: var(--muted); max-width: 42ch; }

    /* Glow pages (iframe) */
    html.embed, body.embed { height: auto; overflow: hidden; margin: 0; }
    #page-fit { position: relative; overflow: hidden; }
    .glow-page {
      position: relative; overflow: hidden;
      padding: 0; color: var(--ink);
    }
    .orb {
      position: absolute; border-radius: 50%; pointer-events: none; filter: blur(42px);
    }
    .orb.a { width: 280px; height: 280px; left: -40px; top: -60px; background: rgba(26,98,212,.42); }
    .orb.b { width: 220px; height: 220px; right: -30px; top: 20%; background: rgba(139,92,246,.36); }
    .orb.c { width: 180px; height: 180px; left: 35%; bottom: -50px; background: rgba(90,173,196,.28); }
    .glow-page .inner { position: relative; z-index: 1; }

    .sub-hero {
      display: grid; gap: 1.2em;
      min-height: 0;
      padding: 2.2em 0 2.6em;
      align-items: end;
    }
    @media (min-width: 880px) {
      .sub-hero { grid-template-columns: 1.05fr .95fr; gap: 2em; min-height: 520px; padding: 2.6em 0 3em; }
    }
    .sub-visual { position: relative; min-height: 280px; }
    .sub-visual img {
      display: block; width: 100%; height: 320px; object-fit: cover;
      border-radius: 24px;
    }
    @media (min-width: 880px) {
      .sub-visual img { height: 100%; min-height: 480px; border-radius: 28px; }
    }
    .sub-visual.fade img {
      -webkit-mask-image: linear-gradient(to bottom, #000 46%, transparent 100%);
      mask-image: linear-gradient(to bottom, #000 46%, transparent 100%);
    }
    .sub-copy { padding-bottom: .2em; }

    .glow-page .kicker {
      font-weight: 800; letter-spacing: .12em; font-size: .72rem;
      text-transform: uppercase; color: #6C97EE; margin: 0 0 .7em;
    }
    .glow-page h1 {
      font-size: clamp(2.2rem, 7vw, 3.6rem); letter-spacing: -.045em;
      margin: 0 0 .45em; line-height: .95;
    }
    .glow-page .lead { color: var(--muted); font-size: 1.08rem; max-width: 34ch; margin: 0 0 1.5em; }
    .glow-page .meta { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.6em; }
    .glow-page .pill {
      padding: .35em .7em; border-radius: 99px; font-size: .8rem; font-weight: 700;
      background: rgba(26,98,212,.12); border: 1px solid rgba(90,173,196,.35);
    }
    .store-row { display: flex; flex-wrap: wrap; gap: .65em; }
    .store-btn {
      display: inline-flex; align-items: center; gap: .7em;
      min-height: 56px; padding: .55em 1em .55em .85em;
      border-radius: 14px; text-decoration: none; color: #fff;
      background: #111; border: 1px solid rgba(255,255,255,.12);
    }
    .store-btn small { display: block; font-size: .68rem; opacity: .7; font-weight: 600; }
    .store-btn b { display: block; font-size: .95rem; letter-spacing: -.02em; }
    .phone-glow {
      width: min(220px, 48vw); aspect-ratio: 9/19; border-radius: 28px;
      margin: 0 0 1.6em;
      background:
        linear-gradient(165deg, rgba(255,255,255,.18), transparent 40%),
        linear-gradient(180deg, #0b1220, #1A62D4 120%);
      box-shadow: 0 0 60px rgba(26,98,212,.45), inset 0 0 0 1px rgba(255,255,255,.16);
    }



    .wll-stage {
      position: relative;
      height: 280px;
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 1.15em;
      background: #0c1017;
    }
    @media (min-width: 800px) { .wll-stage { height: 340px; border-radius: 20px; } }
    .wll-stage .wll-photo {
      position: absolute; inset: 0; width: 100%; height: 100%;
      margin: 0; object-fit: cover; border-radius: 0;
      opacity: 0; transition: opacity .7s ease;
    }
    .wll-stage .wll-photo.is-on { opacity: 1; }
    .wll-float {
      position: absolute; z-index: 2;
      width: min(168px, 46%);
      padding: .55em .65em .6em;
      border-radius: 14px;
      background: rgba(255,255,255,.94);
      color: #12161c;
      box-shadow: 0 10px 24px rgba(0,0,0,.16);
    }
    .wll-float span { display: block; font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: #1A62D4; }
    .wll-float b { display: block; margin-top: .12em; font-size: .86rem; letter-spacing: -.02em; }
    .wll-float small { display: block; margin-top: .1em; color: #586370; font-size: .72rem; line-height: 1.3; }
    .wll-float.f1 { top: 12px; left: 12px; }
    .wll-float.f2 { top: 16px; right: 12px; }
    .wll-float.f3 { bottom: 14px; left: 12px; }
    .wll-float.f4 { bottom: 18px; right: 14px; }
    .wll-ctas .btn-build, .wll-ctas .btn-app { gap: .45em; }
    .wll-ctas .ic { width: 16px; height: 16px; }
