/* ==========================================================================
   Stradiax — landing design system (lp-*). Loaded only by service landings.
   Split heros, alternating light/dark sections, signature strips, panels.
   Uses the site tokens from style.css; header/footer untouched.
   ========================================================================== */

.lp-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}

/* ------------------------------------------------------------- type ----- */
.lp-kicker{
  font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);
  letter-spacing:.14em;text-transform:uppercase;
  background:linear-gradient(96deg,var(--accent),var(--accent-light) 60%,#7dd8ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  margin:0 0 var(--s-5);
}
.lp-h1{
  font-family:var(--font-display);font-weight:600;letter-spacing:-0.02em;
  font-size:clamp(2.4rem,1.4rem + 3.6vw,4.3rem);line-height:1.04;margin:0;
}
.lp-h2{
  font-family:var(--font-display);font-weight:600;letter-spacing:-0.015em;
  font-size:clamp(1.85rem,1.2rem + 2.4vw,3rem);line-height:1.1;margin:0;
}
.lp-accent{
  background:linear-gradient(96deg,var(--accent),var(--accent-light) 55%,#8fdcff);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
.lp-rule{width:72px;height:3px;border:0;margin:var(--s-6) 0;
  background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:2px}
.lp-lead{font-size:clamp(1.1rem,1rem + .45vw,1.3rem);line-height:1.65;color:var(--text-secondary);margin:0}
.sec-light .lp-lead{color:inherit;opacity:.85}
.lp-mono{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);
}
.lp-mono b{color:var(--accent-light);font-weight:600}
.sec-light .lp-mono{color:#5b6470}
.sec-light .lp-mono b{color:#0a5f96}

/* ------------------------------------------------------------- hero ----- */
.lp-hero{position:relative;padding:calc(var(--s-24) + 3.5rem) 0 var(--s-16)}
.lp-hero-in{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.lp-board{margin-bottom:var(--s-10)}
.lp-meta{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);padding:0;margin:var(--s-8) 0 0}
.lp-meta li{font-size:var(--text-sm);color:var(--text-muted);display:flex;align-items:center;gap:.55rem}
.lp-meta li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow-strong)}
.lp-ctas{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-top:var(--s-8)}

/* Hero panel: the mandate board */
.lp-board{position:relative}
.lp-panel{
  background:linear-gradient(180deg,var(--bg-card),var(--bg-subtle));
  border:1px solid var(--border);border-radius:var(--r-xl);
  padding:var(--s-6) var(--s-6) var(--s-8);
  box-shadow:0 30px 80px -40px rgba(0,0,0,.8),0 0 60px -30px var(--accent-glow-strong);
}
.lp-panel-head{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;
  padding-bottom:var(--s-4);border-bottom:1px solid var(--border);margin-bottom:var(--s-5)}
.lp-obj{margin:0 0 var(--s-5)}
.lp-obj:last-child{margin-bottom:0}
.lp-obj-top{display:flex;justify-content:space-between;gap:var(--s-4);margin-bottom:.5rem}
.lp-obj-top span{font-size:var(--text-sm);color:var(--text-secondary)}
.lp-obj-top .lp-mono{letter-spacing:.08em}
.lp-bar{height:6px;border-radius:4px;background:var(--surface);overflow:hidden}
.lp-bar i{display:block;height:100%;border-radius:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent-light))}
.lp-panel-foot{margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid var(--border);
  font-size:var(--text-xs);color:var(--text-muted);text-align:left;padding-left:0}
.lp-float{
  position:relative;margin:var(--s-5) 0 0 -5%;max-width:340px;
  background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--r-lg);
  padding:var(--s-4) var(--s-5);box-shadow:0 24px 60px -24px rgba(0,0,0,.85);
  font-size:var(--text-xs);color:var(--text-muted);line-height:1.5;
}
.lp-float strong{display:block;color:var(--text);font-family:var(--font-display);
  font-size:var(--text-sm);margin-bottom:.25rem}

/* Signature strip: how a fractional starts */
.lp-sig{border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding-block:var(--s-6) var(--s-8);margin-top:var(--s-12)}
.lp-sig-head{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-8)}
.lp-sig-live{display:inline-flex;align-items:center;gap:.55rem}
.lp-sig-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 10px var(--accent-glow-strong);animation:lp-pulse 2.4s ease-in-out infinite}
@keyframes lp-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.lp-line{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6);
  padding:0;margin:0;position:relative}
.lp-line::before{content:"";position:absolute;left:8px;right:8px;top:7px;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent-light),var(--border));opacity:.5}
.lp-line li{position:relative;padding-top:var(--s-6)}
.lp-line li::before{content:"";position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;
  background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 12px var(--accent-glow-strong)}
.lp-line .lp-mono{display:block;margin-bottom:.35rem}
.lp-line p{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}

/* ------------------------------------------------------- sections ------- */
.lp-sec{padding:var(--s-24) 0}
.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.lp-split.rev>.lp-copy{order:2}
.lp-split.rev>.lp-side{order:1}
.lp-copy>p{color:var(--text-secondary);line-height:1.7;margin:var(--s-5) 0 0}
.sec-light .lp-copy>p{color:inherit;opacity:.85}

