:root{
      --ink-0:#070503;--ink-1:#0C0906;--ink-2:#131009;--ink-3:#1C1710;--ink-4:#251E15;
      --red:#C8401A;--red-hi:#E05530;--red-dim:#8B2D12;--cream:#F0EBE3;--fog:#6B6058;--fog-hi:#9A8E82;
      --line:rgba(255,255,255,0.055);--line-red:rgba(200,64,26,0.25);--cool:rgba(59,148,146,.22);
    }
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{background:var(--ink-1);color:var(--cream);font-family:'DM Sans',sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden;}
    a{color:inherit;}

    nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:2rem 3.5rem;transition:background .5s,padding .4s;}
    nav.scrolled{background:rgba(7,5,3,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:1.35rem 3.5rem;}
    .nav-links{display:flex;gap:2.75rem;list-style:none;}
    .nav-links a{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--fog-hi);text-decoration:none;transition:color .2s;position:relative;}
    .nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--red);transition:width .3s;}
    .nav-links a:hover,.nav-links a.active{color:var(--cream);}
    .nav-links a:hover::after,.nav-links a.active::after{width:100%;}
    .nav-cta{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-0);background:var(--cream);padding:.65rem 1.5rem;text-decoration:none;transition:background .2s,color .2s,transform .2s;}
    .nav-cta:hover{background:var(--red);color:var(--cream);transform:translateY(-1px);}

    .logo-lockup{display:inline-flex;align-items:center;gap:.9rem;color:var(--cream);text-decoration:none;position:relative;isolation:isolate;}
    .logo-mark-shell{width:58px;height:58px;display:grid;place-items:center;position:relative;flex:0 0 auto;margin:-8px 0;}
    .logo-mark-shell::before{content:'';position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle,rgba(200,64,26,.19) 0%,rgba(200,64,26,.07) 38%,transparent 70%);opacity:.42;filter:blur(11px);transform:scale(.92);transition:opacity .7s ease,transform .7s ease;}
    .logo-mark-shell::after{content:'';position:absolute;inset:26% 6% 24% 8%;background:linear-gradient(100deg,transparent,rgba(200,64,26,.26),transparent);opacity:.16;filter:blur(7px);transform:rotate(-8deg);pointer-events:none;}
    .logo-mark-img{width:54px;height:54px;display:block;object-fit:contain;position:relative;z-index:2;opacity:.96;filter:drop-shadow(0 0 8px rgba(200,64,26,.12)) drop-shadow(0 0 22px rgba(240,235,227,.025));transition:filter .55s ease,opacity .55s ease,transform .55s ease;}
    .logo-lockup:hover .logo-mark-shell::before{opacity:.78;transform:scale(1.08);}
    .logo-lockup:hover .logo-mark-img{opacity:1;filter:drop-shadow(0 0 12px rgba(200,64,26,.28)) drop-shadow(0 0 30px rgba(240,235,227,.04));transform:translateY(-1px);}
    .logo-wordmark{font-family:'DM Sans',sans-serif;font-weight:700;font-size:.92rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);line-height:1;white-space:nowrap;}
    .logo-wordmark span{color:var(--red);}

    .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;z-index:600;}
    .hamburger span{display:block;width:24px;height:1.5px;background:var(--cream);transition:transform .3s,opacity .3s;}
    .hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
    .hamburger.open span:nth-child(2){opacity:0;}
    .hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
    .mobile-menu{position:fixed;inset:0;background:var(--ink-0);z-index:550;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;opacity:0;pointer-events:none;transition:opacity .35s ease;}
    .mobile-menu.open{opacity:1;pointer-events:all;}
    .mobile-menu a{font-family:'Cormorant',serif;font-size:clamp(2.5rem,8vw,3.5rem);font-weight:300;color:var(--cream);text-decoration:none;letter-spacing:.05em;transition:color .2s;}
    .mobile-menu a:hover,.mobile-menu a.active{color:var(--red);}
    .mobile-menu .menu-cta{font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-0);background:var(--red);padding:.9rem 2.5rem;margin-top:1rem;}

    .btn-primary{display:inline-block;padding:.9rem 2.25rem;background:var(--red);color:var(--cream);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background .2s,transform .15s;}
    .btn-primary:hover{background:var(--red-hi);transform:translateY(-1px);}
    .btn-ghost{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--fog-hi);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s,gap .2s;}
    .btn-ghost:hover{color:var(--cream);gap:.85rem;}
    .link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--red);text-decoration:none;margin-top:1.35rem;transition:gap .2s,color .2s;}
    .link-arrow:hover{gap:.9rem;color:var(--red-hi);}
    .section-label{display:flex;align-items:center;gap:1rem;font-size:.78rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:2.5rem;}
    .section-label::after{content:'';width:3rem;height:1px;background:var(--line-red);}

    /* HERO */
    .services-hero{min-height:100vh;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#050302;display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;padding:13rem 3.5rem 5.5rem;gap:5rem;isolation:isolate;}
    .hero-gas{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
    .gas-layer{position:absolute;border-radius:50%;filter:blur(62px);mix-blend-mode:screen;opacity:.44;will-change:transform,opacity;}
    .gas-a{width:78%;height:62%;left:-18%;top:18%;background:radial-gradient(ellipse,rgba(200,64,26,.23),rgba(112,35,7,.11) 45%,transparent 75%);animation:gasA 54s ease-in-out infinite alternate;}
    .gas-b{width:68%;height:55%;right:-12%;top:4%;background:radial-gradient(ellipse,rgba(64,145,143,.11),rgba(23,73,82,.05) 44%,transparent 74%);animation:gasB 68s ease-in-out infinite alternate;}
    .gas-c{width:92%;height:46%;right:8%;bottom:-14%;background:radial-gradient(ellipse,rgba(178,75,20,.17),rgba(57,17,4,.09) 46%,transparent 78%);animation:gasC 74s ease-in-out infinite alternate;}
    .services-hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(7,5,3,.1),rgba(7,5,3,.52) 78%,var(--ink-1)),radial-gradient(ellipse 70% 70% at 70% 50%,transparent 0%,rgba(7,5,3,.44) 70%);pointer-events:none;}
    @keyframes gasA{0%{transform:translate(-3%,2%) scale(1);opacity:.32;}50%{transform:translate(7%,-5%) scale(1.12);opacity:.55;}100%{transform:translate(2%,6%) scale(1.04);opacity:.38;}}
    @keyframes gasB{0%{transform:translate(4%,0) scale(.96);opacity:.18;}50%{transform:translate(-8%,6%) scale(1.18);opacity:.34;}100%{transform:translate(-2%,-4%) scale(1.02);opacity:.24;}}
    @keyframes gasC{0%{transform:translate(1%,5%) scale(.98);opacity:.28;}50%{transform:translate(-5%,-3%) scale(1.09);opacity:.46;}100%{transform:translate(4%,1%) scale(1.03);opacity:.33;}}
    .services-hero-left,.services-board{position:relative;z-index:3;}
    .hero-kicker{font-size:.75rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin-bottom:2rem;display:flex;align-items:center;gap:.9rem;}
    .hero-kicker::after{content:'';height:1px;width:3.4rem;background:var(--line-red);}
    .services-hero h1{font-family:'Cormorant',serif;font-size:clamp(3rem,6vw,7.2rem);font-weight:300;line-height:.96;letter-spacing:-.025em;max-width:9ch;margin-bottom:2.2rem;}
    .services-hero h1 em{font-style:italic;color:var(--red);}
    .services-hero-sub{max-width:54ch;color:var(--fog-hi);font-size:1rem;line-height:1.9;margin-bottom:2.5rem;}
    .hero-actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;}

    .services-board{align-self:center;border:1px solid rgba(200,64,26,.18);background:linear-gradient(160deg,rgba(19,16,9,.76),rgba(7,5,3,.72));box-shadow:0 38px 140px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035);padding:1.25rem;overflow:hidden;}
    .services-board::before{content:'';position:absolute;inset:-30%;background:radial-gradient(ellipse at 20% 20%,rgba(200,64,26,.12),transparent 42%),radial-gradient(ellipse at 80% 72%,rgba(59,148,146,.07),transparent 42%);filter:blur(22px);animation:boardBreath 20s ease-in-out infinite alternate;pointer-events:none;}
    @keyframes boardBreath{0%{transform:translate(-2%,1%) scale(1);opacity:.55;}100%{transform:translate(2%,-1%) scale(1.06);opacity:.9;}}
    .board-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:1rem 1rem 1.25rem;margin-bottom:1rem;}
    .board-header span{font-size:.64rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--fog-hi);}
    .board-status{display:flex;align-items:center;gap:.5rem;color:var(--red) !important;}
    .board-status::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 18px rgba(200,64,26,.6);animation:statusPulse 2.4s ease-in-out infinite;}
    @keyframes statusPulse{0%,100%{opacity:.45;transform:scale(.88);}50%{opacity:1;transform:scale(1.2);}}
    .signal-choices{position:relative;z-index:2;display:grid;gap:1px;background:var(--line);}
    .signal-choice{background:rgba(8,6,3,.86);padding:2rem;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:end;min-height:145px;cursor:default;transition:background .55s ease,transform .55s cubic-bezier(.22,1,.36,1),box-shadow .65s ease;}
    .signal-choice::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 85% at 20% 20%,rgba(200,64,26,.13),transparent 70%),radial-gradient(ellipse 50% 70% at 88% 80%,rgba(59,148,146,.055),transparent 72%);opacity:0;transform:scale(.96);transition:opacity .75s ease,transform .9s ease;}
    .signal-choice:hover{background:#18110c;transform:translateX(-4px);box-shadow:0 20px 80px rgba(0,0,0,.22);}
    .signal-choice:hover::before{opacity:1;transform:scale(1.04);}
    .signal-choice > *{position:relative;z-index:2;}
    .choice-num{font-family:'Cormorant',serif;font-style:italic;color:var(--red);font-size:1rem;margin-bottom:.8rem;}
    .signal-choice h3{font-family:'Cormorant',serif;font-size:clamp(1.6rem,2.4vw,2.6rem);font-weight:300;line-height:1.1;margin-bottom:.75rem;transition:color .45s ease,text-shadow .55s ease;}
    .signal-choice:hover h3{color:var(--red-hi);text-shadow:0 0 24px rgba(200,64,26,.13);}
    .signal-choice p{font-size:.9rem;color:var(--fog-hi);max-width:44ch;line-height:1.75;transition:color .45s ease;}
    .signal-choice:hover p{color:rgba(240,235,227,.9);}
    .choice-command{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fog);border:1px solid rgba(255,255,255,.055);padding:.55rem .7rem;transition:color .45s,border-color .45s,background .45s;white-space:nowrap;}
    .signal-choice:hover .choice-command{color:var(--red-hi);border-color:rgba(200,64,26,.34);background:rgba(200,64,26,.045);}

    /* Entry point */
    .signal-entry{padding:7rem 3.5rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--ink-1),#090604);}
    .entry-head{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:end;margin-bottom:4.5rem;}
    .entry-head h2{font-family:'Cormorant',serif;font-size:clamp(2.3rem,4vw,5rem);font-weight:300;line-height:1.05;max-width:14ch;}
    .entry-head h2 em{font-style:italic;color:var(--red);}
    .entry-head p{color:var(--fog-hi);max-width:55ch;line-height:1.9;}
    .entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
    .entry-card{background:rgba(12,9,6,.94);min-height:420px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background .65s ease,transform .65s cubic-bezier(.22,1,.36,1);}
    .entry-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 85% 70% at 20% 16%,rgba(200,64,26,.12),transparent 70%),radial-gradient(ellipse 70% 60% at 80% 82%,rgba(59,148,146,.045),transparent 76%);opacity:0;transition:opacity .8s ease;}
    .entry-card:hover{background:#17100b;transform:translateY(-3px);}
    .entry-card:hover::before{opacity:1;}
    .entry-card > *{position:relative;z-index:2;}
    .entry-card h3{font-family:'Cormorant',serif;font-size:clamp(2rem,3vw,3.25rem);font-weight:300;line-height:1.05;margin:1.25rem 0;}
    .entry-card h3 em{font-style:italic;color:var(--red);}
    .entry-card .entry-tag{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red);}
    .entry-card p{color:var(--fog-hi);font-size:.94rem;line-height:1.8;transition:color .55s;}
    .entry-card:hover p{color:rgba(240,235,227,.9);}
    .entry-card ul{list-style:none;margin-top:1.5rem;}
    .entry-card li{font-size:.85rem;color:var(--fog);padding:.45rem 0;border-top:1px solid rgba(255,255,255,.035);transition:color .45s;}


    /* SERVICES: dramatic but restrained entry intro fade */
    .entry-intro-copy {
      position: relative;
      color: rgba(154,142,130,.68);
      max-width: 58ch;
      padding-left: 1.25rem;
      isolation: isolate;
    }
    .entry-intro-copy::before {
      content: '';
      position: absolute;
      left: 0;
      top: .38rem;
      bottom: .38rem;
      width: 1px;
      background: linear-gradient(to bottom, transparent, rgba(200,64,26,.42), rgba(61,154,160,.12), transparent);
      transform: scaleY(.12);
      transform-origin: top;
      opacity: 0;
      filter: drop-shadow(0 0 10px rgba(200,64,26,.16));
    }
    .entry-intro-copy::after {
      content: '';
      position: absolute;
      inset: -1.1rem -1.8rem -1rem -.4rem;
      z-index: -1;
      background:
        radial-gradient(ellipse 78% 80% at 24% 48%, rgba(200,64,26,.07) 0%, transparent 68%),
        radial-gradient(ellipse 56% 62% at 78% 52%, rgba(47,119,124,.035) 0%, transparent 74%);
      opacity: 0;
      filter: blur(16px);
      transform: scale(.96);
    }
    .entry-intro-line {
      display: block;
      opacity: 0;
      transform: translateY(1.05rem);
      filter: blur(7px);
      color: rgba(154,142,130,.58);
      text-shadow: 0 0 0 rgba(200,64,26,0);
    }
    .entry-intro-copy.visible {
      opacity: 1;
      transform: none;
    }
    .entry-intro-copy.visible::before {
      animation: entryIntroRule 1.65s cubic-bezier(.16,1,.3,1) .12s forwards;
    }
    .entry-intro-copy.visible::after {
      animation: entryIntroGlow 2.4s cubic-bezier(.16,1,.3,1) .2s forwards;
    }
    .entry-intro-copy.visible .entry-intro-line {
      animation: entryIntroLine 1.45s cubic-bezier(.16,1,.3,1) forwards;
    }
    .entry-intro-copy.visible .entry-intro-line:nth-child(1) { animation-delay: .16s; }
    .entry-intro-copy.visible .entry-intro-line:nth-child(2) { animation-delay: .46s; }
    @keyframes entryIntroLine {
      0% {
        opacity: 0;
        transform: translateY(1.05rem);
        filter: blur(7px);
        color: rgba(154,142,130,.40);
      }
      62% {
        opacity: 1;
        filter: blur(.8px);
        color: rgba(240,235,227,.88);
        text-shadow:
          0 0 16px rgba(200,64,26,.08),
          0 0 34px rgba(47,119,124,.045);
      }
      100% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
        color: var(--fog-hi);
        text-shadow: 0 0 0 rgba(200,64,26,0);
      }
    }
    @keyframes entryIntroRule {
      0% { opacity: 0; transform: scaleY(.12); }
      55% { opacity: .9; transform: scaleY(1); }
      100% { opacity: .42; transform: scaleY(1); }
    }
    @keyframes entryIntroGlow {
      0% { opacity: 0; transform: scale(.96); }
      48% { opacity: .72; transform: scale(1.02); }
      100% { opacity: .22; transform: scale(1); }
    }
    @media (prefers-reduced-motion: reduce) {
      .entry-intro-copy::before,
      .entry-intro-copy::after,
      .entry-intro-copy.visible::before,
      .entry-intro-copy.visible::after,
      .entry-intro-copy.visible .entry-intro-line {
        animation: none !important;
      }
      .entry-intro-line { opacity: 1; transform: none; filter: none; color: var(--fog-hi); }
      .entry-intro-copy::before { opacity: .32; transform: scaleY(1); }
    }
    .entry-card:hover li{color:var(--fog-hi);}


    /* SERVICES: metadata computer-pulse micro-interaction */
    .entry-card li {
      position: relative;
      overflow: hidden;
      cursor: default;
      isolation: isolate;
      color: rgba(107,96,88,.78);
      transition:
        color .85s ease,
        border-color .85s ease,
        background .85s ease;
    }
    .entry-card li::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        linear-gradient(90deg,
          rgba(200,64,26,0),
          rgba(200,64,26,.055),
          rgba(47,119,124,.026),
          rgba(200,64,26,0));
      opacity: 0;
      transform: translateX(-24%);
      pointer-events: none;
      transition: opacity 1.15s ease, transform 1.45s cubic-bezier(.16,1,.3,1);
    }
    .entry-card li:hover {
      color: rgba(240,235,227,.9);
      border-top-color: rgba(200,64,26,.20);
      background: rgba(255,255,255,.012);
    }
    .entry-card li:hover::before {
      opacity: .72;
      transform: translateX(14%);
      animation: metaCircuitSlowCurrent 3.8s ease-in-out infinite;
    }
    .entry-card .meta-label {
      display: inline-block;
      color: rgba(154,142,130,.68);
      transition: color .9s ease, text-shadow .9s ease;
    }
    .entry-card .meta-value {
      display: inline-block;
      position: relative;
      color: rgba(107,96,88,.86);
      transition: color 1.1s ease, text-shadow 1.1s ease, filter 1.1s ease;
    }
    .entry-card .meta-value::after {
      content: '';
      position: absolute;
      left: -4%;
      right: -4%;
      top: 48%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(200,64,26,.42), rgba(80,170,165,.16), transparent);
      opacity: 0;
      transform: translateX(-112%);
      filter: blur(.25px) drop-shadow(0 0 8px rgba(200,64,26,.20));
      pointer-events: none;
    }
    .entry-card li:hover .meta-label,
    .entry-card li.signal-fire .meta-label {
      color: rgba(224,85,48,.96);
      text-shadow:
        0 0 8px rgba(200,64,26,.22),
        0 0 20px rgba(200,64,26,.08);
      animation: metaLabelComputerPulse 2.65s ease-in-out infinite;
    }
    .entry-card li:hover .meta-value,
    .entry-card li.signal-fire .meta-value {
      color: rgba(240,235,227,.94);
      text-shadow:
        0 0 12px rgba(200,64,26,.12),
        0 0 28px rgba(47,119,124,.06);
      animation: metaValueHoldGlow 3.1s ease-in-out infinite;
    }
    .entry-card li:hover .meta-value::after,
    .entry-card li.signal-fire .meta-value::after {
      animation: metaValueSlowSweep 1.75s cubic-bezier(.16,1,.3,1) .12s forwards;
    }
    .entry-card li:hover:nth-child(2) .meta-value::after { animation-delay: .24s; }
    .entry-card li:hover:nth-child(3) .meta-value::after { animation-delay: .38s; }
    @keyframes metaLabelComputerPulse {
      0%, 100% {
        color: rgba(207,72,34,.78);
        text-shadow:
          0 0 5px rgba(200,64,26,.12),
          0 0 14px rgba(200,64,26,.04);
      }
      48% {
        color: rgba(224,85,48,1);
        text-shadow:
          0 0 10px rgba(200,64,26,.32),
          0 0 26px rgba(200,64,26,.10),
          0 0 38px rgba(47,119,124,.04);
      }
    }
    @keyframes metaValueHoldGlow {
      0%, 100% {
        color: rgba(240,235,227,.86);
        text-shadow:
          0 0 8px rgba(200,64,26,.08),
          0 0 18px rgba(47,119,124,.035);
      }
      50% {
        color: rgba(247,243,236,.98);
        text-shadow:
          0 0 14px rgba(200,64,26,.16),
          0 0 34px rgba(47,119,124,.075);
      }
    }
    @keyframes metaValueSlowSweep {
      0% { opacity: 0; transform: translateX(-112%); }
      26% { opacity: .62; }
      74% { opacity: .44; }
      100% { opacity: 0; transform: translateX(112%); }
    }
    @keyframes metaCircuitSlowCurrent {
      0%, 100% { opacity: .32; transform: translateX(-18%); }
      50% { opacity: .72; transform: translateX(18%); }
    }
    @media (prefers-reduced-motion: reduce) {
      .entry-card li:hover::before,
      .entry-card li:hover .meta-label,
      .entry-card li:hover .meta-value,
      .entry-card li:hover .meta-value::after {
        animation: none !important;
      }
      .entry-card li:hover .meta-value::after { opacity: 0; }
    }


    /* Dossiers */
    .dossiers{position:relative;padding:7rem 0;border-bottom:1px solid var(--line);background:var(--ink-0);overflow:hidden;}
    .dossiers::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 80% 16%,rgba(200,64,26,.055),transparent 70%),radial-gradient(ellipse 50% 50% at 18% 78%,rgba(59,148,146,.03),transparent 74%);pointer-events:none;}
    .dossiers-head{position:relative;z-index:2;padding:0 3.5rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:end;}
    .dossiers-head h2{font-family:'Cormorant',serif;font-size:clamp(2.4rem,4.4vw,5.3rem);font-weight:300;line-height:1.02;max-width:13ch;}
    .dossiers-head h2 em{font-style:italic;color:var(--red);}
    .dossiers-head p{color:var(--fog-hi);max-width:54ch;line-height:1.9;}
    .service-dossier{position:relative;z-index:2;display:grid;grid-template-columns:minmax(320px,.8fr) 1.2fr;gap:0;border-top:1px solid var(--line);background:rgba(12,9,6,.35);}
    .service-dossier:last-child{border-bottom:1px solid var(--line);}
    .dossier-left{padding:4rem 3.5rem;border-right:1px solid var(--line);position:sticky;top:92px;align-self:start;min-height:420px;display:flex;flex-direction:column;justify-content:space-between;}
    .dossier-num{font-family:'Cormorant',serif;font-style:italic;color:var(--red);font-size:1.25rem;margin-bottom:1.5rem;}
    .dossier-left h3{font-family:'Cormorant',serif;font-size:clamp(2rem,3.8vw,4.4rem);font-weight:300;line-height:1.02;max-width:9ch;}
    .dossier-left h3 em{font-style:italic;color:var(--red);}
    .dossier-fit{font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fog-hi);border-top:1px solid var(--line);padding-top:1.25rem;margin-top:3rem;}
    .dossier-right{padding:3.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);}
    .readout{background:rgba(12,9,6,.92);padding:2rem;min-height:190px;position:relative;overflow:hidden;transition:background .55s,box-shadow .55s,transform .55s;}
    .readout::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 15%,rgba(200,64,26,.12),transparent 70%);opacity:0;transition:opacity .7s;}
    .readout:hover{background:#18110c;box-shadow:inset 0 0 0 1px rgba(200,64,26,.09);transform:translateY(-2px);}
    .readout:hover::before{opacity:1;}
    .readout > *{position:relative;z-index:2;}
    .readout-label{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:1rem;}
    .readout p,.readout li{font-size:.94rem;color:var(--fog-hi);line-height:1.8;transition:color .45s;}
    .readout:hover p,.readout:hover li{color:rgba(240,235,227,.9);}
    .readout ul{list-style:none;}
    .readout li{padding:.35rem 0;border-top:1px solid rgba(255,255,255,.035);}
    .readout.full{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:center;}

    /* Tiers */
    .engagement-shapes{padding:7rem 3.5rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#090604,var(--ink-1));}
    .shapes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:4rem;}
    .shape-card{background:rgba(12,9,6,.95);padding:2.4rem;min-height:330px;position:relative;overflow:hidden;transition:background .6s,transform .6s;}
    .shape-card:hover{background:#17100b;transform:translateY(-3px);}
    .shape-card::before{content:'';position:absolute;left:0;top:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s;}
    .shape-card:hover::before{transform:scaleX(1);}
    .shape-card h3{font-family:'Cormorant',serif;font-size:2rem;font-weight:300;line-height:1.12;margin-bottom:1.1rem;}
    .shape-card p{color:var(--fog-hi);font-size:.94rem;line-height:1.8;transition:color .45s;}
    .shape-card:hover p{color:rgba(240,235,227,.9);}
    .shape-meta{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:1.5rem;}

    /* Anti-fit */
    .anti-fit{padding:7rem 3.5rem;border-bottom:1px solid var(--line);background:#050302;display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;position:relative;overflow:hidden;}
    .anti-fit::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 15% 30%,rgba(200,64,26,.055),transparent 72%);pointer-events:none;}
    .anti-fit > *{position:relative;z-index:2;}
    .anti-fit h2{font-family:'Cormorant',serif;font-size:clamp(2.6rem,5vw,6rem);font-weight:300;line-height:1;max-width:10ch;}
    .anti-fit h2 em{font-style:italic;color:var(--red);}
    .anti-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
    .anti-col{background:rgba(12,9,6,.9);padding:2rem;}
    .anti-col h3{font-family:'Cormorant',serif;font-size:1.8rem;font-weight:300;margin-bottom:1.5rem;}
    .anti-col h3 em{font-style:italic;color:var(--red);}
    .anti-col ul{list-style:none;}
    .anti-col li{font-size:.92rem;color:var(--fog-hi);line-height:1.7;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.04);transition:color .45s;}
    .anti-col:hover li{color:rgba(240,235,227,.9);}

    /* Starts */
    .start-path{padding:7rem 3.5rem;border-bottom:1px solid var(--line);background:var(--ink-1);}
    .start-path h2{font-family:'Cormorant',serif;font-size:clamp(2.4rem,4vw,5rem);font-weight:300;line-height:1.05;max-width:15ch;margin-bottom:4rem;}
    .start-path h2 em{font-style:italic;color:var(--red);}
    .start-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
    .start-step{background:rgba(12,9,6,.96);padding:2.5rem;min-height:270px;position:relative;overflow:hidden;}
    .start-step::after{content:'';position:absolute;right:2rem;top:2rem;width:54px;height:1px;background:linear-gradient(to right,transparent,var(--red));opacity:.36;}
    .start-num{font-family:'Cormorant',serif;font-style:italic;color:var(--red);font-size:1.15rem;margin-bottom:1.4rem;}
    .start-step h3{font-family:'Cormorant',serif;font-size:2.1rem;font-weight:300;margin-bottom:1rem;}
    .start-step p{font-size:.94rem;color:var(--fog-hi);line-height:1.8;}

    .services-cta{padding:8rem 3.5rem;text-align:center;position:relative;overflow:hidden;background:#050302;}
    .services-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 50% 50%,rgba(200,64,26,.075),transparent 65%),radial-gradient(ellipse 30% 40% at 65% 36%,rgba(59,148,146,.04),transparent 70%);pointer-events:none;}
    .services-cta > *{position:relative;z-index:2;}
    .services-cta h2{font-family:'Cormorant',serif;font-size:clamp(2.7rem,5.5vw,6rem);font-weight:300;line-height:1.06;max-width:18ch;margin:0 auto 1.5rem;}
    .services-cta h2 em{font-style:italic;color:var(--red);}
    .services-cta p{font-size:.95rem;color:var(--fog-hi);max-width:46ch;margin:0 auto 3rem;line-height:1.85;}
    .cta-actions{display:flex;gap:1.5rem;justify-content:center;align-items:center;}

    footer{background:var(--ink-0);border-top:1px solid var(--line);}
    .footer-inner{padding:4.5rem 3.5rem 0;display:grid;grid-template-columns:5fr 2fr 2fr;gap:5rem;}
    .footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;}
    .footer-logo-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin:0 auto 1.35rem;position:relative;width:148px;height:148px;max-width:100%;}
    .footer-logo-link::before{content:'';position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(200,64,26,.16) 0%,rgba(200,64,26,.045) 42%,transparent 72%),radial-gradient(ellipse 80% 60% at 58% 42%,rgba(47,119,124,.07) 0%,transparent 74%);filter:blur(20px);opacity:.72;pointer-events:none;}
    .footer-logo-mark{display:block;width:118px;height:118px;object-fit:contain;opacity:.94;position:relative;z-index:2;filter:drop-shadow(0 0 14px rgba(200,64,26,.12)) drop-shadow(0 0 26px rgba(240,235,227,.022));}
    .footer-brand p{margin:0 auto;max-width:31ch;font-family:'Cormorant',serif;font-style:italic;font-size:1.05rem;color:var(--fog);line-height:1.6;}
    .footer-col h4{font-size:.6rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin-bottom:1.5rem;}
    .footer-col ul{list-style:none;}
    .footer-col li{margin-bottom:.7rem;}
    .footer-col a{font-size:.82rem;color:var(--fog-hi);text-decoration:none;transition:color .2s;}
    .footer-col a:hover,.footer-col a.active{color:var(--cream);}
    .footer-bottom{margin-top:3.5rem;padding:1.5rem 3.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
    .footer-bottom p{font-size:.7rem;color:var(--fog);letter-spacing:.04em;}

    .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);}
    .reveal.visible{opacity:1;transform:translateY(0);}
    .d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.35s;}.d4{transition-delay:.5s;}

    @media(max-width:1100px){
      .services-hero,.entry-head,.dossiers-head,.anti-fit{grid-template-columns:1fr;gap:3.5rem;}
      .entry-grid,.shapes-grid,.start-steps{grid-template-columns:1fr;}
      .service-dossier{grid-template-columns:1fr;}
      .dossier-left{position:relative;top:auto;border-right:none;border-bottom:1px solid var(--line);min-height:auto;}
      .dossier-right{grid-template-columns:1fr;}
      .readout.full{grid-template-columns:1fr;}
      .anti-columns{grid-template-columns:1fr;}
      .footer-inner{grid-template-columns:1fr;gap:2.5rem;}
    }
    @media(max-width:768px){
      nav{padding:1.25rem 1.5rem;}nav.scrolled{padding:1rem 1.5rem;}.nav-links,.nav-cta{display:none!important;}.hamburger{display:flex!important;}
      .logo-mark-shell{width:46px;height:46px;margin:-6px 0;}.logo-mark-img{width:43px;height:43px;}.logo-wordmark{font-size:.76rem;letter-spacing:.14em;}
      .services-hero{grid-template-columns:1fr;padding:10rem 1.5rem 4rem;gap:3rem;}
      .services-board{padding:.8rem;}.signal-choice{grid-template-columns:1fr;min-height:auto;padding:1.5rem;}.choice-command{justify-self:start;}
      .signal-entry,.engagement-shapes,.anti-fit,.start-path{padding:5rem 1.5rem;}
      .dossiers{padding:5rem 0;}.dossiers-head,.dossier-left,.dossier-right{padding-left:1.5rem;padding-right:1.5rem;}
      .dossier-left h3{max-width:none;}
      .cta-actions{flex-direction:column;}.services-cta{padding:5rem 1.5rem;}
      .footer-inner{padding:3rem 1.5rem 0;}.footer-bottom{padding:1.5rem;flex-direction:column;gap:.5rem;text-align:center;}.footer-logo-link{width:132px;height:132px;}.footer-logo-mark{width:104px;height:104px;}
    }
    @media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;}}
  
    /* SERVICES SAFE PERFORMANCE PASS: smoother scrolling without hiding reveal content */
    .services-hero,
    .services-board,
    .signal-entry,
    .dossiers,
    .engagement-shapes,
    .anti-fit,
    .start-path,
    .services-cta {
      isolation: isolate;
    }

    .hero-gas,
    .gas-layer,
    .services-board::before,
    .entry-card::before,
    .readout::before,
    .shape-card::before,
    .services-cta::before,
    .anti-fit::before,
    .dossiers::before {
      will-change: transform, opacity;
      backface-visibility: hidden;
      transform: translateZ(0);
    }

    .signal-choice,
    .entry-card,
    .readout,
    .shape-card,
    .anti-col,
    .start-step,
    .service-dossier,
    .reveal {
      backface-visibility: hidden;
    }

    @media(max-width:768px) {
      nav.scrolled {
        backdrop-filter: blur(10px);
      }

      .gas-layer {
        filter: blur(38px) !important;
        opacity: .34;
      }

      .gas-c {
        display: none;
      }

      .services-board::before {
        filter: blur(14px);
      }

      .signal-choice,
      .entry-card,
      .readout,
      .shape-card {
        transition:
          background .45s ease,
          color .35s ease,
          transform .4s cubic-bezier(.22,1,.36,1),
          box-shadow .45s ease,
          border-color .45s ease !important;
      }

      .entry-card li::before,
      .entry-card .meta-value::after {
        display: none;
      }

      .entry-card li:hover .meta-label,
      .entry-card li.signal-fire .meta-label,
      .entry-card li:hover .meta-value,
      .entry-card li.signal-fire .meta-value {
        animation: none !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
      }

      .reveal {
        opacity: 1 !important;
        transform: none !important;
      }
    }

