  :root{
      /* ===== CavBot palette (pulled from your CavBot index) ===== */
      --navy-950:#01030f;
      --navy-900:#020616;
      --navy-800:#050a1b;

      --violet:#8b5cff;               /* CavBot purple (dominant) */
      --violet-soft: rgba(139,92,255,0.20);
      --violet-soft-strong: rgba(139,92,255,0.28);
      --violet-border-soft: rgba(139,92,255,0.48);

      --lime:#b9c85a;                 /* secondary accent */
      --lime-soft: rgba(185,200,90,0.14);

      --blue:#4ea8ff;

      --ink:#f7fbff;
      --muted:#c5cee7;
      --muted-soft: rgba(197,206,231,0.78);
      --subtle:#8890aa;

      /* Workspace Console shell tokens (kept, but CavBot-tinted) */
      --pill-radius:999px;
      --rounded-shell: 28px;
      --rounded-card: 20px;

      --shell-glass:
        radial-gradient(circle at top left, rgba(139,92,255,0.18), transparent 60%),
        radial-gradient(circle at bottom right, rgba(78,168,255,0.14), transparent 60%),
        linear-gradient(160deg, rgba(5,10,27,0.86), rgba(1,3,15,0.96));
      --shell-border: rgba(255,255,255,0.16);

      --card-glass:
        radial-gradient(circle at top left, rgba(139,92,255,0.16), transparent 62%),
        radial-gradient(circle at bottom right, rgba(185,200,90,0.10), transparent 60%),
        rgba(3,6,20,0.92);
      --card-glass-alt:
        radial-gradient(circle at top left, rgba(139,92,255,0.22), transparent 62%),
        rgba(3,6,20,0.96);

      --card-border: rgba(255,255,255,0.24);
      --card-border-soft: rgba(255,255,255,0.16);

      /* Type */
      --font-main:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      --font-display:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

      /* Optional preview image */
      --cb-preview: none;
    }

    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{
      margin:0;
      min-height:100vh;
      font-family:var(--font-main);
      color:var(--ink);
      background:
        radial-gradient(circle at top, #071025 0%, var(--navy-900) 38%, var(--navy-950) 100%);
      display:flex;
      justify-content:center;
      padding:32px 16px 40px;
      overflow-x:hidden;
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
      animation:pageFade .35s ease both;
    }
    @keyframes pageFade{from{opacity:.01;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

    a{color:inherit;text-decoration:none}
    :focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:3px;border-radius:12px}
    img{max-width:100%;display:block}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

    /* Shell */
    .shell{
      width:100%;
      max-width:1140px;
      border-radius:var(--rounded-shell);
      padding:22px 22px 20px;
      display:flex;
      flex-direction:column;
      gap:18px;
      background:var(--shell-glass);
      border:1px solid var(--shell-border);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      overflow:hidden;
      opacity:0;
      transform: translateY(18px) scale(.995);
      animation: shellReveal .8s cubic-bezier(.18,.8,.24,1) .14s forwards;
    }
    @keyframes shellReveal{to{opacity:1;transform:translateY(0) scale(1)}}

    /* Top bar */
    header.case-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:10px 16px;
      border-radius:var(--rounded-card);
      background: var(--card-glass-alt), var(--card-glass-alt);
      border:1px solid var(--card-border-soft);
    }
    .header-left{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
    }
    .header-mark{display:flex;align-items:center;justify-content:center}
    .header-logo{width:28px;height:28px;object-fit:contain;opacity:.96}
    .crumb{
      font-size:.78rem;
      color:var(--muted-soft);
      letter-spacing:.08em;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .tag-pill{
      border-radius:var(--pill-radius);
      border:1px solid var(--violet-border-soft);
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.22), transparent 60%),
        linear-gradient(145deg, rgba(255,255,255,0.10), rgba(1,3,15,0.92));
      padding:4px 14px;
      font-size:.72rem;
      text-transform:uppercase;
      letter-spacing:.16em;
      color:var(--ink);
      display:inline-flex;
      align-items:center;
      gap:8px;
      white-space:nowrap;
    }
    .tag-pill .dot{
      width:7px;height:7px;border-radius:50%;
      background: radial-gradient(circle, rgba(185,200,90,1) 0%, rgba(139,92,255,1) 55%, rgba(4,6,30,1) 100%);
      opacity:.95;
    }

    /* Main */
    main{display:flex;flex-direction:column;gap:16px;padding-top:4px}

    /* Shared card */
    .card{
      border-radius:var(--rounded-card);
      padding:16px 16px 18px;
      background: var(--card-glass-alt), var(--card-glass);
      border:1px solid var(--card-border-soft);
      backdrop-filter: blur(22px) saturate(1.15);
      -webkit-backdrop-filter: blur(22px) saturate(1.15);
      overflow:hidden;
      position:relative;
    }
    .card:hover{border-color:var(--card-border);background:var(--card-glass-alt)}
    .card + .card{margin-top:6px}

    /* subtle “load bar” on reveal cards */
    .card.reveal::after{
      content:"";
      position:absolute;
      left:0; top:0;
      height:2px; width:100%;
      background: linear-gradient(90deg,
        rgba(139,92,255,0) 0%,
        rgba(139,92,255,0.65) 35%,
        rgba(185,200,90,0.45) 65%,
        rgba(78,168,255,0.55) 100%);
      transform: scaleX(0);
      transform-origin: left center;
      opacity:.78;
      transition: transform .9s cubic-bezier(.18,.8,.24,1), opacity .6s ease;
      pointer-events:none;
    }
    .card.reveal.is-visible::after{transform: scaleX(1);}

    /* Buttons */
    .btn-row{display:flex;gap:10px;flex-wrap:wrap}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      padding:8px 16px;
      border-radius:var(--pill-radius);
      border:1px solid rgba(255,255,255,0.20);
      font-size:.78rem;
      font-weight:600;
      letter-spacing:.16em;
      text-transform:uppercase;
      cursor:pointer;
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.18), transparent 60%),
        linear-gradient(145deg, rgba(3,6,20,0.72), rgba(1,3,15,0.92));
      color:#fff;
      white-space:nowrap;
      transition: transform .16s ease, background .16s ease, border-color .16s ease;
      gap:10px;
    }
    .btn:hover{transform: translateY(-1px);border-color: rgba(255,255,255,0.34)}
    .btn:active{transform: translateY(0)}
    .btn-secondary{border:1px solid var(--card-border-soft);color:var(--ink)}
    .btn-secondary:hover{border-color: rgba(255,255,255,0.30)}
    .btn-accent{
      border-color: rgba(139,92,255,0.55);
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.28), transparent 60%),
        linear-gradient(145deg, rgba(139,92,255,0.14), rgba(1,3,15,0.94));
    }

    .icon{width:14px;height:14px;display:inline-block;opacity:.92;transform: translateY(-0.5px)}
    .icon svg{width:100%;height:100%}

    /* Hero */
    .hero{
      padding:20px 18px 18px;
      display:grid;
      grid-template-columns: minmax(0,1.15fr) minmax(0,0.85fr);
      gap:16px;
      align-items:stretch;
    }
    .hero h1{
      font-family:var(--font-display);
      font-size: clamp(1.20rem, 1.05rem + 1.1vw, 1.70rem);
      line-height:1.16;
      letter-spacing:.10em;
      text-transform:uppercase;
      text-align:left;
    }
    .hero p{
      margin-top:10px;
      font-size:.95rem;
      line-height:1.9;
      color:var(--muted);
      max-width: 60ch;
    }
    .hero-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }

    .status-pill{
      display:inline-flex;align-items:center;gap:8px;
      padding:5px 12px;
      border-radius:var(--pill-radius);
      font-size:.72rem;
      text-transform:uppercase;
      letter-spacing:.14em;
      border:1px solid rgba(255,255,255,0.14);
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.18), transparent 60%),
        linear-gradient(135deg, rgba(255,255,255,0.10), rgba(1,3,15,0.90));
      color:var(--muted-soft);
      white-space:nowrap;
    }
    .status-dot{width:7px;height:7px;border-radius:50%}
    .status-live .status-dot{
      background: radial-gradient(circle, rgba(185,200,90,1) 0%, rgba(139,92,255,1) 60%, rgba(1,3,15,1) 100%);
    }

    .hero-meta{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:12px;
    }
    .meta-pill{
      padding:4px 12px;
      border-radius:var(--pill-radius);
      border:1px solid rgba(255,255,255,0.14);
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.12), transparent 60%),
        rgba(0,0,0,0.45);
      color:var(--muted-soft);
      font-size:.8rem;
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      white-space:nowrap;
      font-variant-numeric: tabular-nums;
    }

    .hero-right{display:flex;flex-direction:column;gap:12px;justify-content:space-between}

    /* Preview “control-plane surface” */
    figure.preview{
      border-radius:18px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,0.14);
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.24), transparent 62%),
        linear-gradient(145deg, rgba(0,0,0,0.78), rgba(5,10,20,0.96));
      min-height: 220px;
      display:flex;
      flex-direction:column;
    }
    .preview-top{
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.08);
    }
    .preview-badges{display:flex;gap:6px;flex-wrap:wrap}
    .mini-pill{
      padding:3px 10px;border-radius:999px;
      border:1px solid rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.06);
      color: rgba(247,251,255,0.72);
      font-size:.72rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .mini-pill.cb{
      border-color: rgba(139,92,255,0.38);
      background: rgba(139,92,255,0.14);
      color: rgba(139,92,255,0.92);
    }
    .preview-body{padding:12px;display:grid;gap:10px;flex:1}

    .preview-screen{
      border-radius:16px;
      border:1px solid rgba(255,255,255,0.12);
      overflow:hidden;
      background:
        var(--cb-preview),
        radial-gradient(circle at 34% 28%, rgba(139,92,255,0.20), transparent 50%),
        radial-gradient(circle at 62% 54%, rgba(78,168,255,0.18), transparent 54%),
        radial-gradient(circle at 78% 20%, rgba(185,200,90,0.12), transparent 58%),
        linear-gradient(160deg, rgba(5,10,27,0.62), rgba(1,3,15,0.98));
      background-size: cover;
      background-position: center;
      min-height: 150px;
      position:relative;
    }

    /* removed pill label + replaced with subtle scanline motion */
    .preview-screen::before{
      content:"";
      position:absolute;
      left:-20%;
      top:0;
      width:140%;
      height:2px;
      background: linear-gradient(90deg,
        transparent 0%,
        rgba(185,200,90,0.42) 35%,
        rgba(139,92,255,0.42) 55%,
        rgba(78,168,255,0.40) 70%,
        transparent 100%);
      opacity:.55;
      transform: translateY(-28px);
      animation: scanline 3.9s ease-in-out infinite;
      pointer-events:none;
      z-index:2;
    }
    @keyframes scanline{
      0%, 100% { transform: translateY(-28px); opacity: .0; }
      18%      { opacity: .55; }
      50%      { transform: translateY(108px); opacity: .42; }
      82%      { opacity: .55; }
    }

    .preview-screen::after{
      content:"";
      position:absolute;inset:0;
      background:
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,0.05) 1px, transparent 1px);
      background-size: 20px 20px;
      opacity:.20;
      pointer-events:none;
      z-index:1;
    }

    /* badge container centered dead-middle */
    .preview-badge{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      z-index:3;
      pointer-events:none;
    }
    .preview-badge .cavbot-dm-avatar{
      transform: scale(1);
      filter: drop-shadow(0 18px 26px rgba(0,0,0,0.45));
    }

    .pulse-dot{
      position:absolute;
      right:12px; top:12px;
      width:9px;height:9px;border-radius:999px;
      background: var(--lime);
      box-shadow: 0 0 14px rgba(185,200,90,0.75);
      animation: pulse 1.6s ease-in-out infinite;
      z-index:4;
    }
    @keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}

    .preview-caption{
      font-size:.82rem;
      color: rgba(247,251,255,0.72);
      line-height:1.65;
      letter-spacing:.02em;
    }

    .code-slab{
      margin-top:8px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,0.14);
      background: rgba(1,3,15,0.88);
      padding:10px 10px 9px;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-size: 11px;
      line-height: 1.7;
      color: rgba(247,251,255,0.86);
      overflow-x:auto;
    }

    /* Section titles */
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom:10px;
    }
    .section-head h2{
      font-family:var(--font-display);
      font-size:1.05rem;
      letter-spacing:.14em;
      text-transform:uppercase;
    }
    .section-head p{
      font-size:.86rem;
      color:var(--muted);
      line-height:1.7;
      max-width: 60ch;
    }

    /* Snapshot grid */
    .grid-2{display:grid;grid-template-columns: 1fr 1fr;gap:14px}
    .snap{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px}
    .snap .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-soft)}
    .snap .v{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;color:var(--ink);line-height:1.25;text-transform:uppercase}
    .snap .s{font-size:.9rem;color:var(--muted);line-height:1.75;margin-top:2px}

    /* Lists */
    ul.clean{list-style:none;display:grid;gap:10px;margin-top:10px}
    .li{
      display:flex;gap:10px;align-items:flex-start;
      padding:10px 12px;border-radius:14px;
      border:1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.04);
    }
    .li .b{
      width:9px;height:9px;border-radius:50%;
      margin-top:6px;
      background: linear-gradient(135deg, rgba(139,92,255,0.95), rgba(185,200,90,0.78));
      flex:0 0 9px;
    }
    .li .t{font-size:.92rem;color: rgba(247,251,255,0.84);line-height:1.75}

    /* Brand system module */
    .brand-grid{display:grid;grid-template-columns: 1fr 1fr;gap:14px;align-items:stretch}
    .palette{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px}
    .swatches{display:grid;grid-template-columns: repeat(2, minmax(0,1fr));gap:10px;margin-top:6px}
    .swatch{border-radius:16px;border:1px solid rgba(255,255,255,0.16);overflow:hidden;background: rgba(255,255,255,0.04)}
    .swatch-top{height:62px;background:#111}
    .swatch-meta{padding:10px 12px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
    .swatch-meta .name{font-family:var(--font-display);font-size:.92rem;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}
    .swatch-meta .hex{font-size:.78rem;color:var(--muted);letter-spacing:.10em;text-transform:uppercase;white-space:nowrap;font-variant-numeric: tabular-nums}

    .typecard{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px}
    .type-demo{border-radius:16px;border:1px solid rgba(255,255,255,0.12);background: rgba(255,255,255,0.04);padding:12px 12px 14px}
    .type-demo .display{font-family:var(--font-display);letter-spacing:.10em;text-transform:uppercase;font-size:1.10rem;line-height:1.25}
    .type-demo .body{margin-top:8px;color:var(--muted);font-size:.92rem;line-height:1.85}
    .type-tokens{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

    /* =========================
       WHEEL (STURDY FRAME + SPINNING ROTOR)
       ========================= */
    .wheel{
      border-radius:18px;
      border:1px solid rgba(255,255,255,0.14);
      height: 210px;
      position:relative;
      overflow:hidden;
      background: rgba(0,0,0,0.12); /* frame stays still */
    }

    .wheel-rotor{
      position:absolute;
      inset:0;
      border-radius:inherit;
      z-index:0;

      background:
        radial-gradient(circle at 50% 50%,
          rgba(139,92,255,0.22) 0 34%,
          rgba(0,0,0,0) 36% 100%),
        conic-gradient(
          from 180deg,
          rgba(139,92,255,0.78),
          rgba(78,168,255,0.72),
          rgba(185,200,90,0.58),
          rgba(1,3,15,0.85),
          rgba(139,92,255,0.78)
        );

      will-change: transform;
      transform: translateZ(0);
    }

    .wheel::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      z-index:1;
      background:
        radial-gradient(circle at 50% 50%,
          rgba(0,0,0,0) 0 58px,
          rgba(0,0,0,0.38) 60px 100%),
        linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,0.06) 1px, transparent 1px);
      background-size:auto, 22px 22px, 22px 22px;
      opacity:.52;
      pointer-events:none;
    }

    .wheel::after{
      content:"";
      position:absolute;
      left:50%; top:50%;
      width:10px; height:10px;
      transform: translate(-50%,-50%);
      border-radius:999px;
      background: radial-gradient(circle, rgba(247,251,255,0.85), rgba(247,251,255,0.10));
      opacity:.85;
      z-index:2;
      pointer-events:none;
    }

    @keyframes wheelSpin { to { transform: rotate(360deg); } }
    .wheel-rotor{ animation: wheelSpin 10s linear infinite; }

    /* Highlights */
    .hi-grid{display:grid;grid-template-columns: repeat(3, minmax(0,1fr));gap:14px}
    .hi{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;min-height: 150px}
    .hi .t{font-family:var(--font-display);letter-spacing:.08em;font-size:1.02rem;line-height:1.2;text-transform:uppercase}
    .hi .p{color:var(--muted);font-size:.92rem;line-height:1.85;margin-top:2px}

    /* CTA block */
    .cta{
      padding:18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
    }
    .cta .left{display:flex;flex-direction:column;gap:6px;max-width: 70ch}
    .cta .left .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-soft)}
    .cta .left .v{font-family:var(--font-display);font-size:1.08rem;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}
    .cta .left .s{color:var(--muted);font-size:.92rem;line-height:1.8;margin-top:2px}

    /* ===== PROJECT GALLERY SLIDER ===== */
    .gallery-card{padding:0}
    .gallery-head{padding:16px 16px 10px}
    .gallery-head .section-head{margin-bottom:0}
    .slider{position:relative;padding: 8px 0 14px;}
    .slider-track{
      display:flex;
      gap:14px;
      overflow-x:auto;
      overscroll-behavior-x: contain;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scroll-behavior:smooth;
      padding: 12px 16px 14px;
    }
    .slider-track::-webkit-scrollbar{height:0}
    .slide{
      scroll-snap-align: center;
      flex: 0 0 min(86%, 720px);
      border-radius:18px;
      border:1px solid rgba(255,255,255,0.14);
      background:
        radial-gradient(circle at top left, rgba(139,92,255,0.22), transparent 60%),
        linear-gradient(145deg, rgba(0,0,0,0.76), rgba(5,10,20,0.96));
      overflow:hidden;
      position:relative;
    }
    .slide::after{
      content:"";
      position:absolute;inset:0;
      background:
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,0.05) 1px, transparent 1px);
      background-size: 22px 22px;
      opacity:.16;
      pointer-events:none;
    }
    .slide-media{
      aspect-ratio: 16 / 9;
      position:relative;
      background:
        radial-gradient(circle at 36% 30%, rgba(139,92,255,0.18), transparent 52%),
        radial-gradient(circle at 62% 52%, rgba(78,168,255,0.14), transparent 58%),
        linear-gradient(160deg, rgba(5,10,27,0.62), rgba(1,3,15,0.98));
    }
    .slide img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      opacity: 0.96;
      transform: scale(1.001);
    }
    .slide-label{
      position:absolute;
      left:12px; bottom:12px;
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.14);
      background: rgba(0,0,0,0.35);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      color: rgba(247,251,255,0.78);
      font-size:.72rem;
      letter-spacing:.14em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .slide-label .mini-dot{
      width:7px;height:7px;border-radius:50%;
      background: radial-gradient(circle, rgba(139,92,255,0.95), rgba(185,200,90,0.60));
    }

    .slider-ui{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding: 0 16px 6px;
    }
    .dots{
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }
    .dot-btn{
      width:9px;height:9px;border-radius:999px;
      border:1px solid rgba(255,255,255,0.22);
      background: rgba(255,255,255,0.10);
      opacity:.65;
      cursor:pointer;
      transition: transform .16s ease, opacity .16s ease, background .16s ease, border-color .16s ease;
    }
    .dot-btn[aria-current="true"]{
      opacity:1;
      transform: scale(1.18);
      border-color: rgba(139,92,255,0.55);
      background: rgba(139,92,255,0.32);
    }
    .nav-btns{display:flex;gap:10px}
    .nav-btn{
      width:38px;height:38px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.05);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      transition: transform .16s ease, border-color .16s ease, background .16s ease;
    }
    .nav-btn:hover{transform: translateY(-1px);border-color: rgba(255,255,255,0.28);background: rgba(255,255,255,0.07)}
    .nav-btn svg{width:18px;height:18px;opacity:.85}

    /* ===== FOOTER (same as your workspace console footer) ===== */
    footer.workspace-footer {
      margin-top: 18px;
      padding: 14px 16px 12px;
      border-radius: var(--rounded-card);
      border: 1px solid var(--card-border-soft);
      background: var(--card-glass-alt), var(--card-glass);
      display: flex;
      flex-direction: column;
      gap: 8px;
      font-size: 0.8rem;
      color: var(--muted);
    }
    .foot-left { display:flex; flex-direction:column; gap:4px; }
    .foot-left-main,
    .foot-toggle-label {
      font-size: 0.86rem;
      letter-spacing: 0.06em;
      text-transform: none;
      color: var(--muted-soft);
      font-weight: 500;
    }
    .foot-left-sub {
      font-size: 0.8rem;
      color: var(--muted);
      max-width: 32rem;
    }
    .foot-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 0 4px;
      margin-top: 4px;
      border: none;
      background: none;
      cursor: pointer;
      font: inherit;
      color: var(--muted-soft);
    }
    .foot-toggle-icon {
      display: inline-flex;
      width: 18px;
      height: 18px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.3);
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
      transform: rotate(180deg);
      transition: transform .18s ease, background .18s ease, border-color .18s ease;
    }
    .foot-main-row {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
      padding-top: 2px;
    }
    .foot-right {
      display: inline-flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
    }
    .foot-link {
      position: relative;
      font-size: 0.8rem;
      letter-spacing: 0.06em;
      text-transform: none;
      color: var(--muted);
      padding-bottom: 2px;
      white-space: nowrap;
    }
    .foot-link::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background: var(--card-border);
      transform-origin: left center;
      transform: scaleX(0);
      transition: transform 0.18s ease;
    }
    .foot-link:hover::after { transform: scaleX(1); }
    .foot-bottom-row {
      display: flex;
      justify-content: flex-end;
      font-size: 0.78rem;
      color: var(--muted-soft);
      margin-top: 4px;
    }
    .foot-bottom-row span { white-space: nowrap; }
    .workspace-footer.collapsed .foot-main-row { display: none; }
    .workspace-footer.collapsed .foot-toggle-icon {
      transform: rotate(0deg);
      background: none;
      border-color: rgba(255,255,255,0.3);
    }
    .workspace-footer.expanded .foot-toggle-icon {
      background: rgba(255,255,255,0.08);
      border-color: rgba(255,255,255,0.45);
    }

    /* Reveal */
    .reveal{opacity:0;transform: translateY(18px);transition: opacity .6s ease, transform .6s ease}
    .reveal.is-visible{opacity:1;transform: translateY(0)}

    /* extra “agency pop” on arrival (still minimal) */
    @keyframes popIn {
      0%   { transform: translateY(18px) scale(.992); opacity: 0; }
      70%  { transform: translateY(-2px) scale(1.002); opacity: 1; }
      100% { transform: translateY(0) scale(1); opacity: 1; }
    }
    .reveal.is-visible{ animation: popIn .65s cubic-bezier(.18,.8,.24,1) both; }

    /* Responsive */
    @media (max-width: 980px){
      body{padding:24px 12px 30px}
      .shell{padding:20px 18px 18px;border-radius:24px}
      .hero{grid-template-columns: 1fr;gap:14px}
      .hero h1{text-align:center;letter-spacing:.08em}
      .hero p{text-align:center;margin-inline:auto}
      .hero-meta{justify-content:center}
      .hero-top{justify-content:center}
      .hero-right{gap:14px}
      .grid-2{grid-template-columns:1fr}
      .brand-grid{grid-template-columns:1fr}
      .hi-grid{grid-template-columns:1fr;gap:12px}
      figure.preview{min-height: 200px}
      .slide{flex-basis: 92%;}
    }
    @media (max-width: 640px){
      body{padding:18px 10px 24px}
      .shell{border-radius:20px}
      header.case-header{padding:10px 12px}
      .header-logo{width:24px;height:24px}
      .crumb{display:none}
      .card{padding:14px 13px 15px}
      .hero{padding:16px 14px 14px}
      .btn{width:100%;justify-content:center}
      .btn-row{width:100%}
      .swatches{grid-template-columns:1fr}
      .wheel{height: 190px}
      .cta{padding:16px 14px 14px}
      .foot-main-row { flex-direction: column; align-items: flex-start; }
      .foot-right { flex-direction: column; align-items: flex-start; gap: 6px; }
      .foot-bottom-row { justify-content: flex-end; }
      .nav-btns{display:none} /* swipe-first on mobile */
    }
    @media (max-width: 420px){
      .meta-pill{width:100%;text-align:center}
      .status-pill{width:auto;justify-content:center}
  
    }

    @media (prefers-reduced-motion: reduce){
      *{scroll-behavior:auto}
      body,.shell{animation:none}
      .reveal{opacity:1;transform:none;transition:none}
      .reveal.is-visible{animation:none}
      .pulse-dot{animation:none}
      .preview-screen::before{animation:none;opacity:0}
      .reveal.is-visible .wheel-rotor{animation:none}
    }
