:root{
    --bg: #0b0f15;
    --bg-panel: #0e141c;
    --bg-panel-2: #161e29;
    --text: #e8eef4;
    --text-dim: #8b949e;
    --text-faint: #54657a;
    --accent-cyan: #1beeee;
    --accent-cyan-dim: #0e8585;
    --accent-amber: #ffb547;
    --accent-amber-dim: #8a6423;
    --accent-red: #ff5468;
    --accent-red-dark: #FF0000;
    --accent-violet: #d946ef;
    --border: #1c2129;
    --border-light: #2c3c46;

    --display: 'Inter', sans-serif;
    --body: 'Inter', sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }

  *{ box-sizing: border-box; margin:0; padding:0; }
  html{ scroll-behavior: smooth; }
  body{
    background: var(--bg);
    color: var(--text);
    font-family: var(--body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }
  img,svg{ display:block; max-width:100%; }
  a{ color:inherit; text-decoration:none; }
  ul{ list-style:none; }
  .wrap{ max-width: 1180px; margin:0 auto; padding: 0 32px; }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
  }

  /* ---------- Header (shared) ---------- */
  header{
    position: fixed; top:0; left:0; right:0; z-index: 100;
    background:rgba(8,12,17,.88);
    backdrop-filter:blur(16px) saturate(1.15);
    border-bottom:1px solid rgba(255,255,255,.07);
    box-shadow:0 8px 30px rgba(0,0,0,.14);
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    min-height:84px; padding:14px 32px;
    max-width:1240px; margin:0 auto;
  }
  .nav-group{ display:flex; align-items:center; justify-content:flex-end; margin-left:auto; }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family: var(--display); font-weight:600; font-size: 1.25rem; letter-spacing: 0.01em;
  }
  .logo-img{ height:46px; width:auto; display:block; }
  .logo-mark{ width:22px; height:22px; flex-shrink:0; }
  .logo-mark circle{ fill: var(--accent-amber); }
  .logo-mark line{ stroke: var(--accent-amber); stroke-width:1.3; opacity:0.7; }

  nav.primary-nav{ display:flex; align-items:center; }
  nav.primary-nav > ul{ display:flex; align-items:center; justify-content:flex-end; gap:5px; }
  .nav-link{
    position:relative; display:flex; align-items:center; min-height:40px;
    font-family:var(--body); font-size:.84rem; font-weight:500; letter-spacing:.005em;
    color:var(--text-dim); padding:10px 12px; border-radius:7px;
    transition:color .2s ease,background .2s ease;
  }
  .nav-link:hover{ color:var(--text); background:rgba(255,255,255,.035); }
  .nav-link.current{ color:var(--text); background:rgba(255,255,255,.035); }
  .nav-link.current::after{ content:''; position:absolute; left:12px; right:12px; bottom:3px; height:1px; background:var(--accent-amber); box-shadow:0 0 8px rgba(255,181,71,.45); }

  .has-dropdown{ position:relative; }
  .dropdown-trigger{
    display:flex; align-items:center; gap:6px;
    background:none; border:none; cursor:pointer;
    min-height:40px; font-family:var(--body); font-size:.84rem; font-weight:500; letter-spacing:.005em; color:var(--text-dim);
    padding:10px 12px; border-radius:7px;
    transition: color .15s ease, background .15s ease;
  }
  .dropdown-trigger:hover, .dropdown-trigger[aria-expanded="true"]{ color: var(--text); background: var(--bg-panel-2); }
  .dropdown-trigger svg{ width:11px; height:11px; transition: transform .18s ease; }
  .dropdown-trigger[aria-expanded="true"] svg{ transform: rotate(180deg); }

  .dropdown-panel{
    position:absolute; top: calc(100% + 10px); left:50%; transform: translateX(-50%) translateY(-6px);
    width: 270px;
    background: var(--bg-panel);
    border: 1px solid var(--border-light);
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    opacity:0; visibility:hidden;
    transition: opacity .16s ease, transform .16s ease, visibility .16s;
    display:flex; flex-direction:column; gap:0.5rem;
  }
  .dropdown-panel.open{ opacity:1; visibility:visible; transform: translateX(-50%) translateY(0); }
  .dropdown-item{
    display:flex; align-items:center; padding: 10px 14px; border-radius:6px;
    border-bottom: 1px solid rgba(232,238,244,0.18);
    transition: background .15s ease;
  }
  .dropdown-item:last-child{ border-bottom:none; }
  .dropdown-item:hover{ background: var(--bg-panel-2); }
  .dropdown-item .svc-name{ font-size:0.84rem; font-weight:400; letter-spacing:0.01em; color: var(--text-dim); }
  .dropdown-item:hover .svc-name{ color: var(--text); }

  .cta-button{
    font-family: var(--body); font-size:0.82rem; font-weight:500;
    background: var(--accent-amber); color: #14100a;
    padding: 10px 18px; border-radius: 6px;
    transition: background .15s ease, transform .15s ease;
    white-space:nowrap;
  }
  .cta-button:hover{ background:#e3b661; transform: translateY(-1px); }

  .mobile-toggle{ display:none; background:none; border:none; color:var(--text); cursor:pointer; z-index:110; position:relative; }

  .mobile-nav{
    display:none; flex-direction:column; gap:2px;
    position:fixed; top:87px; left:0; right:0;
    height:calc(100vh - 87px); height:calc(100dvh - 87px);
    background: var(--bg); border-top:1px solid var(--border);
    padding: 18px 24px 32px; overflow-y:auto; z-index:99;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-nav.open{ display:flex; }
  .mobile-nav-link{
    padding:15px 6px; font-size:1.05rem; font-weight:500; color: var(--text);
    border-bottom:1px solid var(--border);
  }
  .mobile-nav-cta{
    margin-top:18px; text-align:center; font-weight:600; font-size:0.95rem;
    background: var(--accent-amber); color:#14100a; padding:15px; border-radius:8px;
  }

  .mobile-accordion-trigger{
    display:flex; align-items:center; justify-content:space-between; width:100%;
    background:none; border:none; cursor:pointer; text-align:left;
    font-family: var(--body);
  }
  .mobile-accordion-arrow{ width:11px; height:11px; flex-shrink:0; transition: transform .2s ease; }
  .mobile-accordion-trigger[aria-expanded="true"] .mobile-accordion-arrow{ transform: rotate(180deg); }
  .mobile-accordion-panel{
    max-height:0; overflow:hidden; transition: max-height .3s ease;
    display:flex; flex-direction:column;
  }
  .mobile-accordion-panel.open{ max-height:400px; }
  .mobile-service-item{
    padding:13px 6px 13px 16px; font-size:0.92rem; color: var(--text-dim);
    border-bottom:1px solid var(--border);
  }

  /* ---------- Page header ---------- */
  .page-hero{
    padding: 168px 0 70px;
    background:
      radial-gradient(ellipse 900px 500px at 78% 10%, rgba(74,155,148,0.08), transparent 60%),
      linear-gradient(180deg, #080b10 0%, #0a0e13 100%);
    border-bottom: 1px solid var(--border);
  }
  .eyebrow{
    font-family: var(--mono); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
    color: var(--accent-amber); margin-bottom: 22px; display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{ content:''; width:22px; height:1px; background: var(--accent-amber-dim); }
  h1{
    font-family: var(--display); font-weight:600; font-size: clamp(2.1rem, 3.4vw, 2.6rem);
    line-height: 1.12; letter-spacing:-0.01em; margin-bottom: 18px;
  }
  h1 em{ font-style:normal; font-weight:700; color: var(--accent-cyan); }
  .page-hero-desc{ font-size: 1.06rem; color: var(--text-dim); max-width: 620px; line-height:1.6; }

  /* ---------- Services catalogue ---------- */
  .page-hero{ position:relative; overflow:hidden; padding-bottom:92px; }
  .page-hero::after{
    content:''; position:absolute; inset:auto 0 0; height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,181,71,.46),transparent);
  }
  h1{ font-size:clamp(3rem,5.4vw,5.2rem); font-weight:520; line-height:.98; letter-spacing:-.052em; max-width:850px; }
  .page-hero-desc{ font-size:1rem; line-height:1.8; max-width:700px; }
  .hero-actions{ display:flex; align-items:center; gap:14px; margin-top:32px; }
  .button-primary,.button-secondary{
    display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 20px;
    border-radius:7px; font-size:.84rem; font-weight:600; transition:.22s ease;
  }
  .button-primary{
    color:#171006; border:1px solid rgba(255,214,146,.76);
    background:linear-gradient(135deg,#ffc668,var(--accent-amber) 58%,#d99128);
    box-shadow:0 9px 28px rgba(255,181,71,.16),inset 0 1px rgba(255,255,255,.3);
  }
  .button-primary:hover{ transform:translateY(-1px); box-shadow:0 12px 34px rgba(255,181,71,.24),inset 0 1px rgba(255,255,255,.36); }
  .button-secondary{ color:var(--text-dim); border:1px solid var(--border-light); }
  .button-secondary:hover{ color:var(--text); border-color:#465866; background:rgba(255,255,255,.025); }

  .services-section{ padding:112px 0 120px; position:relative; }
  .services-section::before{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.15;
    background-image:radial-gradient(rgba(27,238,238,.2) .65px,transparent .65px);
    background-size:32px 32px;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
  }
  .section-heading{ position:relative; max-width:760px; margin-bottom:48px; }
  .section-kicker{ font-family:var(--mono); color:var(--accent-amber); font-size:.69rem; letter-spacing:.18em; text-transform:uppercase; margin-bottom:16px; }
  .section-heading h2{ font-family:var(--display); font-size:clamp(2.25rem,4.5vw,4.4rem); font-weight:520; line-height:1; letter-spacing:-.05em; margin-bottom:20px; }
  .section-heading p{ color:var(--text-dim); font-size:1rem; line-height:1.8; max-width:650px; }

  .service-list{ position:relative; display:flex; flex-direction:column; gap:10px; }
  .service-card{
    border:1px solid rgba(255,255,255,.08); border-radius:14px;
    background:linear-gradient(145deg,rgba(16,23,32,.9),rgba(9,14,20,.95));
    box-shadow:0 18px 48px rgba(0,0,0,.15); overflow:hidden;
    transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
  }
  .service-card:hover{ border-color:rgba(255,181,71,.26); box-shadow:0 22px 58px rgba(0,0,0,.24); transform:translateY(-1px); }
  .service-card.open{ border-color:rgba(255,181,71,.42); box-shadow:0 24px 64px rgba(0,0,0,.28),inset 3px 0 var(--accent-amber); }
  .service-trigger{
    width:100%; display:grid; grid-template-columns:54px minmax(220px,1.05fr) minmax(260px,1.45fr) auto;
    gap:24px; align-items:center; padding:25px 28px; border:0; background:none; color:inherit;
    font:inherit; text-align:left; cursor:pointer;
  }
  .service-index{ font-family:var(--mono); color:var(--accent-amber); font-size:.7rem; letter-spacing:.12em; }
  .service-title{ font-family:var(--display); font-size:1.12rem; font-weight:580; letter-spacing:-.015em; }
  .service-summary{ color:var(--text-dim); font-size:.86rem; line-height:1.62; }
  .service-meta{ display:flex; align-items:center; gap:14px; }
  .service-audience{ font-family:var(--mono); color:var(--text-faint); font-size:.57rem; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
  .service-chevron{ width:30px; height:30px; border:1px solid var(--border-light); border-radius:50%; display:grid; place-items:center; color:var(--text-dim); transition:.3s ease; }
  .service-chevron svg{ width:11px; height:11px; transition:transform .3s cubic-bezier(.22,1,.36,1); }
  .service-card.open .service-chevron{ color:#171006; border-color:var(--accent-amber); background:var(--accent-amber); }
  .service-card.open .service-chevron svg{ transform:rotate(45deg); }
  .service-panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1); }
  .service-card.open .service-panel{ grid-template-rows:1fr; }
  .service-panel-inner{ overflow:hidden; }
  .service-detail-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:0 28px 30px 106px;
    border-top:1px solid rgba(255,255,255,.06);
  }
  .service-detail{ padding-top:24px; }
  .service-detail h3{ font-family:var(--mono); color:var(--accent-cyan); font-size:.61rem; letter-spacing:.15em; text-transform:uppercase; margin-bottom:12px; }
  .service-detail ul{ display:flex; flex-direction:column; gap:8px; }
  .service-detail li{ position:relative; color:var(--text-dim); font-size:.82rem; line-height:1.55; padding-left:14px; }
  .service-detail li::before{ content:''; position:absolute; left:0; top:.7em; width:4px; height:4px; border-radius:50%; background:var(--accent-amber); opacity:.8; }

  .pathways-section,.deliverables-section,.process-section{ padding:110px 0; border-top:1px solid var(--border); }
  .pathway-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .pathway-card{ position:relative; min-height:330px; padding:38px; border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; background:linear-gradient(145deg,#111923,#0a1017); transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease; }
  .pathway-card::after{ content:''; position:absolute; right:-8%; bottom:-36%; width:56%; aspect-ratio:1; border-radius:18px; background:radial-gradient(circle,rgba(27,238,238,.055),transparent 68%); pointer-events:none; }
  .pathway-card.private::after{ background:radial-gradient(circle,rgba(255,181,71,.055),transparent 68%); }
  .pathway-card:hover{ transform:translateY(-3px); border-color:rgba(27,238,238,.2); box-shadow:0 20px 48px rgba(0,0,0,.24); }
  .pathway-card.private:hover{ border-color:rgba(255,181,71,.21); }
  .pathway-emblem{ position:absolute; z-index:2; top:30px; right:32px; width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(27,238,238,.23); border-radius:10px; background:linear-gradient(145deg,rgba(15,29,38,.94),rgba(7,13,18,.98)); color:rgba(145,226,232,.82); box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 26px rgba(0,0,0,.22),0 0 18px rgba(27,238,238,.035); transition:border-color .3s ease,color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,1,.36,1); }
  .pathway-emblem::before{ content:''; position:absolute; left:8px; right:8px; top:-1px; height:1px; background:linear-gradient(90deg,transparent,rgba(27,238,238,.82),transparent); }
  .pathway-emblem svg{ width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
  .pathway-card.private .pathway-emblem{ border-color:rgba(255,181,71,.25); color:rgba(255,199,111,.86); background:linear-gradient(145deg,rgba(33,25,14,.9),rgba(11,13,15,.98)); box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 26px rgba(0,0,0,.22),0 0 18px rgba(255,181,71,.035); }
  .pathway-card.private .pathway-emblem::before{ background:linear-gradient(90deg,transparent,rgba(255,181,71,.86),transparent); }
  .pathway-card:hover .pathway-emblem{ transform:translateY(-2px); border-color:rgba(27,238,238,.42); color:#b8f2f3; box-shadow:inset 0 1px rgba(255,255,255,.045),0 13px 30px rgba(0,0,0,.26),0 0 22px rgba(27,238,238,.08); }
  .pathway-card.private:hover .pathway-emblem{ border-color:rgba(255,181,71,.44); color:#ffd18a; box-shadow:inset 0 1px rgba(255,255,255,.045),0 13px 30px rgba(0,0,0,.26),0 0 22px rgba(255,181,71,.08); }
  .pathway-number{ font-family:var(--mono); color:var(--accent-amber); font-size:.64rem; letter-spacing:.16em; margin-bottom:70px; }
  .pathway-card h3{ font-family:var(--display); font-size:1.75rem; font-weight:550; letter-spacing:-.035em; margin-bottom:15px; }
  .pathway-card p{ color:var(--text-dim); max-width:450px; font-size:.9rem; line-height:1.72; }
  .pathway-links{ display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
  .pathway-links span{ font-family:var(--mono); color:var(--text-faint); border:1px solid rgba(255,255,255,.08); padding:6px 9px; border-radius:20px; font-size:.53rem; letter-spacing:.08em; text-transform:uppercase; }

.deliverables-section{ position:relative; background:#090d12; }
.deliverables-section>.wrap{position:relative}
.deliverable-intelligence-map{position:relative;margin-top:-18px;container-type:inline-size}
.deliverable-analysis-stage{position:relative;margin:0;isolation:isolate}
.deliverable-analysis-stage>img{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 34px rgba(0,0,0,.3))}
.deliverable-origin-mark{position:absolute;z-index:3;left:2.2%;top:49%;width:clamp(45px,5.1vw,68px);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,181,71,.32);border-radius:50%;background:radial-gradient(circle at 42% 38%,rgba(255,207,124,.96),rgba(205,128,24,.92) 62%,rgba(102,58,10,.9));box-shadow:0 0 0 5px rgba(8,13,18,.72),0 0 24px rgba(255,181,71,.24);transform:translateY(-50%)}
.deliverable-origin-mark::after{content:'';position:absolute;left:100%;top:50%;width:clamp(16px,2.5vw,36px);height:1px;background:linear-gradient(90deg,rgba(255,181,71,.85),rgba(255,181,71,0));box-shadow:0 0 8px rgba(255,181,71,.35)}
.deliverable-origin-mark img{display:block;width:72%;height:72%;object-fit:contain}
.deliverable-display-marks{position:absolute;inset:0;z-index:4;pointer-events:none}
.deliverable-display-marks span{position:absolute;left:var(--mark-x);top:var(--mark-y);width:var(--mark-size);aspect-ratio:1;transform:translate(-50%,-50%);opacity:.9}
.deliverable-display-marks img{display:block;width:100%;height:100%;object-fit:contain;filter:invert(1) grayscale(1) brightness(1.18) contrast(1.15) drop-shadow(0 0 2px rgba(228,235,239,.42))}
.deliverable-analysis-highlights{position:absolute;inset:0;pointer-events:none}
.deliverable-analysis-highlights img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:brightness(1.34) contrast(1.05) saturate(1.08);transition:opacity .3s cubic-bezier(.22,1,.36,1)}
.deliverable-analysis-highlights img:nth-child(1){clip-path:inset(0 71% 0 0)}
.deliverable-analysis-highlights img:nth-child(2){clip-path:inset(0 57% 0 29%)}
.deliverable-analysis-highlights img:nth-child(3){clip-path:inset(0 44% 0 43%)}
.deliverable-analysis-highlights img:nth-child(4){clip-path:inset(0 31% 0 56%)}
.deliverable-analysis-highlights img:nth-child(5){clip-path:inset(0 17% 0 69%)}
.deliverable-analysis-highlights img:nth-child(6){clip-path:inset(0 0 0 83%)}
.deliverable-analysis-highlights img.is-active{opacity:1}
.deliverable-output-map{--connector-overlap:clamp(92px,10.7cqi,132px);position:relative;height:228px;margin-top:0;border-bottom:1px solid rgba(255,181,71,.08)}
.deliverable-output-card{position:absolute;top:0;left:var(--node-x);width:13%;height:190px;padding:19px 14px 17px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:linear-gradient(180deg,rgba(13,19,26,.88),rgba(8,13,18,.95));transform:translateX(-50%);transition:transform .32s cubic-bezier(.22,1,.36,1),border-color .25s ease,background .25s ease,box-shadow .25s ease}
.deliverable-output-card::before{content:'';position:absolute;left:50%;bottom:100%;width:1px;height:var(--connector-overlap);background:linear-gradient(180deg,rgba(255,181,71,.28),rgba(255,181,71,.88) 56%,rgba(255,211,134,1));box-shadow:0 0 5px rgba(255,181,71,.32);transform:translateX(-50%);transition:background .25s ease,box-shadow .25s ease}
.deliverable-output-card::after{content:'';position:absolute;left:50%;bottom:calc(100% + var(--connector-overlap));width:5px;height:5px;border:1px solid rgba(255,218,158,.9);border-radius:50%;background:#ffb547;box-shadow:0 0 8px rgba(255,181,71,.65);transform:translate(-50%,50%);transition:box-shadow .25s ease}
.deliverable-output-card .deliverable-icon{width:29px;height:25px;display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(255,181,71,.28);border-radius:3px;color:var(--accent-amber);font-family:var(--mono);font-size:.55rem;letter-spacing:.08em}
.deliverable-output-card h3{font-family:var(--display);font-size:.86rem;font-weight:570;line-height:1.22;margin-bottom:8px}
.deliverable-output-card p{color:var(--text-dim);font-size:.69rem;line-height:1.55}
.deliverable-output-card:hover,.deliverable-output-card.is-active{transform:translateX(-50%) translateY(-3px);border-color:rgba(255,181,71,.38);background:linear-gradient(180deg,rgba(32,24,13,.84),rgba(8,13,18,.96));box-shadow:0 18px 34px rgba(0,0,0,.24)}
.deliverable-output-card:hover::before,.deliverable-output-card.is-active::before{background:var(--accent-amber);box-shadow:0 0 8px rgba(255,181,71,.4);animation:outputSignal .9s ease-in-out infinite}
.deliverable-output-card:hover::after,.deliverable-output-card.is-active::after{box-shadow:0 0 15px rgba(255,181,71,.85)}
@keyframes outputSignal{0%,100%{opacity:.45}50%{opacity:1}}

  .process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
  .process-step{ position:relative; padding:0 30px 0 0; }
  .process-step:not(:last-child)::after{ content:''; position:absolute; top:16px; left:48px; right:16px; height:1px; background:linear-gradient(90deg,var(--accent-amber-dim),var(--border-light)); }
  .process-marker{ width:34px; height:34px; border:1px solid var(--accent-amber-dim); border-radius:50%; display:grid; place-items:center; background:var(--bg); color:var(--accent-amber); font-family:var(--mono); font-size:.61rem; margin-bottom:25px; position:relative; z-index:1; }
  .process-step h3{ font-family:var(--display); font-size:1rem; font-weight:560; margin-bottom:8px; }
  .process-step p{ color:var(--text-dim); font-size:.8rem; line-height:1.62; max-width:220px; }

  .service-cta{ padding:110px 0; border-top:1px solid var(--border); text-align:center; background:radial-gradient(circle at 50% 120%,rgba(255,181,71,.09),transparent 42%); }
  .service-cta h2{ font-family:var(--display); font-size:clamp(2.25rem,4.8vw,4.5rem); font-weight:520; letter-spacing:-.05em; line-height:1; max-width:780px; margin:0 auto 22px; }
  .service-cta p{ color:var(--text-dim); max-width:590px; margin:0 auto 32px; line-height:1.8; }

  /* ---------- Footer (shared) ---------- */
  footer{ padding: 60px 0 40px; border-top:1px solid var(--border); }
  .footer-top{
    display:flex; justify-content:space-between; align-items:flex-start;
    padding-bottom: 40px; border-bottom: 1px solid var(--border); margin-bottom:28px;
    flex-wrap:wrap; gap:32px;
  }
  .footer-brand p{ color: var(--text-faint); font-size:0.85rem; max-width:280px; margin-top:12px; }
  .footer-cols{ display:flex; gap:64px; }
  .footer-col h5{
    font-family: var(--mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.1em;
    color: var(--text-faint); margin-bottom:14px;
  }
  .footer-col a{
    display:block; color: var(--text-dim); font-size:0.88rem; margin-bottom:10px; transition: color .15s ease;
  }
  .footer-col a:hover{ color: var(--text); }
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
    font-family: var(--mono); font-size:0.74rem; color: var(--text-faint);
  }

  /* ---------- Responsive ---------- */
  @media (max-width: 900px){
    nav.primary-nav, .cta-button{ display:none; }
    .mobile-toggle{ display:block; }
    .service-trigger{ grid-template-columns:42px 1fr auto; gap:16px; }
    .service-summary{ grid-column:2; }
    .service-meta{ grid-column:3; grid-row:1/3; }
    .service-audience{ display:none; }
    .service-detail-grid{ padding-left:86px; }
    .deliverable-output-map{height:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;border-bottom:0}
    .deliverable-output-card{position:relative;left:auto!important;width:auto;height:auto;min-height:170px;transform:none}
    .deliverable-output-card::before,.deliverable-output-card::after{display:none}
    .deliverable-output-card:hover,.deliverable-output-card.is-active{transform:translateY(-2px)}
    .process-grid{ grid-template-columns:1fr 1fr; gap:42px 20px; }
    .process-step:nth-child(2)::after{ display:none; }
    .footer-cols{ gap:36px; }
  }
  @media (max-width: 620px){
    .wrap{ padding:0 20px; }
    .page-hero{ padding:142px 0 72px; }
    h1{ font-size:clamp(2.65rem,13vw,3.65rem); }
    .hero-actions{ align-items:stretch; flex-direction:column; }
    .services-section,.pathways-section,.deliverables-section,.process-section,.service-cta{ padding:78px 0; }
    .service-trigger{ grid-template-columns:32px 1fr auto; padding:21px 18px; gap:12px; }
    .service-title{ font-size:1rem; }
    .service-summary{ font-size:.8rem; }
    .service-detail-grid{ grid-template-columns:1fr; gap:0; padding:0 20px 24px 62px; }
    .pathway-grid,.process-grid{ grid-template-columns:1fr; }
    .deliverable-output-map{grid-template-columns:1fr 1fr}
    .pathway-card{ min-height:310px; padding:30px 26px; }
    .process-grid{ gap:34px; }
    .process-step{ padding-left:52px; }
    .process-step:not(:last-child)::after{ top:34px; bottom:-34px; left:16px; right:auto; width:1px; height:auto; background:linear-gradient(var(--accent-amber-dim),var(--border-light)); }
    .process-marker{ position:absolute; left:0; top:0; }
  }
  /* Scroll-driven section reveals */
  html.scroll-reveal-enabled .scroll-reveal{
    opacity:0;transform:translate3d(0,16px,0);
    transition:
      opacity .5s cubic-bezier(.22,1,.36,1),
      transform .56s cubic-bezier(.22,1,.36,1);
    transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform;
  }
  html.scroll-reveal-enabled .scroll-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0);will-change:auto;}
  @media(prefers-reduced-motion:reduce){
    html.scroll-reveal-enabled .scroll-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  }

/* Generated services artwork */
.page-hero{min-height:650px;display:flex;align-items:center;padding:168px 0 94px;background:linear-gradient(90deg,rgba(5,8,12,.98),rgba(5,8,12,.9) 44%,rgba(5,8,12,.48) 74%,rgba(5,8,12,.56)),linear-gradient(180deg,rgba(5,8,12,.05),rgba(5,8,12,.68)),url('../services-hero-generated.webp') center/cover no-repeat,#070b10}
.page-hero .wrap{position:relative;z-index:1;width:100%}
.service-cta{position:relative;overflow:hidden;isolation:isolate;min-height:340px;display:flex;align-items:center;padding:64px 0;background:linear-gradient(90deg,rgba(5,8,12,.9),rgba(5,8,12,.68) 55%,rgba(5,8,12,.48)),linear-gradient(180deg,rgba(5,8,12,.22),rgba(5,8,12,.7)),url('../services-confidential-generated.webp') center center/100% auto no-repeat,#080c11}
.service-cta::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 48% 92% at 50% 50%,rgba(4,7,10,.68),transparent 80%)}
.service-cta .wrap{position:relative;z-index:1;width:100%}
@media(max-width:620px){.page-hero{min-height:590px;background:linear-gradient(180deg,rgba(5,8,12,.78),rgba(5,8,12,.72)),url('../services-hero-generated.webp') 68% center/cover no-repeat,#070b10}.deliverable-analysis-stage{margin:0 -6px}.deliverable-output-card{min-height:164px}.pathway-emblem{top:24px;right:24px;width:52px;height:52px}.pathway-emblem svg{width:28px;height:28px}.service-cta{min-height:330px;padding:58px 0;background:linear-gradient(180deg,rgba(5,8,12,.68),rgba(5,8,12,.8)),url('../services-confidential-generated.webp') center center/auto 100% no-repeat,#080c11}}

/* Final Services responsive calibration */
@media(min-width:901px) and (max-width:1180px){
  .service-trigger{grid-template-columns:50px 1fr auto;padding-left:24px;padding-right:24px;}
  .service-detail-grid{padding-left:86px;padding-right:24px;}
}
@media(max-width:760px){
  .page-hero{min-height:560px;}
  .pathway-card{min-width:0;}
  .deliverable-intelligence-map{max-width:100%;overflow:hidden;}
  .deliverable-output-card{min-width:0;}
}
@media(max-width:620px){
  .page-hero{min-height:520px;padding-top:124px;padding-bottom:68px;}
  .service-trigger{grid-template-columns:30px minmax(0,1fr) 32px;padding-left:15px;padding-right:15px;gap:10px;}
  .service-meta{min-width:32px;}
  .service-audience{display:none;}
  .service-detail-grid{padding-left:18px;padding-right:18px;}
  .pathway-card{min-height:300px;padding:26px 22px;}
  .pathway-number{margin-bottom:62px;}
  .pathway-card h3{max-width:calc(100% - 60px);font-size:1.52rem;}
  .pathway-links span{line-height:1.35;}
  .deliverable-output-map{grid-template-columns:1fr;}
  .deliverable-output-card{min-height:148px;}
  .service-cta h2{font-size:clamp(2.1rem,11vw,3.25rem);}
}
@media(max-width:380px){
  .pathway-emblem{top:21px;right:20px;width:48px;height:48px;}
  .pathway-emblem svg{width:25px;height:25px;}
  .pathway-card h3{font-size:1.38rem;}
}
@media(hover:none),(pointer:coarse){
  .service-trigger,.service-chevron,.pathway-links span{min-height:44px;}
  .pathway-links span{display:inline-flex;align-items:center;}
  .pathway-card:hover{transform:none;}
}

@media(min-width:1440px){
  .services-list,
  .pathway-grid,
  .deliverable-intelligence-map,
  .process-grid{max-width:1240px;margin-left:auto;margin-right:auto;}
}
@media(min-width:1920px){
  .services-list,
  .pathway-grid,
  .deliverable-intelligence-map,
  .process-grid{max-width:1320px;}
  .service-cta .wrap{max-width:1280px;}
}