/* SERVICES HERO MODULE: live diagnostic entry board */
.services-live-board {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.services-live-board::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 58% 72% at 24% 34%, rgba(224,85,48,.075), transparent 66%),
    radial-gradient(ellipse 64% 82% at 88% 62%, rgba(88,205,210,.040), transparent 70%);
  opacity: .88;
  pointer-events: none;
  z-index: 0;
}

.services-live-board::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -26%;
  width: 18%;
  background: linear-gradient(90deg, transparent, rgba(224,85,48,.060), rgba(88,205,210,.045), transparent);
  filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  animation: servicesBoardScan 10.8s ease-in-out infinite;
}

.services-live-board > * {
  position: relative;
  z-index: 2;
}

.services-live-board .board-status {
  position: relative;
  padding-left: .85rem;
  color: rgba(224,85,48,.92);
  text-shadow: 0 0 10px rgba(224,85,48,.20), 0 0 18px rgba(224,85,48,.08);
  animation: servicesSignalLivePulse 7.2s ease-in-out infinite;
}

.services-live-board .board-status::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  background: rgba(224,85,48,.86);
  box-shadow: 0 0 10px rgba(224,85,48,.42), 0 0 22px rgba(224,85,48,.16);
  transform: translateY(-50%);
  animation: servicesStatusDotPulse 2.8s ease-in-out infinite;
}