/* Comparison stack (fractional vs mandate vs interim) */
.lp-stack{display:grid;gap:var(--s-4)}
.lp-card{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:var(--s-5) var(--s-6);
}
.sec-light .lp-card{background:#ffffff;border-color:rgba(9,9,11,.1);box-shadow:0 14px 40px -28px rgba(9,30,50,.35)}
.lp-card h3{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 .4rem;display:flex;align-items:center;gap:.6rem}
.lp-card h3 i{color:var(--accent);font-size:.9em}
.lp-card p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--text-muted)}
.sec-light .lp-card p{color:#4b5563}
.lp-card.hot{border-color:rgba(41,168,223,.55);box-shadow:0 0 0 1px rgba(41,168,223,.25),0 18px 50px -30px var(--accent-glow-strong)}
.lp-card.hot h3{color:var(--accent-light)}
.sec-light .lp-card.hot h3{color:#0a5f96}

/* Role panel: mono readout + chips */
.lp-role{background:linear-gradient(180deg,var(--bg-card),var(--bg-subtle));
  border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-6);
  box-shadow:0 26px 70px -40px rgba(0,0,0,.8)}
.lp-role-head{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);
  padding-bottom:var(--s-4);border-bottom:1px solid var(--border);margin-bottom:var(--s-5)}
.lp-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;list-style:none}
.lp-chips li{
  font-family:var(--font-display);font-size:var(--text-xs);font-weight:500;
  color:var(--text-secondary);background:var(--surface);
  border:1px solid var(--border);border-radius:var(--r-full);padding:.45rem .9rem}
.lp-chips li.on{color:var(--accent-light);border-color:rgba(41,168,223,.45);background:var(--accent-glow)}
.lp-rolegrid{display:grid;gap:var(--s-16);margin-top:var(--s-16)}

/* Outcome grid */
.lp-out{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);margin-top:var(--s-12)}
.lp-out article{border-top:2px solid var(--accent);padding-top:var(--s-5)}
.lp-out h3{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 .5rem}
.lp-out p{margin:0;color:var(--text-muted);line-height:1.65}
.sec-light .lp-out p{color:#4b5563}

/* Stats band */
.lp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-8);margin:var(--s-12) 0}
.lp-stats .num{font-family:var(--font-display);font-weight:600;font-size:clamp(3rem,2.2rem + 2.6vw,4.6rem);
  letter-spacing:-.02em;line-height:1;display:block;margin-bottom:.5rem;color:var(--accent-light)}
.sec-light .lp-stats .num{color:#0a5f96}
.lp-stats .label{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}
.sec-light .lp-stats .label{color:#4b5563}

/* Cards trio */
.lp-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin-top:var(--s-10)}

/* Head block */
.lp-head{max-width:60ch}
.lp-head.center{margin-inline:auto;text-align:center}
.lp-head>*+*{margin-top:var(--s-5)}

/* ---------------------------------------------------- responsive -------- */
@media (max-width: 1024px){
  .lp-hero-in,.lp-split{grid-template-columns:1fr}
  .lp-split.rev>.lp-copy{order:1}
  .lp-split.rev>.lp-side{order:2}
  .lp-float{margin-left:0;max-width:none}
  .lp-line{grid-template-columns:1fr 1fr}
  .lp-line::before{display:none}
  .lp-stats{grid-template-columns:repeat(2,1fr)}
  .lp-3{grid-template-columns:1fr}
  .lp-hero{padding-top:calc(var(--s-16) + 4.5rem)}
}
@media (max-width: 600px){
  .lp-out{grid-template-columns:1fr}
  .lp-line{grid-template-columns:1fr}
  .lp-stats{grid-template-columns:1fr 1fr;gap:var(--s-6)}
}
@media (prefers-reduced-motion: reduce){
  .lp-sig-dot{animation:none}
}

/* --------------------------------------------- lp additions (IA / SO) --- */
.lp-5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-4);margin-top:var(--s-10)}
.lp-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6)}
.lp-line.noline::before{display:none}
.lp-shot{background:linear-gradient(180deg,var(--bg-card),var(--bg-subtle));
  border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-4);
  box-shadow:0 30px 80px -40px rgba(0,0,0,.8),0 0 60px -30px var(--accent-glow-strong)}
.lp-shot img{width:100%;height:auto;display:block;border-radius:var(--r-lg);border:1px solid var(--border)}
.lp-shot .lp-panel-head{margin-bottom:var(--s-4)}
.lp-check{list-style:none;margin:var(--s-6) 0 0;padding:0;display:grid;gap:var(--s-4)}
.lp-check li{display:flex;gap:.7rem;align-items:flex-start;color:var(--text-secondary);line-height:1.6}
.lp-check li::before{content:"\2713";flex:none;color:var(--accent-light);font-weight:700;margin-top:.1rem}
.lp-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);
  letter-spacing:.14em;color:var(--accent-light);display:block;margin-bottom:.5rem}
.sec-light .lp-num{color:#0a5f96}
@media (max-width: 1024px){ .lp-5{grid-template-columns:repeat(2,1fr)} .lp-2{grid-template-columns:1fr} }
@media (max-width: 600px){ .lp-5{grid-template-columns:1fr} }
