/* ============================================================================
   PIPELINE.CSS — the 4-step services pipeline (now on platform.html) + the
   services-era hero band (now on solutions.html) + solutions banners.
   Extracted from services.html's inline styles 2026-07-15 when Services
   merged into the SONO XR page and services.html became solutions.html.
   ============================================================================ */

    /* ── VIDEO HERO BAND ── */
    .solutions-hero-band {
      position: relative;
      height: 60vh;
      min-height: 360px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .solutions-hero-video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    /* ── PAGE HEADER (now overlaid on video) ── */
    .solutions-page-header {
      position: relative;
      z-index: 1;
      text-align: center;
      padding: 0 24px;
    }
    .solutions-page-header .section-tag {
      display: block;
      margin-bottom: 20px;
    }
    .solutions-page-header .section-title {
      font-size: clamp(2.5rem, 6vw, 5rem);
      font-weight: 900;
      margin-bottom: 0;
      color: #ffffff;
    }
    .services-lede {
      max-width: 640px;
      margin: 18px auto 0;
      font-size: clamp(1rem, 1.6vw, 1.2rem);
      line-height: 1.6;
      color: rgba(255,255,255,0.82);
      text-shadow: 0 1px 8px rgba(0,0,0,0.6);
    }
    .services-lede em { font-style: normal; color: #00ff88; }
    /* Reduced-motion: hide video, fall back to dark bg */
    @media (prefers-reduced-motion: reduce) {
      .solutions-hero-video {
        display: none;
      }
      .solutions-hero-band {
        background: #050810;
      }
    }

    /* ── FILTER BUTTONS (exact match to portfolio.html) ── */
    .solutions-filters {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
      margin: 20px auto 48px;
    }
    .filter-btn {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 12px;
      font-weight: 700;
      padding: 10px 24px;
      border: 1px solid rgba(0, 212, 255, 0.4);
      background: transparent;
      color: #a0a0a0;
      border-radius: 4px;
      cursor: pointer;
      letter-spacing: 0.1em;
      transition: all 0.2s;
    }
    .filter-btn.active,
    .filter-btn:hover {
      border-color: #00ff88;
      color: #00ff88;
      background: rgba(0, 255, 136, 0.08);
    }

    /* ── SOLUTIONS STACK (single column, full width) ── */
    .solutions-stack {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 24px 80px;
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    /* ── SOLUTION CARD WRAPPER ── */
    .solution-card-wrapper {
      display: block;
      margin-bottom: 24px;
    }

    /* ── SOLUTION CARD (full-bleed, 500px, title BL, button BR) ── */
    .solution-card {
      position: relative;
      width: 100%;
      height: 500px;
      border-radius: 12px 12px 0 0;
      overflow: hidden;
      border: 1px solid var(--glass-border);
      border-bottom: none;
    }
    .solution-card-wrapper:not(:has(.solution-expand.open)) .solution-card {
      border-radius: 12px;
      border-bottom: 1px solid var(--glass-border);
    }
    .solution-card-bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      transition: transform 0.5s ease;
    }
    .solution-card:hover .solution-card-bg {
      transform: scale(1.03);
    }
    .solution-card-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(5, 8, 16, 0.05) 0%,
        rgba(5, 8, 16, 0.5) 40%,
        rgba(5, 8, 16, 0.9) 100%
      );
    }
    .solution-card-content {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 32px 36px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
    }
    .solution-card-text {
      flex: 1;
    }
    .solution-card-tag {
      display: block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      color: #00ff88;
      margin-bottom: 10px;
    }
    .solution-card-title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: clamp(1.2rem, 2.2vw, 1.8rem);
      font-weight: 900;
      color: #ffffff;
      margin: 0;
      line-height: 1.2;
    }
    .view-details-btn {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.1em;
      padding: 12px 22px;
      border: 1px solid rgba(0, 255, 136, 0.6);
      background: rgba(0, 255, 136, 0.08);
      color: #00ff88;
      border-radius: 4px;
      cursor: pointer;
      transition: all 0.2s;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .view-details-btn:hover {
      background: rgba(0, 255, 136, 0.18);
      border-color: #00ff88;
    }

    /* ── EXPAND PANEL ── */
    .solution-expand {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.5s ease;
      background: #080f1e;
      border: 1px solid var(--glass-border);
      border-top: 2px solid #00ff88;
      border-radius: 0 0 12px 12px;
    }

    /* ── EXPAND: SUB-ITEMS (spacious image-left / text-right rows) ── */
    .expand-subitems-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px;
      padding: 40px;
    }
    @media (max-width: 640px) {
      .expand-subitems-grid { padding: 24px; gap: 18px; }
    }
    .expand-subitem-block {
      display: grid;
      grid-template-columns: 320px 1fr;
      align-items: stretch;
      background: rgba(255, 255, 255, 0.02);
      border: 1px solid rgba(0, 255, 136, 0.1);
      border-radius: 10px;
      overflow: hidden;
      transition: border-color 0.2s;
    }
    .expand-subitem-block:hover {
      border-color: rgba(0, 255, 136, 0.3);
    }
    .expand-subitem-media {
      width: 100%;
      height: 100%;
      min-height: 200px;
      background: #0a1628;
      overflow: hidden;
      border-right: 1px solid rgba(0, 255, 136, 0.08);
    }
    .expand-subitem-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0.8;
      transition: opacity 0.3s;
    }
    .expand-subitem-block:hover .expand-subitem-media img {
      opacity: 1;
    }
    .expand-subitem-info {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 28px 32px;
    }
    .expand-subitem-title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 15px;
      font-weight: 800;
      color: #ffffff;
      margin: 0 0 10px;
      letter-spacing: 0.06em;
    }
    .expand-subitem-desc {
      font-size: 14px;
      color: rgba(255, 255, 255, 0.55);
      line-height: 1.7;
      margin: 0;
      max-width: 620px;
    }
    /* Mobile: stack image on top, text below */
    @media (max-width: 720px) {
      .expand-subitem-block {
        grid-template-columns: 1fr;
      }
      .expand-subitem-media {
        height: 180px;
        min-height: 0;
        border-right: none;
        border-bottom: 1px solid rgba(0, 255, 136, 0.08);
      }
      .expand-subitem-info {
        padding: 20px 22px;
      }
    }

    /* ── EXPAND: XR MEDIA CLUSTERS ── */
    .expand-clusters-wrap {
      padding: 40px;
    }
    @media (max-width: 640px) {
      .expand-clusters-wrap { padding: 24px; }
    }
    .expand-cluster-section {
      margin-bottom: 36px;
    }
    .expand-cluster-section:last-child {
      margin-bottom: 0;
    }
    .expand-cluster-heading {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      color: #00d4ff;
      padding-bottom: 10px;
      margin-bottom: 16px;
      border-bottom: 1px solid rgba(0, 212, 255, 0.2);
    }

    /* ── SONOXR PREMIUM CALLOUT ── */
    .sonoxr-cinematic-callout {
      margin-bottom: 24px;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid rgba(0, 212, 255, 0.35);
      position: relative;
    }
    /* Top accent beam */
    .sonoxr-cinematic-callout::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, #00d4ff 40%, #00ff88 60%, transparent);
      z-index: 2;
    }
    /* Hero card (matches existing .solution-card visual) */
    .sonoxr-hero-card {
      position: relative;
      width: 100%;
      height: 380px;
      overflow: hidden;
    }
    .sonoxr-hero-bg {
      position: absolute;
      inset: 0;
      background-image: url('https://picsum.photos/seed/sonoxr-platform/1400/600');
      background-size: cover;
      background-position: center;
      filter: hue-rotate(180deg) saturate(0.6) brightness(0.5);
      transition: transform 0.5s ease;
    }
    .sonoxr-cinematic-callout:hover .sonoxr-hero-bg {
      transform: scale(1.02);
    }
    .sonoxr-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to bottom,
        rgba(5, 8, 16, 0.1) 0%,
        rgba(0, 30, 50, 0.55) 40%,
        rgba(5, 8, 16, 0.95) 100%
      );
    }
    .sonoxr-hero-content {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      padding: 32px 36px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
    }
    .sonoxr-hero-text {}
    .sonoxr-hero-badges {
      display: flex;
      gap: 8px;
      margin-bottom: 12px;
      flex-wrap: wrap;
    }
    .sonoxr-badge-excl {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.14em;
      color: #00ff88;
      background: rgba(0, 255, 136, 0.12);
      border: 1px solid rgba(0, 255, 136, 0.4);
      padding: 4px 10px;
      border-radius: 3px;
    }
    .sonoxr-badge-platform {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.14em;
      color: rgba(0, 212, 255, 0.9);
      background: rgba(0, 212, 255, 0.1);
      border: 1px solid rgba(0, 212, 255, 0.3);
      padding: 4px 10px;
      border-radius: 3px;
    }
    .sonoxr-hero-title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: clamp(1.8rem, 3.5vw, 3rem);
      font-weight: 900;
      color: #00d4ff;
      margin: 0 0 4px;
      line-height: 1;
      letter-spacing: 0.06em;
    }
    .sonoxr-hero-sub {
      font-size: 13px;
      color: rgba(255, 255, 255, 0.5);
      letter-spacing: 0.06em;
      margin: 0;
    }
    .sonoxr-hero-cta {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.1em;
      padding: 12px 22px;
      border: 1px solid rgba(0, 212, 255, 0.6);
      background: rgba(0, 212, 255, 0.1);
      color: #00d4ff;
      border-radius: 4px;
      cursor: pointer;
      text-decoration: none;
      white-space: nowrap;
      flex-shrink: 0;
      transition: all 0.2s;
      display: inline-block;
    }
    .sonoxr-hero-cta:hover {
      background: rgba(0, 212, 255, 0.2);
      border-color: #00d4ff;
    }

    /* SONOXR detail body (always visible) */
    .sonoxr-detail-body {
      background: linear-gradient(135deg, rgba(0, 212, 255, 0.04) 0%, rgba(0, 255, 136, 0.02) 100%);
      border-top: 1px solid rgba(0, 212, 255, 0.15);
      padding: 48px 40px;
    }
    .sonoxr-hook-text {
      font-size: 15px;
      color: rgba(255, 255, 255, 0.75);
      line-height: 1.8;
      max-width: 760px;
      margin: 0 0 40px;
    }
    .sonoxr-hook-text strong {
      color: #00ff88;
      font-weight: 600;
    }
    .sonoxr-detail-columns {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
      margin-bottom: 36px;
    }
    @media (max-width: 900px) {
      .sonoxr-detail-columns { grid-template-columns: 1fr; gap: 24px; }
    }
    .sonoxr-detail-col-heading {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      color: #00d4ff;
      margin: 0 0 14px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(0, 212, 255, 0.2);
    }
    .sonoxr-detail-list {
      list-style: none;
      padding: 0;
      margin: 0;
      color: rgba(255, 255, 255, 0.65);
      font-size: 13px;
      line-height: 2;
    }
    .sonoxr-detail-list li::before {
      content: '▶ ';
      color: rgba(0, 212, 255, 0.5);
      font-size: 9px;
    }
    .sonoxr-cta-row {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-wrap: wrap;
    }
    .sonoxr-cta-primary {
      display: inline-block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: #050810;
      background: linear-gradient(135deg, #00d4ff, #00ff88);
      border: none;
      border-radius: 50px;
      padding: 14px 32px;
      cursor: pointer;
      text-decoration: none;
      transition: opacity 0.2s, transform 0.2s;
    }
    .sonoxr-cta-primary:hover {
      opacity: 0.9;
      transform: translateY(-2px);
    }
    .sonoxr-cta-note {
      font-size: 12px;
      color: rgba(255, 255, 255, 0.35);
      letter-spacing: 0.04em;
    }

    /* ── EXISTING: expand section heading / spec / use list / cta (kept for reference) ── */
    .expand-section-heading {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: #00ff88;
      margin: 0 0 14px;
    }
    .expand-cta-btn {
      display: inline-block;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: #050810;
      background: linear-gradient(135deg, #00ff88, #00d4ff);
      border: none;
      border-radius: 50px;
      padding: 14px 32px;
      cursor: pointer;
      text-decoration: none;
      transition: opacity 0.2s, transform 0.2s;
    }
    .expand-cta-btn:hover {
      opacity: 0.9;
      transform: translateY(-2px);
    }
    .expand-bottom-cta-row {
      padding: 0 40px 36px;
      display: flex;
      align-items: center;
      gap: 16px;
    }
    /* ── SERVICE DETAIL EXPAND (pilot: 3D Digital Twin; reusable for all 18) ── */
    .panel-cta {
      margin-top: 12px;
      align-self: flex-start;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.1em;
      padding: 9px 16px;
      border: 1px solid rgba(0, 255, 136, 0.6);
      background: rgba(0, 255, 136, 0.08);
      color: #00ff88;
      border-radius: 4px;
      cursor: pointer;
      transition: all 0.2s;
    }
    .panel-cta:hover { background: rgba(0, 255, 136, 0.18); border-color: #00ff88; }

    .service-detail {
      position: relative;
      z-index: 3;
      max-height: 0;
      overflow: hidden;
      margin: 0 40px;
      background: #080f1e;
      border: 1px solid rgba(0, 255, 136, 0.18);
      border-radius: 12px;
      transition: max-height 0.55s ease;
    }
    .service-detail.open { max-height: 2600px; }
    .service-detail-inner {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
    }
    .service-detail-media {
      position: relative;
      min-height: 360px;
      background: #0a1628;
      overflow: hidden;
    }
    .service-detail-media video,
    .service-detail-media img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .service-detail-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 2;
      font-family: 'Barlow Condensed', monospace;
      font-size: 10px;
      letter-spacing: 0.1em;
      color: #00ff88;
      background: rgba(5, 8, 16, 0.82);
      border: 1px solid rgba(0, 255, 136, 0.3);
      padding: 5px 10px;
      border-radius: 4px;
    }
    .service-detail-info { padding: 44px 48px; }
    .service-detail-eyebrow {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      color: #00ff88;
      margin-bottom: 12px;
    }
    .service-detail-title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: clamp(1.3rem, 2vw, 1.7rem);
      font-weight: 900;
      color: #fff;
      margin: 0 0 16px;
      line-height: 1.2;
    }
    .service-detail-desc {
      font-size: 14px;
      line-height: 1.7;
      color: rgba(255, 255, 255, 0.62);
      margin: 0 0 24px;
      max-width: 48ch;
    }
    .service-detail-deliverables {
      list-style: none;
      padding: 0;
      margin: 0 0 30px;
      display: grid;
      gap: 10px;
    }
    .service-detail-deliverables li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 13px;
      color: rgba(255, 255, 255, 0.82);
    }
    .service-detail-deliverables li::before { content: "▸"; color: #00ff88; flex-shrink: 0; }
    .service-detail-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
    }
    .service-detail-close {
      background: none;
      border: none;
      color: rgba(255, 255, 255, 0.4);
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 10px;
      letter-spacing: 0.1em;
      cursor: pointer;
      padding: 8px 4px;
    }
    .service-detail-close:hover { color: #fff; }
    @media (max-width: 768px) {
      .service-detail { margin: 0 1.5rem; }
      .service-detail-inner { grid-template-columns: 1fr; }
      .service-detail-media { min-height: 220px; }
      .service-detail-info { padding: 28px 22px; }
    }

    /* ── Media slider ── */
    .detail-slider { position: relative; min-height: 480px; height: 100%; background: #0a1628; overflow: hidden; }
    .detail-slider .slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.5s ease; }
    .detail-slider .slide.active { opacity: 1; }
    .detail-slider .slide video, .detail-slider .slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .slide-caption {
      position: absolute; bottom: 16px; left: 16px; z-index: 2;
      font-family: 'Barlow Condensed', monospace; font-size: 10px; letter-spacing: 0.1em;
      color: #fff; background: rgba(5, 8, 16, 0.7); padding: 5px 10px; border-radius: 4px;
    }
    .slider-arrow {
      position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
      width: 38px; height: 38px; border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(5, 8, 16, 0.6);
      color: #fff; font-size: 22px; line-height: 1; cursor: pointer;
      display: flex; align-items: center; justify-content: center; transition: all 0.2s;
    }
    .slider-arrow:hover { background: rgba(0, 255, 136, 0.2); border-color: #00ff88; }
    .slider-arrow.prev { left: 14px; }
    .slider-arrow.next { right: 14px; }
    .slider-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 4; display: flex; gap: 7px; }
    .slider-dot { width: 7px; height: 7px; border-radius: 50%; border: none; background: rgba(255, 255, 255, 0.35); cursor: pointer; padding: 0; transition: background 0.2s; }
    .slider-dot.active { background: #00ff88; }

    /* ── Infograph (sleek icon feature grid) ── */
    .detail-infograph { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 22px; margin: 0 0 26px; }
    .infograph-item { display: flex; align-items: flex-start; gap: 11px; }
    .infograph-item svg, .infograph-item i { width: 18px; height: 18px; color: #00ff88; flex-shrink: 0; margin-top: 1px; }
    .ig-label { font-size: 12.5px; font-weight: 600; line-height: 1.35; color: rgba(255, 255, 255, 0.85); }

    /* ── Pricing grid (Starting @ $X per tier) ── */
    .detail-pricing { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0 0 28px; }
    .dp-tier {
      position: relative; display: flex; flex-direction: column; gap: 4px;
      padding: 14px 12px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px;
      background: rgba(255, 255, 255, 0.02);
    }
    .dp-tier.dp-popular { border-color: rgba(0, 255, 136, 0.5); background: rgba(0, 255, 136, 0.05); }
    .dp-badge {
      position: absolute; top: -9px; left: 12px;
      font-family: 'Barlow Condensed', sans-serif; font-size: 8px; font-weight: 700; letter-spacing: 0.08em;
      color: #04150c; background: #00ff88; padding: 2px 7px; border-radius: 3px;
    }
    .dp-name { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; color: rgba(255, 255, 255, 0.55); }
    .dp-meta { font-size: 10px; color: rgba(255, 255, 255, 0.4); }
    .dp-price { font-family: 'Barlow Condensed', sans-serif; font-size: 15px; font-weight: 800; color: #fff; margin-top: 4px; }
    .dp-from { display: block; font-family: var(--font-body, sans-serif); font-size: 9px; font-weight: 400; letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.4); text-transform: uppercase; }
    .dp-custom { color: #00ff88; }
    /* split rate list: RESIDENTIAL / COMMERCIAL columns of range→price rows */
    .detail-pricing--split { grid-template-columns: 1fr 1fr; gap: 12px; }
    .dp-group {
      border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px;
      background: rgba(255, 255, 255, 0.02); padding: 12px 14px;
    }
    .dp-group-label {
      display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700;
      letter-spacing: 0.14em; color: #00ff88; margin-bottom: 8px;
    }
    .dp-row {
      display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
      padding: 5px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }
    .dp-row:last-child { border-bottom: none; }
    .dp-row span { font-size: 11px; color: rgba(255, 255, 255, 0.55); letter-spacing: 0.03em; white-space: nowrap; }
    .dp-row b { font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 800; color: #fff; }
    .dp-row b.dp-custom { color: #00ff88; }
    @media (max-width: 768px) {
      .detail-infograph { grid-template-columns: 1fr; }
      .detail-pricing { grid-template-columns: 1fr 1fr; }
      .detail-pricing--split { grid-template-columns: 1fr; }
    }


/* ══════════════════════════════════════════════════════════════════════════
   SOLUTIONS PAGE — fuselabcreative-style card banners (2026-07-15 v5)
   Light canvas · big rounded imagery cards w/ air between · corner tag chips
   · bold title bottom-left · green circle-arrow · whole card is the link.
   ══════════════════════════════════════════════════════════════════════════ */
.fus-canvas {
  /* dark canvas — matches the portfolio page aesthetic (Michael 2026-07-15) */
  padding: clamp(56px, 8vh, 100px) clamp(18px, 4vw, 56px) clamp(70px, 10vh, 130px);
}
.fus-head { max-width: 1380px; margin: 0 auto clamp(28px, 4vh, 48px); }
.fus-eyebrow {
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: #00ff88;
}
.fus-cards {
  max-width: 1380px; margin: 0 auto;
  display: flex; flex-direction: column; gap: clamp(28px, 4.5vh, 52px);
}
.fus-card {
  position: relative; display: block; text-decoration: none;
  border-radius: 18px; overflow: hidden; isolation: isolate;
  aspect-ratio: 16 / 7; min-height: 380px;
  border: 1px solid rgba(0, 255, 102, 0.28);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  transform: translateZ(0);
  transition: box-shadow 0.35s ease, border-color 0.35s ease;
}
.fus-card:hover { border-color: rgba(0, 255, 102, 0.6); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.65), 0 0 40px rgba(0, 255, 102, 0.08); }
.fus-media { position: absolute; inset: 0; z-index: -2; }
.fus-media img, .fus-media video {
  width: 100%; height: 112%; object-fit: cover; display: block;
  transition: transform 0.6s ease; will-change: transform;
}
.fus-card:hover .fus-media img, .fus-card:hover .fus-media video { transform: scale(1.045); }
.fus-scrim {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(200deg, rgba(4, 8, 12, 0.12) 40%, rgba(4, 8, 12, 0.66) 78%, rgba(4, 8, 12, 0.85) 100%);
}
/* corner chips — portfolio-style green outline pills */
.fus-tag-ind {
  position: absolute; top: 20px; left: 22px;
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(4, 9, 8, 0.72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 255, 102, 0.45); border-radius: 999px;
  padding: 8px 15px; color: #fff;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.74rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
}
.fus-tag-ind i { width: 7px; height: 7px; border-radius: 50%; background: #00ff66; box-shadow: 0 0 8px rgba(0,255,102,0.6); }
.fus-tags {
  position: absolute; top: 20px; right: 22px;
  display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; max-width: 60%;
}
.fus-tags span {
  background: rgba(4, 9, 8, 0.6); color: #7ce8a8;
  border: 1px solid rgba(0, 255, 102, 0.35);
  border-radius: 999px; padding: 7px 13px;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
/* title block */
.fus-copy { position: absolute; left: clamp(22px, 3vw, 40px); bottom: clamp(20px, 3.5vh, 34px); max-width: 66%; }
.fus-copy h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 800;
  font-size: clamp(2rem, 4.2vw, 3.6rem); line-height: 1; color: #fff; margin: 0 0 8px;
  transition: transform 0.4s ease;
}
.fus-copy p {
  font-size: clamp(0.9rem, 1.3vw, 1.05rem); color: rgba(255, 255, 255, 0.85);
  margin: 0; transition: transform 0.4s ease 0.03s;
}
.fus-card:hover .fus-copy h2, .fus-card:hover .fus-copy p { transform: translateX(8px); }
/* circle arrow → expands into a VIEW MORE pill on hover (fuselab behavior) */
.fus-arrow {
  position: absolute; right: clamp(20px, 2.6vw, 34px); bottom: clamp(18px, 3vh, 30px);
  height: clamp(52px, 4.6vw, 60px); min-width: clamp(52px, 4.6vw, 60px);
  border-radius: 999px; background: #00ff66; color: #04140a;
  display: flex; align-items: center; justify-content: center;
  padding: 0; overflow: hidden;
  transition: padding 0.35s ease, background 0.35s ease;
}
.fus-arrow em {
  font-style: normal; font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.82rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  max-width: 0; opacity: 0; overflow: hidden; white-space: nowrap;
  transition: max-width 0.35s ease, opacity 0.25s ease, margin 0.35s ease;
}
.fus-card:hover .fus-arrow { padding: 0 22px; background: #33ff85; }
.fus-card:hover .fus-arrow em { max-width: 130px; opacity: 1; margin-right: 10px; }

@media (max-width: 860px) {
  .fus-card { aspect-ratio: 4 / 3.4; min-height: 340px; }
  .fus-tags { display: none; }
  .fus-copy { max-width: 78%; }
  .fus-arrow { height: 48px; min-width: 48px; }
}