.services-live-board .signal-choice {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: opacity .55s ease, border-color .55s ease, background .55s ease, transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease;
  animation: servicesChoiceActive 10.8s ease-in-out infinite;
}

.services-live-board .signal-choice::before {
  content: '';
  position: absolute;
  left: 1.65rem;
  right: 2rem;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(224,85,48,.30), rgba(88,205,210,.15), transparent);
  opacity: 0;
  transform: scaleX(.20);
  transform-origin: left center;
  z-index: 0;
  animation: servicesRowSignal 10.8s ease-in-out infinite;
}

.services-live-board .signal-choice::after {
  content: '';
  position: absolute;
  left: 1.4rem;
  top: 50%;
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: rgba(224,85,48,.88);
  box-shadow: 0 0 12px rgba(224,85,48,.36), 0 0 24px rgba(88,205,210,.08);
  opacity: 0;
  transform: translateY(-50%) scale(.70);
  z-index: 1;
  animation: servicesRowNode 10.8s ease-in-out infinite;
}

.services-live-board .signal-choice > * {
  position: relative;
  z-index: 2;
}

.services-live-board .choice-command {
  position: relative;
  overflow: hidden;
  transition: border-color .55s ease, color .55s ease, background .55s ease, box-shadow .55s ease, opacity .55s ease;
  animation: servicesCommandActive 10.8s ease-in-out infinite;
}

.services-live-board .choice-command::before {
  content: '';
  position: absolute;
  inset: -45% -28%;
  background: radial-gradient(ellipse 52% 58% at 50% 50%, rgba(224,85,48,.18), transparent 70%);
  opacity: 0;
  filter: blur(12px);
  pointer-events: none;
  animation: servicesCommandGlow 10.8s ease-in-out infinite;
}

.services-live-board .signal-choice-one,
.services-live-board .signal-choice-one::before,
.services-live-board .signal-choice-one::after,
.services-live-board .signal-choice-one .choice-command,
.services-live-board .signal-choice-one .choice-command::before {
  animation-delay: 0s;
}

.services-live-board .signal-choice-two,
.services-live-board .signal-choice-two::before,
.services-live-board .signal-choice-two::after,
.services-live-board .signal-choice-two .choice-command,
.services-live-board .signal-choice-two .choice-command::before {
  animation-delay: 3.6s;
}

.services-live-board .signal-choice-three,
.services-live-board .signal-choice-three::before,
.services-live-board .signal-choice-three::after,
.services-live-board .signal-choice-three .choice-command,
.services-live-board .signal-choice-three .choice-command::before {
  animation-delay: 7.2s;
}

.services-live-board:has(.signal-choice:hover) .signal-choice {
  animation-play-state: paused;
  opacity: .52;
}

.services-live-board .signal-choice:hover {
  opacity: 1 !important;
  transform: translateX(3px);
  border-color: rgba(224,85,48,.38);
  background:
    radial-gradient(ellipse 95% 150% at 16% 50%, rgba(224,85,48,.10), transparent 70%),
    rgba(7,5,3,.68);
  box-shadow: 0 0 22px rgba(224,85,48,.10), inset 0 0 0 1px rgba(255,255,255,.018);
}

.services-live-board .signal-choice:hover::before {
  opacity: .82;
  transform: scaleX(1);
  animation-play-state: paused;
}

.services-live-board .signal-choice:hover::after {
  opacity: .95;
  transform: translateY(-50%) scale(1);
  animation-play-state: paused;
}

.services-live-board .signal-choice:hover .choice-command {
  color: rgba(240,235,227,.88);
  border-color: rgba(224,85,48,.42);
  box-shadow: 0 0 16px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.018);
}

@keyframes servicesBoardScan {
  0%, 12% { left: -26%; opacity: 0; }
  32% { opacity: .72; }
  78%, 100% { left: 108%; opacity: 0; }
}

@keyframes servicesSignalLivePulse {
  0%, 100% { opacity: .70; text-shadow: 0 0 8px rgba(224,85,48,.14), 0 0 16px rgba(224,85,48,.06); }
  50% { opacity: 1; text-shadow: 0 0 12px rgba(224,85,48,.30), 0 0 24px rgba(224,85,48,.12); }
}

@keyframes servicesStatusDotPulse {
  0%, 100% { opacity: .54; transform: translateY(-50%) scale(.75); }
  50% { opacity: 1; transform: translateY(-50%) scale(1.08); }
}

@keyframes servicesChoiceActive {
  0%, 100% { border-color: rgba(255,255,255,.055); background: rgba(7,5,3,.50); box-shadow: none; transform: translateX(0); }
  12%, 28% {
    border-color: rgba(224,85,48,.32);
    background: radial-gradient(ellipse 95% 150% at 16% 50%, rgba(224,85,48,.09), transparent 70%), rgba(7,5,3,.66);
    box-shadow: 0 0 20px rgba(224,85,48,.085), inset 0 0 0 1px rgba(255,255,255,.014);
    transform: translateX(2px);
  }
  42% { border-color: rgba(255,255,255,.055); background: rgba(7,5,3,.50); box-shadow: none; transform: translateX(0); }
}

@keyframes servicesRowSignal {
  0%, 6%, 42%, 100% { opacity: 0; transform: scaleX(.20); }
  14%, 30% { opacity: .76; transform: scaleX(1); }
}

@keyframes servicesRowNode {
  0%, 8%, 42%, 100% { opacity: 0; transform: translateY(-50%) scale(.70); }
  16%, 30% { opacity: .95; transform: translateY(-50%) scale(1); }
}

@keyframes servicesCommandActive {
  0%, 100% { color: rgba(154,142,130,.72); border-color: rgba(255,255,255,.070); box-shadow: none; }
  12%, 30% { color: rgba(240,235,227,.88); border-color: rgba(224,85,48,.42); box-shadow: 0 0 16px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.018); }
  42% { color: rgba(154,142,130,.72); border-color: rgba(255,255,255,.070); box-shadow: none; }
}

@keyframes servicesCommandGlow {
  0%, 8%, 42%, 100% { opacity: 0; }
  16%, 30% { opacity: .72; }
}

@media (prefers-reduced-motion: reduce) {
  .services-live-board::after,
  .services-live-board .board-status,
  .services-live-board .board-status::before,
  .services-live-board .signal-choice,
  .services-live-board .signal-choice::before,
  .services-live-board .signal-choice::after,
  .services-live-board .choice-command,
  .services-live-board .choice-command::before {
    animation: none !important;
  }
}

/* SERVICES ENTRY MODULE: signal threshold bridge */
.services-signal-threshold {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.services-signal-threshold::before {
  content: '';
  position: absolute;
  left: 3.5rem;
  right: 3.5rem;
  top: 42%;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.14), rgba(224,85,48,.34), rgba(88,205,210,.14), transparent);
  box-shadow:
    0 0 18px rgba(224,85,48,.09),
    0 0 28px rgba(88,205,210,.045);
  opacity: .52;
  pointer-events: none;
  z-index: 0;
  animation: servicesThresholdSectionLine 7.8s ease-in-out infinite;
}

.services-signal-threshold::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 48% 42% at 72% 30%, rgba(224,85,48,.052), transparent 70%),
    radial-gradient(ellipse 42% 38% at 53% 48%, rgba(88,205,210,.030), transparent 76%);
  pointer-events: none;
  z-index: 0;
}

.services-signal-threshold > * {
  position: relative;
  z-index: 2;
}

.services-signal-threshold .entry-head {
  align-items: center;
}

.entry-threshold-panel {
  position: relative;
  min-height: 15.5rem;
  padding: 2.2rem 2.4rem 2.1rem;
  border: 1px solid rgba(224,85,48,.24);
  background:
    radial-gradient(ellipse 85% 140% at 20% 44%, rgba(224,85,48,.072), transparent 68%),
    radial-gradient(ellipse 80% 130% at 80% 66%, rgba(88,205,210,.035), transparent 72%),
    rgba(7,5,3,.54);
  box-shadow:
    0 0 26px rgba(224,85,48,.060),
    inset 0 0 0 1px rgba(255,255,255,.014);
  overflow: hidden;
  isolation: isolate;
}

.entry-threshold-panel::before {
  content: '';
  position: absolute;
  inset: -45% -30%;
  background:
    radial-gradient(ellipse 40% 50% at 50% 50%, rgba(224,85,48,.12), transparent 70%);
  filter: blur(18px);
  opacity: .34;
  pointer-events: none;
  z-index: 0;
  animation: servicesThresholdChamberPulse 6.8s ease-in-out infinite;
}

.entry-threshold-panel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -26%;
  width: 20%;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.060), rgba(88,205,210,.040), transparent);
  filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
  animation: servicesThresholdSweep 9.4s ease-in-out infinite;
}

.entry-threshold-panel > * {
  position: relative;
  z-index: 2;
}

.threshold-panel-label {
  color: var(--red-hi);
  font-size: .56rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  text-shadow:
    0 0 12px rgba(224,85,48,.20),
    0 0 20px rgba(224,85,48,.08);
}

.entry-threshold-panel p {
  max-width: 45rem;
  color: rgba(240,235,227,.66);
  font-size: .98rem;
  line-height: 1.9;
  margin: 0;
}

.threshold-rail {
  position: relative;
  height: 4.75rem;
  margin-top: 2.25rem;
}

.threshold-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 1.55rem;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.34), rgba(88,205,210,.16), rgba(224,85,48,.34), transparent);
  box-shadow:
    0 0 12px rgba(224,85,48,.14),
    0 0 22px rgba(88,205,210,.055);
  opacity: .72;
  animation: servicesThresholdRailBreathe 7.8s ease-in-out infinite;
}

.threshold-node {
  position: absolute;
  top: calc(1.55rem - 5px);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(224,85,48,.82);
  box-shadow:
    0 0 14px rgba(224,85,48,.34),
    0 0 24px rgba(88,205,210,.075);
  animation: servicesThresholdNodePulse 7.8s ease-in-out infinite;
}

.threshold-node i {
  position: absolute;
  top: 1.55rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(240,235,227,.56);
  font-size: .52rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-style: normal;
  white-space: nowrap;
}

.threshold-stuck {
  left: 17%;
  animation-delay: .15s;
}

.threshold-noisy {
  left: 50%;
  animation-delay: .50s;
}

.threshold-misaligned {
  left: 83%;
  animation-delay: .85s;
}

.services-signal-threshold .entry-card {
  position: relative;
}

.services-signal-threshold .entry-card::before {
  content: '';
  position: absolute;
  left: 2rem;
  right: 2rem;
  top: 0;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.26), rgba(88,205,210,.08), transparent);
  opacity: .38;
  box-shadow: 0 0 10px rgba(224,85,48,.08);
  pointer-events: none;
}

@keyframes servicesThresholdSectionLine {
  0%, 100% {
    opacity: .34;
    transform: scaleX(.94);
  }
  50% {
    opacity: .66;
    transform: scaleX(1);
  }
}

@keyframes servicesThresholdChamberPulse {
  0%, 100% {
    opacity: .24;
    transform: scale(.92);
  }
  50% {
    opacity: .48;
    transform: scale(1.05);
  }
}

@keyframes servicesThresholdSweep {
  0%, 18% {
    left: -26%;
    opacity: 0;
  }
  42% {
    opacity: .70;
  }
  78%, 100% {
    left: 110%;
    opacity: 0;
  }
}

@keyframes servicesThresholdRailBreathe {
  0%, 100% {
    opacity: .46;
    transform: scaleX(.94);
  }
  50% {
    opacity: .86;
    transform: scaleX(1);
  }
}

@keyframes servicesThresholdNodePulse {
  0%, 100% {
    opacity: .44;
    transform: scale(.78);
  }
  50% {
    opacity: .98;
    transform: scale(1.08);
  }
}

@media(max-width:900px) {
  .entry-threshold-panel {
    min-height: 14rem;
  }

  .threshold-node i {
    font-size: .42rem;
    letter-spacing: .13em;
  }
}

@media(max-width:640px) {
  .threshold-misaligned {
    left: 76%;
  }

  .threshold-node i {
    white-space: normal;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-signal-threshold::before,
  .entry-threshold-panel::before,
  .entry-threshold-panel::after,
  .threshold-line,
  .threshold-node {
    animation: none !important;
  }
}


/* Add life to the left service identity column without making it busy. */
.services-dossier-section .intervention-title,
.services-dossier-section .flagship-title,
.services-dossier-section .service-title,
.services-dossier-section h3 {
  position: relative;
}

.services-dossier-section .intervention-title::after,
.services-dossier-section .flagship-title::after,
.services-dossier-section .service-title::after {
  content: '';
  display: block;
  width: min(100%, 34rem);
  height: 1px;
  margin-top: 2.25rem;
  background:
    linear-gradient(90deg, rgba(224,85,48,.34), rgba(88,205,210,.10), transparent);
  box-shadow: 0 0 12px rgba(224,85,48,.10);
  animation: servicesDossierSpineBreathe 7.2s ease-in-out infinite;
}

/* Transform right-side spec grids into a calmer dossier. */
.services-dossier-section .intervention-grid,
.services-dossier-section .service-grid,
.services-dossier-section .flagship-grid,
.services-dossier-section .detail-grid,
.services-dossier-section .intervention-detail,
.services-dossier-section .service-dossier-panel {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(224,85,48,.24);
  background:
    radial-gradient(ellipse 80% 120% at 16% 20%, rgba(224,85,48,.070), transparent 66%),
    radial-gradient(ellipse 90% 130% at 86% 72%, rgba(88,205,210,.032), transparent 72%),
    rgba(7,5,3,.64);
  box-shadow:
    0 0 30px rgba(224,85,48,.060),
    inset 0 0 0 1px rgba(255,255,255,.012);
}

.services-dossier-section .intervention-grid::before,
.services-dossier-section .service-grid::before,
.services-dossier-section .flagship-grid::before,
.services-dossier-section .detail-grid::before,
.services-dossier-section .intervention-detail::before,
.services-dossier-section .service-dossier-panel::before {
  content: 'DIAGNOSTIC DOSSIER';
  position: absolute;
  top: 1.15rem;
  right: 1.5rem;
  color: rgba(224,85,48,.70);
  font-size: .48rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-shadow: 0 0 12px rgba(224,85,48,.16);
  z-index: 4;
  animation: servicesDossierReadoutPulse 6.8s ease-in-out infinite;
}

.services-dossier-section .intervention-grid::after,
.services-dossier-section .service-grid::after,
.services-dossier-section .flagship-grid::after,
.services-dossier-section .detail-grid::after,
.services-dossier-section .intervention-detail::after,
.services-dossier-section .service-dossier-panel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -24%;
  width: 18%;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.060), rgba(88,205,210,.038), transparent);
  filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  animation: servicesDossierSweep 9.5s ease-in-out infinite;
}

/* Turn four equal cells into a layered brief. */
.services-dossier-section .intervention-grid > *,
.services-dossier-section .service-grid > *,
.services-dossier-section .flagship-grid > *,
.services-dossier-section .detail-grid > *,
.services-dossier-section .intervention-detail > *,
.services-dossier-section .service-dossier-panel > * {
  position: relative;
  z-index: 3;
  background: transparent !important;
  box-shadow: none !important;
}

/* Make the top two blocks feel like the main brief. */
.services-dossier-section .intervention-grid > *:nth-child(1),
.services-dossier-section .service-grid > *:nth-child(1),
.services-dossier-section .flagship-grid > *:nth-child(1),
.services-dossier-section .detail-grid > *:nth-child(1),
.services-dossier-section .intervention-detail > *:nth-child(1),
.services-dossier-section .service-dossier-panel > *:nth-child(1) {
  border-right-color: rgba(224,85,48,.16) !important;
}

.services-dossier-section .intervention-grid > *:nth-child(2),
.services-dossier-section .service-grid > *:nth-child(2),
.services-dossier-section .flagship-grid > *:nth-child(2),
.services-dossier-section .detail-grid > *:nth-child(2),
.services-dossier-section .intervention-detail > *:nth-child(2),
.services-dossier-section .service-dossier-panel > *:nth-child(2) {
  background:
    radial-gradient(ellipse 90% 160% at 20% 50%, rgba(224,85,48,.060), transparent 70%) !important;
}

/* Subdue bottom cells so they stop competing with the main intervention narrative. */
.services-dossier-section .intervention-grid > *:nth-child(n+3),
.services-dossier-section .service-grid > *:nth-child(n+3),
.services-dossier-section .flagship-grid > *:nth-child(n+3),
.services-dossier-section .detail-grid > *:nth-child(n+3),
.services-dossier-section .intervention-detail > *:nth-child(n+3),
.services-dossier-section .service-dossier-panel > *:nth-child(n+3) {
  background: rgba(7,5,3,.20) !important;
}

/* If the existing cells have labels, make them read as dossier field labels. */
.services-dossier-section .intervention-grid h4,
.services-dossier-section .service-grid h4,
.services-dossier-section .flagship-grid h4,
.services-dossier-section .detail-grid h4,
.services-dossier-section .intervention-detail h4,
.services-dossier-section .service-dossier-panel h4,
.services-dossier-section .intervention-grid .kicker,
.services-dossier-section .service-grid .kicker,
.services-dossier-section .flagship-grid .kicker,
.services-dossier-section .detail-grid .kicker {
  color: var(--red-hi);
  text-shadow: 0 0 10px rgba(224,85,48,.14);
}

/* Add hover lock on the dossier rather than every tiny cell. */
.services-dossier-section .intervention-grid:hover,
.services-dossier-section .service-grid:hover,
.services-dossier-section .flagship-grid:hover,
.services-dossier-section .detail-grid:hover,
.services-dossier-section .intervention-detail:hover,
.services-dossier-section .service-dossier-panel:hover {
  border-color: rgba(224,85,48,.42);
  box-shadow:
    0 0 36px rgba(224,85,48,.10),
    0 0 62px rgba(88,205,210,.040),
    inset 0 0 0 1px rgba(255,255,255,.018);
}

/* Entry/service rows get a subtle scan-line spine. */
.services-dossier-section article,
.services-dossier-section .intervention-row,
.services-dossier-section .flagship-row,
.services-dossier-section .service-block {
  position: relative;
}

.services-dossier-section article::before,
.services-dossier-section .intervention-row::before,
.services-dossier-section .flagship-row::before,
.services-dossier-section .service-block::before {
  content: '';
  position: absolute;
  left: 2.2rem;
  top: 0;
  bottom: 0;
  width: 1px;
  background:
    linear-gradient(180deg, transparent, rgba(224,85,48,.24), rgba(88,205,210,.06), transparent);
  opacity: .42;
  pointer-events: none;
  animation: servicesDossierVerticalSpine 7.2s ease-in-out infinite;
}

@keyframes servicesDossierSectionLine {
  0%, 100% {
    opacity: .28;
    transform: scaleX(.94);
  }
  50% {
    opacity: .60;
    transform: scaleX(1);
  }
}

@keyframes servicesDossierSpineBreathe {
  0%, 100% {
    opacity: .36;
    transform: scaleX(.92);
  }
  50% {
    opacity: .76;
    transform: scaleX(1);
  }
}

@keyframes servicesDossierReadoutPulse {
  0%, 100% { opacity: .42; }
  50% { opacity: .88; }
}

@keyframes servicesDossierSweep {
  0%, 18% {
    left: -24%;
    opacity: 0;
  }
  42% {
    opacity: .68;
  }
  78%, 100% {
    left: 110%;
    opacity: 0;
  }
}

@keyframes servicesDossierVerticalSpine {
  0%, 100% { opacity: .24; }
  50% { opacity: .58; }
}

@media(max-width:900px) {
  .services-dossier-section .intervention-grid::before,
  .services-dossier-section .service-grid::before,
  .services-dossier-section .flagship-grid::before,
  .services-dossier-section .detail-grid::before,
  .services-dossier-section .intervention-detail::before,
  .services-dossier-section .service-dossier-panel::before {
    position: relative;
    display: block;
    top: auto;
    right: auto;
    margin-bottom: 1rem;
  }

  .services-dossier-section article::before,
  .services-dossier-section .intervention-row::before,
  .services-dossier-section .flagship-row::before,
  .services-dossier-section .service-block::before {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-dossier-section::before,
  .services-dossier-section .intervention-title::after,
  .services-dossier-section .flagship-title::after,
  .services-dossier-section .service-title::after,
  .services-dossier-section .intervention-grid::before,
  .services-dossier-section .service-grid::before,
  .services-dossier-section .flagship-grid::before,
  .services-dossier-section .detail-grid::before,
  .services-dossier-section .intervention-detail::before,
  .services-dossier-section .service-dossier-panel::before,
  .services-dossier-section .intervention-grid::after,
  .services-dossier-section .service-grid::after,
  .services-dossier-section .flagship-grid::after,
  .services-dossier-section .detail-grid::after,
  .services-dossier-section .intervention-detail::after,
  .services-dossier-section .service-dossier-panel::after,
  .services-dossier-section article::before,
  .services-dossier-section .intervention-row::before,
  .services-dossier-section .flagship-row::before,
  .services-dossier-section .service-block::before {
    animation: none !important;
  }
}

/* SERVICES FLAGSHIP MODULE V2: explicit service dossier rebuild */
.services-dossier-section-v2 {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-top: clamp(7rem, 10vw, 10rem);
  padding-bottom: clamp(7rem, 10vw, 10rem);
  background:
    radial-gradient(ellipse 56% 34% at 75% 8%, rgba(224,85,48,.052), transparent 70%),
    radial-gradient(ellipse 48% 38% at 47% 46%, rgba(88,205,210,.026), transparent 76%),
    var(--ink-0);
}

.services-dossier-section-v2::before {
  content: '';
  position: absolute;
  left: 3.5rem;
  right: 3.5rem;
  top: 25%;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.14), rgba(224,85,48,.38), rgba(88,205,210,.13), transparent);
  box-shadow:
    0 0 18px rgba(224,85,48,.09),
    0 0 30px rgba(88,205,210,.04);
  opacity: .56;
  pointer-events: none;
  z-index: 0;
  animation: dossierV2SectionLine 8.4s ease-in-out infinite;
}

.services-dossier-section-v2::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,5,3,.92), transparent 26%, transparent 78%, rgba(7,5,3,.88)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.013) 0 1px, transparent 1px 78px);
  pointer-events: none;
  z-index: 0;
}

.services-dossier-section-v2 > * {
  position: relative;
  z-index: 2;
}

.services-dossier-section-v2 .flagship-head {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(30rem, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: end;
  margin-bottom: clamp(4rem, 7vw, 7rem);
}

.services-dossier-section-v2 .flagship-head h2 {
  max-width: 42rem;
}

.services-dossier-section-v2 .flagship-head p {
  max-width: 48rem;
  color: rgba(240,235,227,.64);
  line-height: 1.9;
  font-size: 1rem;
}

.dossier-stack {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
}

.service-dossier {
  position: relative;
  display: grid;
  grid-template-columns: minmax(18rem, .72fr) minmax(36rem, 1.28fr);
  min-height: 34rem;
  border-top: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(90deg, rgba(7,5,3,.92), rgba(7,5,3,.56) 42%, rgba(18,14,11,.68));
  overflow: hidden;
  isolation: isolate;
}

.service-dossier::before {
  content: '';
  position: absolute;
  left: 2.2rem;
  top: 0;
  bottom: 0;
  width: 1px;
  background:
    linear-gradient(180deg, transparent, rgba(224,85,48,.28), rgba(88,205,210,.07), transparent);
  opacity: .48;
  pointer-events: none;
  animation: dossierV2VerticalSpine 7.2s ease-in-out infinite;
}

.service-dossier::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 40% 70% at 20% 50%, rgba(224,85,48,.040), transparent 68%),
    radial-gradient(ellipse 45% 70% at 84% 56%, rgba(88,205,210,.026), transparent 74%);
  opacity: .9;
  pointer-events: none;
}

.dossier-identity,
.dossier-brief {
  position: relative;
  z-index: 2;
}

.dossier-identity {
  padding: clamp(2.25rem, 4vw, 4rem) clamp(2rem, 4vw, 3.25rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dossier-number {
  color: var(--red-hi);
  font-size: .56rem;
  letter-spacing: .22em;
  margin-bottom: 2.1rem;
}

.dossier-identity h3 {
  font-family: 'Cormorant', serif;
  color: var(--cream);
  font-size: clamp(3.2rem, 5vw, 5.7rem);
  line-height: .96;
  font-weight: 400;
  letter-spacing: -.04em;
  margin: 0;
}

.dossier-identity h3 em {
  color: var(--red-hi);
  font-style: italic;
  text-shadow:
    0 0 14px rgba(224,85,48,.14),
    0 0 30px rgba(224,85,48,.06);
}

.dossier-spine {
  display: grid;
  gap: .72rem;
  margin-top: 2.6rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(224,85,48,.22);
  color: rgba(154,142,130,.62);
  font-size: .52rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.dossier-spine span {
  position: relative;
  padding-left: 1rem;
}

.dossier-spine span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  background: rgba(224,85,48,.58);
  box-shadow: 0 0 9px rgba(224,85,48,.18);
  transform: translateY(-50%);
}

.dossier-brief {
  align-self: center;
  margin: clamp(2rem, 4vw, 3rem) 0;
  border: 1px solid rgba(224,85,48,.24);
  background:
    radial-gradient(ellipse 80% 120% at 16% 20%, rgba(224,85,48,.074), transparent 66%),
    radial-gradient(ellipse 90% 130% at 86% 72%, rgba(88,205,210,.034), transparent 72%),
    rgba(7,5,3,.66);
  box-shadow:
    0 0 30px rgba(224,85,48,.062),
    inset 0 0 0 1px rgba(255,255,255,.014);
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.dossier-brief::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -24%;
  width: 18%;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.064), rgba(88,205,210,.040), transparent);
  filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  animation: dossierV2Sweep 9.5s ease-in-out infinite;
}

.dossier-status {
  position: absolute;
  top: 1.25rem;
  right: 1.45rem;
  z-index: 4;
  color: rgba(224,85,48,.70);
  font-size: .48rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-shadow: 0 0 12px rgba(224,85,48,.16);
  animation: dossierV2ReadoutPulse 6.8s ease-in-out infinite;
}

.dossier-status span {
  display: inline-block;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  margin-right: .55rem;
  background: rgba(224,85,48,.76);
  box-shadow:
    0 0 10px rgba(224,85,48,.35),
    0 0 18px rgba(224,85,48,.12);
  vertical-align: .08rem;
}

.dossier-primary,
.dossier-secondary {
  position: relative;
  z-index: 3;
  padding: clamp(2rem, 3vw, 3rem);
  border-color: rgba(255,255,255,.065);
  border-style: solid;
}

.dossier-primary {
  min-height: 14rem;
  border-width: 0 0 1px 0;
}

.dossier-primary:first-of-type {
  border-right-width: 1px;
}

.dossier-primary.intervention {
  background:
    radial-gradient(ellipse 95% 150% at 18% 50%, rgba(224,85,48,.060), transparent 70%);
}

.dossier-secondary {
  min-height: 12rem;
  background: rgba(7,5,3,.20);
  border-width: 0;
}

.dossier-secondary.outputs {
  border-right-width: 1px;
}

.dossier-kicker {
  display: block;
  color: var(--red-hi);
  font-size: .56rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  text-shadow: 0 0 10px rgba(224,85,48,.14);
}

.dossier-primary p,
.dossier-secondary p,
.dossier-secondary li {
  color: rgba(240,235,227,.66);
  line-height: 1.9;
  font-size: .98rem;
}

.dossier-primary p {
  max-width: 35rem;
  margin: 0;
}

.dossier-secondary p {
  margin: 0;
}

.dossier-secondary ul {
  display: grid;
  gap: .75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.dossier-secondary li {
  position: relative;
  padding-left: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.045);
  padding-bottom: .55rem;
}

.dossier-secondary li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .85rem;
  width: .32rem;
  height: .32rem;
  border-radius: 50%;
  background: rgba(224,85,48,.58);
  box-shadow: 0 0 8px rgba(224,85,48,.16);
}

.service-dossier:hover .dossier-brief {
  border-color: rgba(224,85,48,.42);
  box-shadow:
    0 0 38px rgba(224,85,48,.105),
    0 0 62px rgba(88,205,210,.040),
    inset 0 0 0 1px rgba(255,255,255,.018);
}

@keyframes dossierV2SectionLine {
  0%, 100% { opacity: .30; transform: scaleX(.94); }
  50% { opacity: .62; transform: scaleX(1); }
}

@keyframes dossierV2VerticalSpine {
  0%, 100% { opacity: .24; }
  50% { opacity: .58; }
}

@keyframes dossierV2Sweep {
  0%, 18% { left: -24%; opacity: 0; }
  42% { opacity: .68; }
  78%, 100% { left: 110%; opacity: 0; }
}

@keyframes dossierV2ReadoutPulse {
  0%, 100% { opacity: .42; }
  50% { opacity: .88; }
}

@media(max-width:1100px) {
  .services-dossier-section-v2 .flagship-head,
  .service-dossier {
    grid-template-columns: 1fr;
  }

  .dossier-brief {
    margin: 0 clamp(1.5rem, 4vw, 3rem) clamp(2rem, 4vw, 3rem);
  }
}

@media(max-width:760px) {
  .dossier-brief {
    grid-template-columns: 1fr;
  }

  .dossier-primary:first-of-type,
  .dossier-secondary.outputs {
    border-right-width: 0;
  }

  .dossier-primary,
  .dossier-secondary {
    border-bottom: 1px solid rgba(255,255,255,.055);
  }

  .dossier-status {
    position: relative;
    top: auto;
    right: auto;
    padding: 1.4rem 1.6rem 0;
  }

  .dossier-identity h3 {
    font-size: clamp(3rem, 14vw, 4.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-dossier-section-v2::before,
  .service-dossier::before,
  .dossier-brief::before,
  .dossier-status {
    animation: none !important;
  }
}

/* SERVICES FLAGSHIP HEADER ALIGNMENT FIX */
.services-dossier-section-v2 .flagship-head {
  width: min(100% - 6rem, 118rem);
  margin-left: auto;
  margin-right: auto;
}

.services-dossier-section-v2 .flagship-head h2 {
  max-width: 46rem;
}

@media(max-width:900px) {
  .services-dossier-section-v2 .flagship-head {
    width: min(100% - 3rem, 118rem);
  }
}

/* SERVICES DOSSIER SPINE SIGNAL PULSE - SMOOTH TOP TO BOTTOM CYCLE */
.service-dossier .dossier-spine span,
.service-dossier .dossier-spine span::before {
  animation-duration: 8.4s;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
  animation-iteration-count: infinite;
}

/* Every intervention uses the same clean rhythm:
   item 1, item 2, item 3, pause, repeat. */
.service-dossier .dossier-spine span:nth-child(1) {
  animation-name: dossierSpineTextSignalFirst;
}

.service-dossier .dossier-spine span:nth-child(1)::before {
  animation-name: dossierSpineDotSignalFirst;
}

.service-dossier .dossier-spine span:nth-child(2) {
  animation-name: dossierSpineTextSignalSecond;
}

.service-dossier .dossier-spine span:nth-child(2)::before {
  animation-name: dossierSpineDotSignalSecond;
}

.service-dossier .dossier-spine span:nth-child(3) {
  animation-name: dossierSpineTextSignalThird;
}

.service-dossier .dossier-spine span:nth-child(3)::before {
  animation-name: dossierSpineDotSignalThird;
}

@keyframes dossierSpineTextSignalFirst {
  0%, 5%, 100% {
    color: rgba(154,142,130,.62);
    text-shadow: none;
  }

  10%, 22% {
    color: rgba(240,235,227,.74);
    text-shadow:
      0 0 8px rgba(224,85,48,.18),
      0 0 16px rgba(224,85,48,.07);
  }

  30% {
    color: rgba(154,142,130,.62);
    text-shadow: none;
  }
}

@keyframes dossierSpineTextSignalSecond {
  0%, 24%, 100% {
    color: rgba(154,142,130,.62);
    text-shadow: none;
  }

  34%, 46% {
    color: rgba(240,235,227,.74);
    text-shadow:
      0 0 8px rgba(224,85,48,.18),
      0 0 16px rgba(224,85,48,.07);
  }

  54% {
    color: rgba(154,142,130,.62);
    text-shadow: none;
  }
}

@keyframes dossierSpineTextSignalThird {
  0%, 48%, 100% {
    color: rgba(154,142,130,.62);
    text-shadow: none;
  }

  58%, 70% {
    color: rgba(240,235,227,.74);
    text-shadow:
      0 0 8px rgba(224,85,48,.18),
      0 0 16px rgba(224,85,48,.07);
  }

  78% {
    color: rgba(154,142,130,.62);
    text-shadow: none;
  }
}

@keyframes dossierSpineDotSignalFirst {
  0%, 5%, 100% {
    opacity: .58;
    transform: translateY(-50%) scale(.86);
    background: rgba(224,85,48,.58);
    box-shadow: 0 0 9px rgba(224,85,48,.18);
  }

  10%, 22% {
    opacity: 1;
    transform: translateY(-50%) scale(1.18);
    background: rgba(224,85,48,.96);
    box-shadow:
      0 0 12px rgba(224,85,48,.40),
      0 0 24px rgba(224,85,48,.16),
      0 0 30px rgba(88,205,210,.06);
  }

  30% {
    opacity: .58;
    transform: translateY(-50%) scale(.86);
    background: rgba(224,85,48,.58);
    box-shadow: 0 0 9px rgba(224,85,48,.18);
  }
}

@keyframes dossierSpineDotSignalSecond {
  0%, 24%, 100% {
    opacity: .58;
    transform: translateY(-50%) scale(.86);
    background: rgba(224,85,48,.58);
    box-shadow: 0 0 9px rgba(224,85,48,.18);
  }

  34%, 46% {
    opacity: 1;
    transform: translateY(-50%) scale(1.18);
    background: rgba(224,85,48,.96);
    box-shadow:
      0 0 12px rgba(224,85,48,.40),
      0 0 24px rgba(224,85,48,.16),
      0 0 30px rgba(88,205,210,.06);
  }

  54% {
    opacity: .58;
    transform: translateY(-50%) scale(.86);
    background: rgba(224,85,48,.58);
    box-shadow: 0 0 9px rgba(224,85,48,.18);
  }
}

@keyframes dossierSpineDotSignalThird {
  0%, 48%, 100% {
    opacity: .58;
    transform: translateY(-50%) scale(.86);
    background: rgba(224,85,48,.58);
    box-shadow: 0 0 9px rgba(224,85,48,.18);
  }

  58%, 70% {
    opacity: 1;
    transform: translateY(-50%) scale(1.18);
    background: rgba(224,85,48,.96);
    box-shadow:
      0 0 12px rgba(224,85,48,.40),
      0 0 24px rgba(224,85,48,.16),
      0 0 30px rgba(88,205,210,.06);
  }

  78% {
    opacity: .58;
    transform: translateY(-50%) scale(.86);
    background: rgba(224,85,48,.58);
    box-shadow: 0 0 9px rgba(224,85,48,.18);
  }
}

.service-dossier:hover .dossier-spine span,
.service-dossier:hover .dossier-spine span::before {
  animation-play-state: paused;
}

.service-dossier:hover .dossier-spine span {
  color: rgba(240,235,227,.74);
}

.service-dossier:hover .dossier-spine span::before {
  opacity: 1;
  background: rgba(224,85,48,.90);
  box-shadow:
    0 0 12px rgba(224,85,48,.34),
    0 0 22px rgba(224,85,48,.12);
}

@media (prefers-reduced-motion: reduce) {
  .service-dossier .dossier-spine span,
  .service-dossier .dossier-spine span::before {
    animation: none !important;
  }
}

/* SERVICES ENGAGEMENT MODULE: depth selector */
.engagement-depth-selector {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.engagement-depth-selector::before {
  content: '';
  position: absolute;
  left: 3.5rem;
  right: 3.5rem;
  top: 48%;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.16), rgba(224,85,48,.42), rgba(88,205,210,.14), rgba(224,85,48,.28), transparent);
  box-shadow:
    0 0 18px rgba(224,85,48,.10),
    0 0 28px rgba(88,205,210,.045);
  opacity: .52;
  pointer-events: none;
  z-index: 0;
  animation: engagementDepthSectionLine 8.8s ease-in-out infinite;
}

.engagement-depth-selector::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 48% 32% at 74% 27%, rgba(224,85,48,.048), transparent 70%),
    radial-gradient(ellipse 44% 36% at 53% 56%, rgba(88,205,210,.026), transparent 76%);
  pointer-events: none;
  z-index: 0;
}

.engagement-depth-selector > * {
  position: relative;
  z-index: 2;
}

.engagement-depth-rail {
  position: relative;
  width: min(100% - 6rem, 118rem);
  margin: clamp(3rem, 5vw, 5rem) auto 0;
  height: 6rem;
  border-top: 1px solid rgba(224,85,48,.22);
  overflow: visible;
}

.engagement-depth-rail::before {
  content: 'Depth of intervention';
  position: absolute;
  left: 0;
  top: -2.1rem;
  color: rgba(224,85,48,.72);
  font-size: .52rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-shadow: 0 0 12px rgba(224,85,48,.16);
}

.depth-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 2.4rem;
  height: 1px;
  background:
    linear-gradient(90deg, rgba(224,85,48,.26), rgba(224,85,48,.42), rgba(88,205,210,.16), rgba(224,85,48,.34), transparent);
  box-shadow:
    0 0 12px rgba(224,85,48,.14),
    0 0 22px rgba(88,205,210,.050);
  animation: engagementDepthRailBreathe 8.4s ease-in-out infinite;
}

.depth-marker {
  position: absolute;
  top: 1.7rem;
  width: 8rem;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  gap: .32rem;
  animation: engagementDepthMarkerBase 9s ease-in-out infinite;
}

.depth-marker b {
  position: absolute;
  top: 1.65rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(154,142,130,.62);
  font-size: .50rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 400;
  white-space: nowrap;
  animation: engagementDepthLabelBase 9s ease-in-out infinite;
}

.depth-marker i {
  display: block;
  width: .58rem;
  height: .58rem;
  border-radius: 50%;
  border: 1px solid rgba(224,85,48,.50);
  background: rgba(7,5,3,.58);
  box-shadow:
    0 0 10px rgba(224,85,48,.12),
    inset 0 0 0 1px rgba(255,255,255,.012);
}

.depth-one {
  left: 16.5%;
  animation-name: engagementDepthMarkerOne;
}

.depth-one b {
  animation-name: engagementDepthLabelOne;
}

.depth-one i {
  animation: engagementDepthDotOne 9s ease-in-out infinite;
}

.depth-two {
  left: 50%;
  animation-name: engagementDepthMarkerTwo;
}

.depth-two b {
  animation-name: engagementDepthLabelTwo;
}

.depth-two i {
  animation: engagementDepthDotTwo 9s ease-in-out infinite;
}

.depth-three {
  left: 83.5%;
  animation-name: engagementDepthMarkerThree;
}

.depth-three b {
  animation-name: engagementDepthLabelThree;
}

.depth-three i {
  animation: engagementDepthDotThree 9s ease-in-out infinite;
}

.engagement-depth-selector .engagement-depth-card {
  position: relative;
  overflow: hidden;
  transition:
    border-color .55s ease,
    background .55s ease,
    box-shadow .55s ease,
    transform .55s cubic-bezier(.22,1,.36,1),
    opacity .55s ease;
  animation: engagementDepthCardBase 9s ease-in-out infinite;
}

.engagement-depth-selector .engagement-depth-card::before {
  content: '';
  position: absolute;
  left: 2rem;
  right: 2rem;
  top: 0;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.30), rgba(88,205,210,.10), transparent);
  opacity: .36;
  box-shadow: 0 0 10px rgba(224,85,48,.08);
}

.engagement-depth-selector .engagement-depth-card::after {
  content: '';
  position: absolute;
  inset: -40% -25%;
  background:
    radial-gradient(ellipse 44% 50% at 50% 50%, rgba(224,85,48,.09), transparent 70%);
  opacity: 0;
  filter: blur(16px);
  pointer-events: none;
  animation: engagementDepthCardGlow 9s ease-in-out infinite;
}

.engagement-depth-selector .engagement-depth-card-one,
.engagement-depth-selector .engagement-depth-card-one::after {
  animation-name: engagementDepthCardOne;
}

.engagement-depth-selector .engagement-depth-card-two,
.engagement-depth-selector .engagement-depth-card-two::after {
  animation-name: engagementDepthCardTwo;
}

.engagement-depth-selector .engagement-depth-card-three,
.engagement-depth-selector .engagement-depth-card-three::after {
  animation-name: engagementDepthCardThree;
}

.engagement-depth-selector:has(.engagement-depth-card:hover) .engagement-depth-card {
  animation-play-state: paused;
  opacity: .58;
}

.engagement-depth-selector .engagement-depth-card:hover {
  opacity: 1 !important;
  transform: translateY(-3px);
  border-color: rgba(224,85,48,.34);
  background:
    radial-gradient(ellipse 90% 150% at 20% 10%, rgba(224,85,48,.08), transparent 70%),
    rgba(7,5,3,.66);
  box-shadow:
    0 0 24px rgba(224,85,48,.09),
    inset 0 0 0 1px rgba(255,255,255,.016);
}

@keyframes engagementDepthSectionLine {
  0%, 100% { opacity: .32; transform: scaleX(.94); }
  50% { opacity: .62; transform: scaleX(1); }
}

@keyframes engagementDepthRailBreathe {
  0%, 100% { opacity: .42; transform: scaleX(.96); }
  50% { opacity: .84; transform: scaleX(1); }
}

@keyframes engagementDepthMarkerOne {
  0%, 7%, 100% { filter: none; }
  12%, 26% { filter: drop-shadow(0 0 12px rgba(224,85,48,.24)); }
  34% { filter: none; }
}

@keyframes engagementDepthMarkerTwo {
  0%, 31%, 100% { filter: none; }
  38%, 52% { filter: drop-shadow(0 0 12px rgba(224,85,48,.24)); }
  60% { filter: none; }
}

@keyframes engagementDepthMarkerThree {
  0%, 57%, 100% { filter: none; }
  64%, 78% { filter: drop-shadow(0 0 12px rgba(224,85,48,.24)); }
  86% { filter: none; }
}

@keyframes engagementDepthLabelOne {
  0%, 7%, 100% { color: rgba(154,142,130,.62); text-shadow: none; }
  12%, 26% { color: rgba(240,235,227,.74); text-shadow: 0 0 10px rgba(224,85,48,.16); }
  34% { color: rgba(154,142,130,.62); text-shadow: none; }
}

@keyframes engagementDepthLabelTwo {
  0%, 31%, 100% { color: rgba(154,142,130,.62); text-shadow: none; }
  38%, 52% { color: rgba(240,235,227,.74); text-shadow: 0 0 10px rgba(224,85,48,.16); }
  60% { color: rgba(154,142,130,.62); text-shadow: none; }
}

@keyframes engagementDepthLabelThree {
  0%, 57%, 100% { color: rgba(154,142,130,.62); text-shadow: none; }
  64%, 78% { color: rgba(240,235,227,.74); text-shadow: 0 0 10px rgba(224,85,48,.16); }
  86% { color: rgba(154,142,130,.62); text-shadow: none; }
}

@keyframes engagementDepthDotOne {
  0%, 7%, 100% {
    background: rgba(7,5,3,.58);
    border-color: rgba(224,85,48,.50);
    box-shadow: 0 0 10px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.012);
  }
  12%, 26% {
    background: rgba(224,85,48,.86);
    border-color: rgba(224,85,48,.86);
    box-shadow: 0 0 13px rgba(224,85,48,.36), 0 0 24px rgba(224,85,48,.12);
  }
  34% {
    background: rgba(7,5,3,.58);
    border-color: rgba(224,85,48,.50);
    box-shadow: 0 0 10px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.012);
  }
}

@keyframes engagementDepthDotTwo {
  0%, 31%, 100% {
    background: rgba(7,5,3,.58);
    border-color: rgba(224,85,48,.50);
    box-shadow: 0 0 10px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.012);
  }
  38%, 52% {
    background: rgba(224,85,48,.86);
    border-color: rgba(224,85,48,.86);
    box-shadow: 0 0 13px rgba(224,85,48,.36), 0 0 24px rgba(224,85,48,.12);
  }
  60% {
    background: rgba(7,5,3,.58);
    border-color: rgba(224,85,48,.50);
    box-shadow: 0 0 10px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.012);
  }
}

@keyframes engagementDepthDotThree {
  0%, 57%, 100% {
    background: rgba(7,5,3,.58);
    border-color: rgba(224,85,48,.50);
    box-shadow: 0 0 10px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.012);
  }
  64%, 78% {
    background: rgba(224,85,48,.86);
    border-color: rgba(224,85,48,.86);
    box-shadow: 0 0 13px rgba(224,85,48,.36), 0 0 24px rgba(224,85,48,.12);
  }
  86% {
    background: rgba(7,5,3,.58);
    border-color: rgba(224,85,48,.50);
    box-shadow: 0 0 10px rgba(224,85,48,.12), inset 0 0 0 1px rgba(255,255,255,.012);
  }
}

@keyframes engagementDepthCardOne {
  0%, 7%, 100% { border-color: rgba(255,255,255,.060); box-shadow: none; transform: translateY(0); }
  12%, 26% {
    border-color: rgba(224,85,48,.28);
    box-shadow: 0 0 22px rgba(224,85,48,.07), inset 0 0 0 1px rgba(255,255,255,.012);
    transform: translateY(-2px);
  }
  34% { border-color: rgba(255,255,255,.060); box-shadow: none; transform: translateY(0); }
}

@keyframes engagementDepthCardTwo {
  0%, 31%, 100% { border-color: rgba(255,255,255,.060); box-shadow: none; transform: translateY(0); }
  38%, 52% {
    border-color: rgba(224,85,48,.28);
    box-shadow: 0 0 22px rgba(224,85,48,.07), inset 0 0 0 1px rgba(255,255,255,.012);
    transform: translateY(-2px);
  }
  60% { border-color: rgba(255,255,255,.060); box-shadow: none; transform: translateY(0); }
}

@keyframes engagementDepthCardThree {
  0%, 57%, 100% { border-color: rgba(255,255,255,.060); box-shadow: none; transform: translateY(0); }
  64%, 78% {
    border-color: rgba(224,85,48,.28);
    box-shadow: 0 0 22px rgba(224,85,48,.07), inset 0 0 0 1px rgba(255,255,255,.012);
    transform: translateY(-2px);
  }
  86% { border-color: rgba(255,255,255,.060); box-shadow: none; transform: translateY(0); }
}

@media(max-width:900px) {
  .engagement-depth-rail {
    width: min(100% - 3rem, 118rem);
  }

  .depth-marker b {
    font-size: .42rem;
    letter-spacing: .13em;
  }
}

@media(max-width:640px) {
  .engagement-depth-rail {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .engagement-depth-selector::before,
  .depth-line,
  .depth-marker,
  .depth-marker b,
  .depth-marker i,
  .engagement-depth-selector .engagement-depth-card,
  .engagement-depth-selector .engagement-depth-card::after {
    animation: none !important;
  }
}

/* SERVICES ENGAGEMENT DEPTH SELECTOR CARD HOOK FIX */
.engagement-depth-selector .shape-card,
.engagement-depth-selector .engagement-card,
.engagement-depth-selector .depth-card {
  position: relative;
  overflow: hidden;
  transition:
    border-color .55s ease,
    background .55s ease,
    box-shadow .55s ease,
    transform .55s cubic-bezier(.22,1,.36,1),
    opacity .55s ease;
}

.engagement-depth-selector .shape-card:nth-of-type(1),
.engagement-depth-selector .engagement-card:nth-of-type(1),
.engagement-depth-selector .depth-card:nth-of-type(1) {
  animation: engagementDepthCardOne 9s ease-in-out infinite;
}

.engagement-depth-selector .shape-card:nth-of-type(2),
.engagement-depth-selector .engagement-card:nth-of-type(2),
.engagement-depth-selector .depth-card:nth-of-type(2) {
  animation: engagementDepthCardTwo 9s ease-in-out infinite;
}

.engagement-depth-selector .shape-card:nth-of-type(3),
.engagement-depth-selector .engagement-card:nth-of-type(3),
.engagement-depth-selector .depth-card:nth-of-type(3) {
  animation: engagementDepthCardThree 9s ease-in-out infinite;
}

/* SERVICES FIT MODULE: live fit scanner rebuild */
.fit-scanner-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(35rem, 1.14fr);
  gap: clamp(4rem, 9vw, 9rem);
  align-items: center;
  padding-top: clamp(7rem, 10vw, 10rem);
  padding-bottom: clamp(7rem, 10vw, 10rem);
  background:
    radial-gradient(ellipse 54% 70% at 76% 44%, rgba(224,85,48,.070), transparent 70%),
    radial-gradient(ellipse 42% 46% at 52% 56%, rgba(88,205,210,.032), transparent 76%),
    var(--ink-0);
}

.fit-scanner-section::before {
  content: '';
  position: absolute;
  left: 3.5rem;
  right: 3.5rem;
  top: 50%;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.12), rgba(224,85,48,.36), rgba(88,205,210,.13), rgba(224,85,48,.20), transparent);
  box-shadow:
    0 0 18px rgba(224,85,48,.09),
    0 0 30px rgba(88,205,210,.04);
  opacity: .54;
  pointer-events: none;
  z-index: 0;
  animation: fitScannerSectionLine 8s ease-in-out infinite;
}

.fit-scanner-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,5,3,.95), transparent 32%, transparent 74%, rgba(7,5,3,.86)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.013) 0 1px, transparent 1px 78px);
  pointer-events: none;
  z-index: 0;
}

.fit-scanner-section > * {
  position: relative;
  z-index: 2;
}

.fit-scanner-section .fit-copy h2 {
  max-width: 38rem;
}

.fit-scanner-panel {
  position: relative;
  min-height: 31rem;
  border: 1px solid rgba(224,85,48,.28);
  background:
    radial-gradient(ellipse 88% 130% at 20% 28%, rgba(224,85,48,.074), transparent 68%),
    radial-gradient(ellipse 90% 130% at 86% 72%, rgba(88,205,210,.036), transparent 72%),
    rgba(7,5,3,.66);
  box-shadow:
    0 0 30px rgba(224,85,48,.062),
    0 0 62px rgba(88,205,210,.028),
    inset 0 0 0 1px rgba(255,255,255,.014);
  overflow: hidden;
  isolation: isolate;
  padding: clamp(2rem, 3vw, 2.8rem);
}

.fit-scanner-panel::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -24%;
  width: 18%;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.065), rgba(88,205,210,.045), transparent);
  filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  animation: fitScannerSweep 9.4s ease-in-out infinite;
}

.fit-scanner-panel::after {
  content: '';
  position: absolute;
  inset: -40% -25%;
  background:
    radial-gradient(ellipse 42% 52% at 50% 50%, rgba(224,85,48,.11), transparent 70%);
  opacity: .28;
  filter: blur(18px);
  pointer-events: none;
  z-index: 0;
  animation: fitScannerChamberPulse 7s ease-in-out infinite;
}

.fit-scanner-panel > * {
  position: relative;
  z-index: 2;
}

.fit-scanner-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid rgba(255,255,255,.060);
  margin-bottom: 1.1rem;
}

.fit-scanner-header span,
.fit-scanner-header b {
  font-size: .54rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
}

.fit-scanner-header span {
  color: rgba(240,235,227,.62);
}

.fit-scanner-header b {
  position: relative;
  color: rgba(224,85,48,.78);
  padding-left: .85rem;
  text-shadow: 0 0 12px rgba(224,85,48,.16);
  animation: fitScannerLivePulse 6.4s ease-in-out infinite;
}

.fit-scanner-header b::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  background: rgba(224,85,48,.82);
  box-shadow:
    0 0 10px rgba(224,85,48,.36),
    0 0 20px rgba(224,85,48,.12);
  transform: translateY(-50%);
}

.fit-scan-list {
  display: grid;
}

.fit-scan-row {
  position: relative;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  min-height: 5.1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255,255,255,.050);
  overflow: hidden;
  isolation: isolate;
  animation: fitScanRowBase 10.8s ease-in-out infinite;
}

.fit-scan-row::before {
  content: '';
  position: absolute;
  left: 4rem;
  right: 0;
  top: 50%;
  height: 1px;
  background:
    linear-gradient(90deg, rgba(224,85,48,.30), rgba(88,205,210,.12), transparent);
  opacity: 0;
  transform: scaleX(.16);
  transform-origin: left center;
  z-index: 0;
  animation: fitScanCircuit 10.8s ease-in-out infinite;
}

.fit-scan-row::after {
  content: '';
  position: absolute;
  left: 4rem;
  top: 50%;
  width: .46rem;
  height: .46rem;
  border-radius: 50%;
  background: rgba(224,85,48,.86);
  box-shadow:
    0 0 12px rgba(224,85,48,.36),
    0 0 24px rgba(88,205,210,.08);
  opacity: 0;
  transform: translateY(-50%) scale(.70);
  z-index: 1;
  animation: fitScanNode 10.8s ease-in-out infinite;
}

.fit-scan-row > * {
  position: relative;
  z-index: 2;
}

.fit-row-index {
  color: rgba(224,85,48,.74);
  font-size: .56rem;
  letter-spacing: .18em;
}

.fit-row-copy span {
  display: block;
  color: rgba(224,85,48,.80);
  font-size: .50rem;
  letter-spacing: .20em;
  text-transform: uppercase;
  margin-bottom: .45rem;
}

.fit-row-copy p {
  color: rgba(240,235,227,.68);
  line-height: 1.65;
  margin: 0;
}

.fit-row-status {
  color: rgba(154,142,130,.56);
  font-size: .48rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: .45;
  transform: translateX(4px);
  animation: fitScanStatus 10.8s ease-in-out infinite;
}

.fit-row-one,
.fit-row-one::before,
.fit-row-one::after,
.fit-row-one .fit-row-status {
  animation-delay: 0s;
}

.fit-row-two,
.fit-row-two::before,
.fit-row-two::after,
.fit-row-two .fit-row-status {
  animation-delay: 2.7s;
}

.fit-row-three,
.fit-row-three::before,
.fit-row-three::after,
.fit-row-three .fit-row-status {
  animation-delay: 5.4s;
}

.fit-row-four,
.fit-row-four::before,
.fit-row-four::after,
.fit-row-four .fit-row-status {
  animation-delay: 8.1s;
}

.fit-scanner-readout {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-top: 1.7rem;
  color: rgba(240,235,227,.64);
  font-size: .54rem;
  letter-spacing: .20em;
  text-transform: uppercase;
  opacity: .58;
  animation: fitScannerFinalReadout 10.8s ease-in-out infinite;
}

.fit-scanner-readout span {
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: rgba(224,85,48,.74);
  box-shadow:
    0 0 10px rgba(224,85,48,.30),
    0 0 20px rgba(224,85,48,.10);
}

.fit-scanner-panel:hover .fit-scan-row,
.fit-scanner-panel:hover .fit-scan-row::before,
.fit-scanner-panel:hover .fit-scan-row::after,
.fit-scanner-panel:hover .fit-row-status,
.fit-scanner-panel:hover .fit-scanner-readout {
  animation-play-state: paused;
}

.fit-scanner-panel:hover {
  border-color: rgba(224,85,48,.44);
  box-shadow:
    0 0 38px rgba(224,85,48,.105),
    0 0 70px rgba(88,205,210,.040),
    inset 0 0 0 1px rgba(255,255,255,.018);
}

@keyframes fitScannerSectionLine {
  0%, 100% { opacity: .32; transform: scaleX(.94); }
  50% { opacity: .62; transform: scaleX(1); }
}

@keyframes fitScannerSweep {
  0%, 16% { left: -24%; opacity: 0; }
  42% { opacity: .66; }
  78%, 100% { left: 110%; opacity: 0; }
}

@keyframes fitScannerChamberPulse {
  0%, 100% { opacity: .22; transform: scale(.92); }
  50% { opacity: .44; transform: scale(1.05); }
}

@keyframes fitScannerLivePulse {
  0%, 100% { opacity: .48; }
  50% { opacity: .95; }
}

@keyframes fitScanRowBase {
  0%, 7%, 100% {
    background: transparent;
    transform: translateX(0);
  }
  12%, 28% {
    background:
      radial-gradient(ellipse 90% 140% at 14% 50%, rgba(224,85,48,.055), transparent 70%);
    transform: translateX(2px);
  }
  38% {
    background: transparent;
    transform: translateX(0);
  }
}

@keyframes fitScanCircuit {
  0%, 8%, 38%, 100% {
    opacity: 0;
    transform: scaleX(.16);
  }
  14%, 30% {
    opacity: .76;
    transform: scaleX(1);
  }
}

@keyframes fitScanNode {
  0%, 9%, 38%, 100% {
    opacity: 0;
    transform: translateY(-50%) scale(.70);
  }
  15%, 30% {
    opacity: .95;
    transform: translateY(-50%) scale(1);
  }
}

@keyframes fitScanStatus {
  0%, 12%, 38%, 100% {
    opacity: .32;
    color: rgba(154,142,130,.56);
    transform: translateX(4px);
    text-shadow: none;
  }
  18%, 30% {
    opacity: .96;
    color: rgba(240,235,227,.72);
    transform: translateX(0);
    text-shadow:
      0 0 8px rgba(224,85,48,.16),
      0 0 16px rgba(224,85,48,.06);
  }
}

@keyframes fitScannerFinalReadout {
  0%, 84%, 100% {
    opacity: .38;
  }
  90%, 96% {
    opacity: .88;
  }
}

@media(max-width:1100px) {
  .fit-scanner-section {
    grid-template-columns: 1fr;
  }
}

@media(max-width:720px) {
  .fit-scanner-panel {
    padding: 1.5rem;
  }

  .fit-scan-row {
    grid-template-columns: 2.8rem 1fr;
  }

  .fit-row-status {
    grid-column: 2;
    justify-self: start;
    margin-top: .45rem;
  }

  .fit-scan-row::before,
  .fit-scan-row::after {
    left: 2.8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fit-scanner-section::before,
  .fit-scanner-panel::before,
  .fit-scanner-panel::after,
  .fit-scanner-header b,
  .fit-scan-row,
  .fit-scan-row::before,
  .fit-scan-row::after,
  .fit-row-status,
  .fit-scanner-readout {
    animation: none !important;
  }
}

/* SERVICES FIT SCANNER ALIGNMENT FIX */
.fit-scanner-section {
  width: min(100% - 6rem, 118rem);
  margin-left: auto;
  margin-right: auto;
}

.fit-scanner-section::before {
  left: 0;
  right: 0;
}

.fit-scanner-section .fit-copy {
  min-width: 0;
}

.fit-scanner-section .fit-copy h2 {
  max-width: 42rem;
}

@media(max-width:1100px) {
  .fit-scanner-section {
    width: min(100% - 3rem, 118rem);
  }
}

@media(max-width:720px) {
  .fit-scanner-section {
    width: min(100% - 2rem, 118rem);
  }
}

/* SERVICES MOTION PRUNE AND FIT HEADING FIX */

/* Restore the fit section headline to the page's elegant serif rhythm. */
.fit-scanner-section .fit-copy h2 {
  font-family: 'Cormorant', serif;
  font-size: clamp(4.6rem, 8vw, 8.6rem);
  line-height: .95;
  font-weight: 400;
  letter-spacing: -.045em;
  color: var(--cream);
  max-width: 43rem;
}

.fit-scanner-section .fit-copy h2 em {
  color: var(--red-hi);
  font-style: italic;
  text-shadow:
    0 0 14px rgba(224,85,48,.13),
    0 0 30px rgba(224,85,48,.055);
}

/* Prune repeated sweeping motion from secondary modules.
   Keep the top Services diagnostic board as the primary scanner moment.
   Secondary sections now rely on pulse, glow, and row activation instead. */
.entry-threshold-panel::after,
.dossier-brief::before,
.fit-scanner-panel::before {
  display: none !important;
  animation: none !important;
}

/* Replace removed sweeps with very quiet chamber breathing, not moving bands. */
.entry-threshold-panel,
.dossier-brief,
.fit-scanner-panel {
  animation: servicesQuietChamberBreathe 8.6s ease-in-out infinite;
}

.fit-scanner-panel {
  box-shadow:
    0 0 28px rgba(224,85,48,.070),
    0 0 52px rgba(88,205,210,.026),
    inset 0 0 0 1px rgba(255,255,255,.014);
}

/* The fit scanner already has row sequencing, so strengthen that slightly
   to replace the lost sweep without adding another big moving effect. */
.fit-scan-row::before {
  background:
    linear-gradient(90deg, rgba(224,85,48,.34), rgba(88,205,210,.16), rgba(224,85,48,.10), transparent);
}

.fit-scan-row::after {
  box-shadow:
    0 0 12px rgba(224,85,48,.38),
    0 0 24px rgba(224,85,48,.14),
    0 0 28px rgba(88,205,210,.07);
}

.fit-scanner-readout {
  text-shadow:
    0 0 10px rgba(224,85,48,.12),
    0 0 18px rgba(88,205,210,.045);
}

@keyframes servicesQuietChamberBreathe {
  0%, 100% {
    border-color: rgba(224,85,48,.24);
    box-shadow:
      0 0 24px rgba(224,85,48,.050),
      0 0 42px rgba(88,205,210,.018),
      inset 0 0 0 1px rgba(255,255,255,.012);
  }

  50% {
    border-color: rgba(224,85,48,.32);
    box-shadow:
      0 0 32px rgba(224,85,48,.078),
      0 0 54px rgba(88,205,210,.028),
      inset 0 0 0 1px rgba(255,255,255,.016);
  }
}

@media(max-width:1100px) {
  .fit-scanner-section .fit-copy h2 {
    max-width: 52rem;
  }
}

@media(max-width:720px) {
  .fit-scanner-section .fit-copy h2 {
    font-size: clamp(3.8rem, 16vw, 5.8rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .entry-threshold-panel,
  .dossier-brief,
  .fit-scanner-panel {
    animation: none !important;
  }
}

/* SERVICES FIT HEADING SCALE CORRECTION */
.fit-scanner-section .fit-copy h2 {
  font-size: clamp(4.2rem, 6.4vw, 7.2rem);
  line-height: .98;
  letter-spacing: -.042em;
  max-width: 39rem;
}

@media(max-width:1100px) {
  .fit-scanner-section .fit-copy h2 {
    max-width: 48rem;
  }
}

@media(max-width:720px) {
  .fit-scanner-section .fit-copy h2 {
    font-size: clamp(3.5rem, 14vw, 5.2rem);
  }
}

/* SERVICES INTERVENTION POLISH AND FIT SCALE FIX */

/* Bring the Fit Scanner headline down to section scale, not hero scale. */
.fit-scanner-section .fit-copy h2 {
  font-family: 'Cormorant', serif;
  font-size: clamp(3.7rem, 5.4vw, 6.3rem);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -.040em;
  max-width: 34rem;
  color: var(--cream);
}

.fit-scanner-section .fit-copy h2 em {
  color: var(--red-hi);
  font-style: italic;
  text-shadow:
    0 0 12px rgba(224,85,48,.12),
    0 0 26px rgba(224,85,48,.050);
}

/* Restore the Flagship Interventions header to the elegant serif section rhythm. */
.services-dossier-section-v2 .flagship-head h2 {
  font-family: 'Cormorant', serif;
  font-size: clamp(4.2rem, 6.6vw, 7.4rem);
  line-height: .96;
  font-weight: 400;
  letter-spacing: -.044em;
  color: var(--cream);
  max-width: 42rem;
}

.services-dossier-section-v2 .flagship-head h2 em {
  color: var(--red-hi);
  font-style: italic;
  text-shadow:
    0 0 13px rgba(224,85,48,.13),
    0 0 28px rgba(224,85,48,.055);
}

.services-dossier-section-v2 .flagship-head p {
  max-width: 44rem;
  color: rgba(240,235,227,.66);
}

/* Give each dossier panel a more intentional hover response. */
.service-dossier .dossier-brief {
  transition:
    border-color .65s ease,
    box-shadow .65s ease,
    background .65s ease,
    transform .65s cubic-bezier(.22,1,.36,1);
}

.service-dossier .dossier-primary,
.service-dossier .dossier-secondary {
  transition:
    background .55s ease,
    border-color .55s ease,
    color .55s ease;
}

.service-dossier:hover .dossier-brief {
  transform: translateY(-3px);
  border-color: rgba(224,85,48,.48);
  background:
    radial-gradient(ellipse 86% 125% at 16% 20%, rgba(224,85,48,.095), transparent 66%),
    radial-gradient(ellipse 90% 130% at 86% 72%, rgba(88,205,210,.044), transparent 72%),
    rgba(7,5,3,.70);
  box-shadow:
    0 0 40px rgba(224,85,48,.13),
    0 0 72px rgba(88,205,210,.045),
    inset 0 0 0 1px rgba(255,255,255,.020);
}

.service-dossier:hover .dossier-primary.intervention {
  background:
    radial-gradient(ellipse 95% 150% at 18% 50%, rgba(224,85,48,.082), transparent 70%) !important;
}

.service-dossier:hover .dossier-secondary {
  background: rgba(7,5,3,.28);
}

.service-dossier:hover .dossier-kicker {
  color: rgba(224,85,48,.96);
  text-shadow:
    0 0 10px rgba(224,85,48,.20),
    0 0 18px rgba(224,85,48,.07);
}

/* Make the top-right dossier status behave like the other live signal elements. */
.dossier-status {
  animation: dossierStatusLivePulse 5.6s ease-in-out infinite !important;
}

.dossier-status span {
  animation: dossierStatusDotBlink 2.8s ease-in-out infinite;
}

.service-dossier:hover .dossier-status {
  color: rgba(240,235,227,.76);
  text-shadow:
    0 0 10px rgba(224,85,48,.22),
    0 0 18px rgba(224,85,48,.08);
}

.service-dossier:hover .dossier-status span {
  background: rgba(224,85,48,.96);
  box-shadow:
    0 0 12px rgba(224,85,48,.42),
    0 0 24px rgba(224,85,48,.16),
    0 0 30px rgba(88,205,210,.06);
}

@keyframes dossierStatusLivePulse {
  0%, 100% {
    opacity: .42;
    color: rgba(224,85,48,.62);
    text-shadow: 0 0 8px rgba(224,85,48,.10);
  }

  50% {
    opacity: .92;
    color: rgba(224,85,48,.88);
    text-shadow:
      0 0 11px rgba(224,85,48,.24),
      0 0 18px rgba(224,85,48,.08);
  }
}

@keyframes dossierStatusDotBlink {
  0%, 100% {
    opacity: .46;
    transform: scale(.80);
    background: rgba(224,85,48,.62);
    box-shadow:
      0 0 8px rgba(224,85,48,.20),
      0 0 14px rgba(224,85,48,.06);
  }

  42%, 58% {
    opacity: 1;
    transform: scale(1.08);
    background: rgba(224,85,48,.96);
    box-shadow:
      0 0 12px rgba(224,85,48,.42),
      0 0 24px rgba(224,85,48,.16),
      0 0 30px rgba(88,205,210,.06);
  }
}

@media(max-width:1100px) {
  .fit-scanner-section .fit-copy h2 {
    max-width: 44rem;
  }

  .services-dossier-section-v2 .flagship-head h2 {
    max-width: 52rem;
  }
}

@media(max-width:720px) {
  .fit-scanner-section .fit-copy h2 {
    font-size: clamp(3.3rem, 12vw, 4.8rem);
  }

  .services-dossier-section-v2 .flagship-head h2 {
    font-size: clamp(3.5rem, 13vw, 5.4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dossier-status,
  .dossier-status span {
    animation: none !important;
  }
}

/* SERVICES HOW IT STARTS MODULE: signal-to-structure instrument */
.signal-structure-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(38rem, 1.28fr);
  gap: clamp(4rem, 8vw, 8rem);
  align-items: center;
  padding-top: clamp(7rem, 10vw, 10rem);
  padding-bottom: clamp(7rem, 10vw, 10rem);
  background:
    radial-gradient(ellipse 52% 68% at 76% 48%, rgba(224,85,48,.052), transparent 70%),
    radial-gradient(ellipse 44% 50% at 52% 60%, rgba(88,205,210,.030), transparent 76%),
    var(--ink-0);
}

.signal-structure-section::before {
  content: '';
  position: absolute;
  left: 3.5rem;
  right: 3.5rem;
  top: 50%;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.14), rgba(224,85,48,.34), rgba(88,205,210,.12), transparent);
  box-shadow:
    0 0 16px rgba(224,85,48,.08),
    0 0 26px rgba(88,205,210,.036);
  opacity: .50;
  pointer-events: none;
  z-index: 0;
  animation: signalStructureSectionLine 8.2s ease-in-out infinite;
}

.signal-structure-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,5,3,.95), transparent 30%, transparent 76%, rgba(7,5,3,.88)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.013) 0 1px, transparent 1px 78px);
  pointer-events: none;
  z-index: 0;
}

.signal-structure-section > * {
  position: relative;
  z-index: 2;
}

.signal-structure-copy h2 {
  max-width: 38rem;
}

.signal-structure-instrument {
  position: relative;
  min-height: 31rem;
  border: 1px solid rgba(224,85,48,.24);
  background:
    radial-gradient(ellipse 80% 120% at 18% 34%, rgba(224,85,48,.060), transparent 68%),
    radial-gradient(ellipse 90% 130% at 88% 72%, rgba(88,205,210,.030), transparent 72%),
    rgba(7,5,3,.62);
  box-shadow:
    0 0 28px rgba(224,85,48,.052),
    0 0 50px rgba(88,205,210,.022),
    inset 0 0 0 1px rgba(255,255,255,.012);
  overflow: hidden;
  isolation: isolate;
  animation: signalStructureChamberBreathe 8.6s ease-in-out infinite;
}

.signal-structure-instrument::before {
  content: 'signal to structure';
  position: absolute;
  top: 1.4rem;
  left: 1.6rem;
  color: rgba(224,85,48,.72);
  font-size: .52rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  z-index: 4;
  text-shadow: 0 0 12px rgba(224,85,48,.16);
}

.signal-structure-instrument::after {
  content: '';
  position: absolute;
  inset: -40% -25%;
  background:
    radial-gradient(ellipse 42% 52% at 50% 50%, rgba(224,85,48,.105), transparent 70%);
  opacity: .22;
  filter: blur(18px);
  pointer-events: none;
  z-index: 0;
  animation: signalStructureFieldPulse 7s ease-in-out infinite;
}

.instrument-field,
.instrument-line,
.instrument-gates,
.instrument-output {
  position: relative;
  z-index: 2;
}

.instrument-field {
  position: absolute;
  left: 3rem;
  top: 6.2rem;
  width: 22%;
  height: 17rem;
  opacity: .80;
}

.noise-dot {
  position: absolute;
  width: .36rem;
  height: .36rem;
  border-radius: 50%;
  background: rgba(154,142,130,.34);
  box-shadow: 0 0 9px rgba(224,85,48,.08);
  animation: signalNoiseDot 6.8s ease-in-out infinite;
}

.dot-1 { left: 10%; top: 18%; animation-delay: 0s; }
.dot-2 { left: 42%; top: 8%; animation-delay: .45s; }
.dot-3 { left: 72%; top: 26%; animation-delay: .90s; }
.dot-4 { left: 24%; top: 48%; animation-delay: 1.35s; }
.dot-5 { left: 58%; top: 54%; animation-delay: 1.80s; }
.dot-6 { left: 80%; top: 68%; animation-delay: 2.25s; }
.dot-7 { left: 16%; top: 78%; animation-delay: 2.70s; }
.dot-8 { left: 48%; top: 86%; animation-delay: 3.15s; }

.instrument-line {
  position: absolute;
  left: 19%;
  right: 8%;
  top: 50%;
  height: 1px;
}

.line-core {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.26), rgba(88,205,210,.16), rgba(224,85,48,.20), transparent);
  box-shadow:
    0 0 10px rgba(224,85,48,.10),
    0 0 18px rgba(88,205,210,.040);
  opacity: .58;
}

.line-signal {
  position: absolute;
  left: 0;
  top: -3px;
  width: .46rem;
  height: .46rem;
  border-radius: 50%;
  background: rgba(224,85,48,.90);
  box-shadow:
    0 0 12px rgba(224,85,48,.36),
    0 0 24px rgba(224,85,48,.12),
    0 0 28px rgba(88,205,210,.060);
  transform: translateY(-50%);
  animation: signalStructureTravel 9s cubic-bezier(.22,1,.36,1) infinite;
}

.instrument-gates {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-height: 31rem;
  padding: 5.6rem 2rem 5.6rem 24%;
}

.instrument-gate {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 19rem;
  padding: 2.2rem;
  border-left: 1px solid rgba(255,255,255,.055);
  background: rgba(7,5,3,.18);
  transition:
    background .55s ease,
    box-shadow .55s ease,
    transform .55s cubic-bezier(.22,1,.36,1);
  animation: signalGateBase 9s ease-in-out infinite;
}

.instrument-gate::before {
  content: '';
  position: absolute;
  left: 50%;
  top: calc(50% - 4px);
  width: .52rem;
  height: .52rem;
  border-radius: 50%;
  border: 1px solid rgba(224,85,48,.46);
  background: rgba(7,5,3,.82);
  box-shadow:
    0 0 10px rgba(224,85,48,.12),
    inset 0 0 0 1px rgba(255,255,255,.012);
  transform: translateX(-50%) scale(.86);
  animation: signalGateNode 9s ease-in-out infinite;
}

.instrument-gate span {
  color: rgba(224,85,48,.72);
  font-size: .54rem;
  letter-spacing: .18em;
  margin-bottom: 1.4rem;
}

.instrument-gate h3 {
  font-family: 'Cormorant', serif;
  color: var(--cream);
  font-size: clamp(2.5rem, 3vw, 3.5rem);
  line-height: 1;
  font-weight: 400;
  margin: 0 0 1.2rem;
}

.instrument-gate p {
  color: rgba(240,235,227,.62);
  line-height: 1.8;
  margin: 0;
  max-width: 24rem;
}

.gate-listen,
.gate-listen::before {
  animation-delay: 0s;
}

.gate-trace,
.gate-trace::before {
  animation-delay: 3s;
}

.gate-design,
.gate-design::before {
  animation-delay: 6s;
}

.instrument-output {
  position: absolute;
  right: 1.8rem;
  bottom: 1.45rem;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: rgba(240,235,227,.62);
  font-size: .52rem;
  letter-spacing: .20em;
  text-transform: uppercase;
  opacity: .46;
  animation: signalStructureOutput 9s ease-in-out infinite;
}

.instrument-output span {
  width: .40rem;
  height: .40rem;
  border-radius: 50%;
  background: rgba(224,85,48,.72);
  box-shadow:
    0 0 10px rgba(224,85,48,.28),
    0 0 18px rgba(224,85,48,.08);
}

.signal-structure-instrument:hover {
  border-color: rgba(224,85,48,.42);
  box-shadow:
    0 0 36px rgba(224,85,48,.10),
    0 0 62px rgba(88,205,210,.035),
    inset 0 0 0 1px rgba(255,255,255,.018);
}

.signal-structure-instrument:hover .instrument-gate,
.signal-structure-instrument:hover .instrument-gate::before,
.signal-structure-instrument:hover .line-signal,
.signal-structure-instrument:hover .instrument-output,
.signal-structure-instrument:hover .noise-dot {
  animation-play-state: paused;
}

@keyframes signalStructureSectionLine {
  0%, 100% { opacity: .30; transform: scaleX(.94); }
  50% { opacity: .58; transform: scaleX(1); }
}

@keyframes signalStructureChamberBreathe {
  0%, 100% {
    border-color: rgba(224,85,48,.24);
    box-shadow:
      0 0 24px rgba(224,85,48,.046),
      0 0 42px rgba(88,205,210,.018),
      inset 0 0 0 1px rgba(255,255,255,.012);
  }
  50% {
    border-color: rgba(224,85,48,.32);
    box-shadow:
      0 0 32px rgba(224,85,48,.074),
      0 0 54px rgba(88,205,210,.028),
      inset 0 0 0 1px rgba(255,255,255,.016);
  }
}

@keyframes signalStructureFieldPulse {
  0%, 100% { opacity: .18; transform: scale(.94); }
  50% { opacity: .34; transform: scale(1.04); }
}

@keyframes signalNoiseDot {
  0%, 100% {
    opacity: .20;
    transform: scale(.78);
    background: rgba(154,142,130,.28);
  }
  50% {
    opacity: .76;
    transform: scale(1.08);
    background: rgba(224,85,48,.68);
  }
}

@keyframes signalStructureTravel {
  0%, 8% {
    left: 0;
    opacity: 0;
  }
  16% {
    opacity: 1;
  }
  78% {
    left: 100%;
    opacity: 1;
  }
  88%, 100% {
    left: 100%;
    opacity: 0;
  }
}

@keyframes signalGateBase {
  0%, 100% {
    background: rgba(7,5,3,.18);
    transform: translateY(0);
    box-shadow: none;
  }
  14%, 28% {
    background:
      radial-gradient(ellipse 90% 140% at 50% 42%, rgba(224,85,48,.066), transparent 70%),
      rgba(7,5,3,.30);
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.012);
  }
  38% {
    background: rgba(7,5,3,.18);
    transform: translateY(0);
    box-shadow: none;
  }
}

@keyframes signalGateNode {
  0%, 100% {
    opacity: .48;
    transform: translateX(-50%) scale(.86);
    background: rgba(7,5,3,.82);
  }
  14%, 28% {
    opacity: 1;
    transform: translateX(-50%) scale(1.12);
    background: rgba(224,85,48,.88);
    box-shadow:
      0 0 12px rgba(224,85,48,.36),
      0 0 24px rgba(224,85,48,.12),
      0 0 28px rgba(88,205,210,.060);
  }
  38% {
    opacity: .48;
    transform: translateX(-50%) scale(.86);
    background: rgba(7,5,3,.82);
  }
}

@keyframes signalStructureOutput {
  0%, 76%, 100% { opacity: .32; }
  84%, 94% { opacity: .90; }
}

@media(max-width:1180px) {
  .signal-structure-section {
    grid-template-columns: 1fr;
  }

  .signal-structure-instrument {
    min-height: 28rem;
  }

  .instrument-gates {
    padding-left: 18%;
  }

  .instrument-field {
    width: 16%;
  }

  .instrument-line {
    left: 15%;
  }
}

@media(max-width:820px) {
  .instrument-gates {
    grid-template-columns: 1fr;
    padding: 5.5rem 1.5rem 4.5rem;
  }

  .instrument-gate {
    min-height: 13rem;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.055);
  }

  .instrument-line,
  .instrument-field {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .signal-structure-section::before,
  .signal-structure-instrument,
  .signal-structure-instrument::after,
  .noise-dot,
  .line-signal,
  .instrument-gate,
  .instrument-gate::before,
  .instrument-output {
    animation: none !important;
  }
}

/* SERVICES HOW IT STARTS FIX: align left copy and move signal motion out of text */
.signal-structure-section {
  width: min(100% - 6rem, 118rem);
  margin-left: auto;
  margin-right: auto;
}

.signal-structure-section::before {
  left: 0;
  right: 0;
}

.signal-structure-copy {
  min-width: 0;
}

.signal-structure-copy h2 {
  font-family: 'Cormorant', serif;
  font-size: clamp(4.2rem, 6.4vw, 7.2rem);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -.042em;
  max-width: 39rem;
  color: var(--cream);
}

.signal-structure-copy h2 em {
  color: var(--red-hi);
  font-style: italic;
  text-shadow:
    0 0 12px rgba(224,85,48,.12),
    0 0 26px rgba(224,85,48,.050);
}

/* Move the travelling signal to a top rail so it does not cut through text. */
.instrument-line {
  left: 8%;
  right: 8%;
  top: 4.2rem;
  height: 1px;
  z-index: 3;
}

.line-core {
  background:
    linear-gradient(90deg, transparent, rgba(224,85,48,.22), rgba(88,205,210,.13), rgba(224,85,48,.18), transparent);
  opacity: .54;
}

.line-signal {
  top: 0;
  width: .42rem;
  height: .42rem;
  transform: translateY(-50%);
  animation: signalStructureTravelTopRail 9s cubic-bezier(.22,1,.36,1) infinite;
}

/* Keep the noise field quiet and lower-left, away from the gate copy. */
.instrument-field {
  left: 3rem;
  top: 7.5rem;
  width: 16%;
  height: 14rem;
  opacity: .62;
}

/* Remove the static mid-text gate orbs. Replace them with small top ticks. */
.instrument-gate::before {
  left: 2.2rem;
  top: 2.2rem;
  width: .40rem;
  height: .40rem;
  transform: none;
  background: rgba(7,5,3,.82);
  animation: signalGateNodeTopTick 9s ease-in-out infinite;
}

/* Give each gate enough inner spacing now that the node lives at the top. */
.instrument-gate {
  justify-content: center;
  padding-top: 3.4rem;
}

.instrument-gate span {
  margin-bottom: 1.2rem;
}

/* Keep gate copy clear of moving elements. */
.instrument-gate h3,
.instrument-gate p,
.instrument-gate span {
  position: relative;
  z-index: 4;
}

@keyframes signalStructureTravelTopRail {
  0%, 8% {
    left: 0;
    opacity: 0;
  }

  16% {
    opacity: 1;
  }

  78% {
    left: 100%;
    opacity: 1;
  }

  88%, 100% {
    left: 100%;
    opacity: 0;
  }
}

@keyframes signalGateNodeTopTick {
  0%, 100% {
    opacity: .42;
    transform: scale(.82);
    background: rgba(7,5,3,.82);
    border-color: rgba(224,85,48,.42);
    box-shadow:
      0 0 8px rgba(224,85,48,.12),
      inset 0 0 0 1px rgba(255,255,255,.012);
  }

  14%, 28% {
    opacity: 1;
    transform: scale(1.10);
    background: rgba(224,85,48,.88);
    border-color: rgba(224,85,48,.86);
    box-shadow:
      0 0 12px rgba(224,85,48,.36),
      0 0 24px rgba(224,85,48,.12),
      0 0 28px rgba(88,205,210,.060);
  }

  38% {
    opacity: .42;
    transform: scale(.82);
    background: rgba(7,5,3,.82);
    border-color: rgba(224,85,48,.42);
    box-shadow:
      0 0 8px rgba(224,85,48,.12),
      inset 0 0 0 1px rgba(255,255,255,.012);
  }
}

@media(max-width:1180px) {
  .signal-structure-section {
    width: min(100% - 3rem, 118rem);
  }

  .signal-structure-copy h2 {
    max-width: 48rem;
  }

  .instrument-line {
    left: 6%;
    right: 6%;
  }
}

@media(max-width:820px) {
  .signal-structure-section {
    width: min(100% - 2rem, 118rem);
  }

  .signal-structure-copy h2 {
    font-size: clamp(3.5rem, 14vw, 5.2rem);
  }

  .instrument-line {
    display: block;
    top: 4.1rem;
    left: 1.5rem;
    right: 1.5rem;
  }

  .instrument-gate::before {
    left: 1.5rem;
    top: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .line-signal,
  .instrument-gate::before {
    animation: none !important;
  }
}

/* SERVICES HOW IT STARTS ORB CYCLE REFINEMENT */
.line-signal {
  animation: signalStructureGateCycle 10.5s cubic-bezier(.22,1,.36,1) infinite !important;
}

.gate-listen,
.gate-listen::before {
  animation-delay: 0s !important;
}

.gate-trace,
.gate-trace::before {
  animation-delay: 3.1s !important;
}

.gate-design,
.gate-design::before {
  animation-delay: 6.2s !important;
}

/* The top orb now travels like a reading head:
   pause over Listen, move, pause over Trace, move, pause over Design,
   then hand off to the final readout. */
@keyframes signalStructureGateCycle {
  0%, 6% {
    left: 0%;
    opacity: 0;
    transform: translateY(-50%) scale(.72);
  }

  10% {
    left: 19%;
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }

  18%, 26% {
    left: 19%;
    opacity: 1;
    transform: translateY(-50%) scale(1.14);
    box-shadow:
      0 0 13px rgba(224,85,48,.42),
      0 0 26px rgba(224,85,48,.16),
      0 0 32px rgba(88,205,210,.070);
  }

  35% {
    left: 50%;
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }

  43%, 51% {
    left: 50%;
    opacity: 1;
    transform: translateY(-50%) scale(1.14);
    box-shadow:
      0 0 13px rgba(224,85,48,.42),
      0 0 26px rgba(224,85,48,.16),
      0 0 32px rgba(88,205,210,.070);
  }

  60% {
    left: 81%;
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }

  68%, 76% {
    left: 81%;
    opacity: 1;
    transform: translateY(-50%) scale(1.14);
    box-shadow:
      0 0 13px rgba(224,85,48,.42),
      0 0 26px rgba(224,85,48,.16),
      0 0 32px rgba(88,205,210,.070);
  }

  84% {
    left: 100%;
    opacity: .9;
    transform: translateY(-50%) scale(.90);
  }

  88%, 100% {
    left: 100%;
    opacity: 0;
    transform: translateY(-50%) scale(.72);
  }
}

/* Make the final readout feel like a lock-in event after Design. */
.instrument-output {
  animation: signalStructureOutputLock 10.5s ease-in-out infinite !important;
}

.instrument-output span {
  animation: signalStructureOutputDotLock 10.5s ease-in-out infinite;
}

@keyframes signalStructureOutputLock {
  0%, 78%, 100% {
    opacity: .30;
    color: rgba(154,142,130,.58);
    text-shadow: none;
    transform: translateY(0);
  }

  84%, 94% {
    opacity: 1;
    color: rgba(240,235,227,.78);
    text-shadow:
      0 0 10px rgba(224,85,48,.20),
      0 0 18px rgba(224,85,48,.08),
      0 0 24px rgba(88,205,210,.040);
    transform: translateY(-1px);
  }
}

@keyframes signalStructureOutputDotLock {
  0%, 78%, 100% {
    opacity: .48;
    transform: scale(.82);
    background: rgba(224,85,48,.62);
    box-shadow:
      0 0 8px rgba(224,85,48,.18),
      0 0 14px rgba(224,85,48,.06);
  }

  84%, 94% {
    opacity: 1;
    transform: scale(1.18);
    background: rgba(224,85,48,.96);
    box-shadow:
      0 0 12px rgba(224,85,48,.42),
      0 0 24px rgba(224,85,48,.16),
      0 0 30px rgba(88,205,210,.065);
  }
}

/* Gate timing now matches the top orb pauses. */
@keyframes signalGateNodeTopTick {
  0%, 100% {
    opacity: .42;
    transform: scale(.82);
    background: rgba(7,5,3,.82);
    border-color: rgba(224,85,48,.42);
    box-shadow:
      0 0 8px rgba(224,85,48,.12),
      inset 0 0 0 1px rgba(255,255,255,.012);
  }

  12%, 27% {
    opacity: 1;
    transform: scale(1.10);
    background: rgba(224,85,48,.88);
    border-color: rgba(224,85,48,.86);
    box-shadow:
      0 0 12px rgba(224,85,48,.36),
      0 0 24px rgba(224,85,48,.12),
      0 0 28px rgba(88,205,210,.060);
  }

  38% {
    opacity: .42;
    transform: scale(.82);
    background: rgba(7,5,3,.82);
    border-color: rgba(224,85,48,.42);
    box-shadow:
      0 0 8px rgba(224,85,48,.12),
      inset 0 0 0 1px rgba(255,255,255,.012);
  }
}

@media (prefers-reduced-motion: reduce) {
  .line-signal,
  .instrument-output,
  .instrument-output span {
    animation: none !important;
  }
}

/* SERVICES BOTTOM CTA GLOW FIX */
.services-bottom-cta-glow {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.services-bottom-cta-glow::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 46%;
  width: min(72rem, 88vw);
  height: min(34rem, 46vw);
  transform: translate(-50%, -50%) scale(.88);
  border-radius: 50%;
  background:
    radial-gradient(ellipse 48% 45% at 50% 50%, rgba(224,85,48,.18), transparent 66%),
    radial-gradient(ellipse 78% 58% at 50% 50%, rgba(88,205,210,.070), transparent 76%);
  filter: blur(26px);
  opacity: .62;
  pointer-events: none;
  z-index: 0;
  animation: servicesBottomCtaGlowPulse 6.2s ease-in-out infinite;
}

.services-bottom-cta-glow::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(38rem, 70vw);
  height: min(16rem, 28vw);
  transform: translate(-50%, -50%) scale(.92);
  border-radius: 50%;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(224,85,48,.105), transparent 70%);
  filter: blur(18px);
  opacity: .58;
  pointer-events: none;
  z-index: 0;
  animation: servicesBottomCtaInnerPulse 4.8s ease-in-out infinite;
}

.services-bottom-cta-glow > * {
  position: relative;
  z-index: 2;
}

.services-bottom-cta-glow .btn-primary,
.services-bottom-cta-glow a[href*="calendly"],
.services-bottom-cta-glow a[href*="contact"] {
  position: relative;
  box-shadow:
    0 0 22px rgba(224,85,48,.18),
    0 0 50px rgba(224,85,48,.075);
  animation: servicesBottomCtaButtonPulse 5.2s ease-in-out infinite;
}

.services-bottom-cta-glow .btn-ghost,
.services-bottom-cta-glow .link-arrow,
.services-bottom-cta-glow a:not(.btn-primary):not(.nav-cta):not(.menu-cta) {
  position: relative;
  display: inline-flex;
  align-items: center;
  isolation: isolate;
}

.services-bottom-cta-glow .btn-ghost::before,
.services-bottom-cta-glow .link-arrow::before,
.services-bottom-cta-glow a:not(.btn-primary):not(.nav-cta):not(.menu-cta)::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + 2.8rem);
  height: calc(100% + 1.3rem);
  min-width: 8rem;
  min-height: 2rem;
  transform: translate(-50%, -50%) scale(.92);
  border-radius: 999px;
  background:
    radial-gradient(ellipse 72% 72% at 50% 50%, rgba(224,85,48,.15), transparent 70%),
    radial-gradient(ellipse 95% 75% at 50% 50%, rgba(88,205,210,.050), transparent 78%);
  filter: blur(10px);
  opacity: .45;
  pointer-events: none;
  z-index: -1;
  animation: servicesBottomCtaSecondaryPulse 5.8s ease-in-out infinite;
}

@keyframes servicesBottomCtaGlowPulse {
  0%, 100% {
    opacity: .42;
    transform: translate(-50%, -50%) scale(.88);
  }

  50% {
    opacity: .78;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes servicesBottomCtaInnerPulse {
  0%, 100% {
    opacity: .34;
    transform: translate(-50%, -50%) scale(.92);
  }

  50% {
    opacity: .66;
    transform: translate(-50%, -50%) scale(1.06);
  }
}

@keyframes servicesBottomCtaButtonPulse {
  0%, 100% {
    box-shadow:
      0 0 18px rgba(224,85,48,.14),
      0 0 38px rgba(224,85,48,.052);
  }

  50% {
    box-shadow:
      0 0 28px rgba(224,85,48,.32),
      0 0 62px rgba(224,85,48,.115);
  }
}

@keyframes servicesBottomCtaSecondaryPulse {
  0%, 100% {
    opacity: .32;
    transform: translate(-50%, -50%) scale(.92);
  }

  50% {
    opacity: .64;
    transform: translate(-50%, -50%) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-bottom-cta-glow::before,
  .services-bottom-cta-glow::after,
  .services-bottom-cta-glow .btn-primary,
  .services-bottom-cta-glow a[href*="calendly"],
  .services-bottom-cta-glow a[href*="contact"],
  .services-bottom-cta-glow .btn-ghost::before,
  .services-bottom-cta-glow .link-arrow::before,
  .services-bottom-cta-glow a:not(.btn-primary):not(.nav-cta):not(.menu-cta)::before {
    animation: none !important;
  }
}
