/* ===========================================================================
   Xcelo ATS — public landing page.
   Persuade surface. Navy carries the structure, gold is spent only on the
   moments that should stop the eye. Inherits tokens from app.css.
   =========================================================================== */

.lp{background:var(--surface);color:var(--ink)}
.lp h1,.lp h2,.lp h3{letter-spacing:-.02em}
/* Instrument Serif on the marketing headlines only — the product UI stays
   entirely sans, where scanability matters more than voice. */
.lp-hero h1,.lp-head h2,.lp-split h2,.lp-close h2{
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-weight:500;font-optical-sizing:auto;letter-spacing:-.015em;
}
.lp .eyebrow{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-ink);background:var(--gold-wash);
  border:1px solid #f2e0b6;border-radius:999px;padding:.3rem .7rem;margin-bottom:1rem;
}

/* ---------------------------------------------------------------- nav ---- */
.lp-nav{
  position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:2rem;
  padding:.9rem clamp(1.1rem,5vw,3.5rem);
  background:rgba(255,255,255,.86);backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--line);
}
.lp-brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.1rem;color:var(--ink)}
.lp-brand .mark{
  width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,#2f4470,var(--brand));color:#fff;font-weight:800;font-size:.9rem;
  box-shadow:0 4px 12px -3px rgba(37,53,89,.45);
}
.lp-brand em{font-style:normal;color:var(--gold-ink)}
.lp-nav-links{display:flex;gap:1.6rem;margin-left:auto;font-size:.9rem}
.lp-nav-links a{color:var(--muted);font-weight:550}
.lp-nav-links a:hover{color:var(--brand)}
.btn-nav{padding:.5rem 1.05rem;font-size:.88rem}
@media(max-width:760px){.lp-nav-links{display:none}.lp-nav-links{margin-left:0}.btn-nav{margin-left:auto}}

/* --------------------------------------------------------------- hero ---- */
.lp-hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);
  align-items:center;padding:clamp(3rem,7vw,6rem) clamp(1.1rem,5vw,3.5rem) clamp(3rem,6vw,5rem);
  max-width:1240px;margin:0 auto;
}
.lp-hero h1{font-size:clamp(2.4rem,5.2vw,4rem);line-height:1.06;margin-bottom:1.1rem}
.lp-hero h1 .hl{
  color:var(--brand);
  background:linear-gradient(transparent 62%, rgba(246,177,41,.42) 62%);
}
.lp .lead{font-size:clamp(1rem,1.35vw,1.12rem);color:var(--ink-soft);line-height:1.65;max-width:34rem}
.lp-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.9rem 0 2.4rem}
.btn-lg{padding:.85rem 1.5rem;font-size:.98rem;border-radius:10px}
.btn-outline{background:transparent;color:var(--brand);border-color:#c8d0e0}
.btn-outline:hover{background:var(--brand-wash);color:var(--brand);border-color:var(--brand)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#3c2a04}
.btn-gold:hover{background:#e8a41c;border-color:#e8a41c;color:#3c2a04}

.lp-stats{display:flex;gap:2.2rem;flex-wrap:wrap;margin:0;padding-top:1.6rem;border-top:1px solid var(--line)}
.lp-stats div{max-width:11rem}
.lp-stats dt{font-size:1.5rem;font-weight:800;color:var(--brand);letter-spacing:-.03em}
.lp-stats dd{margin:.2rem 0 0;font-size:.83rem;color:var(--muted);line-height:1.45}

/* photograph with the product card overlapping its lower edge */
.lp-hero-art{position:relative;padding-bottom:3.2rem}
.lp-hero-art::after{
  content:"";position:absolute;inset:-10% -6% 4% -4%;z-index:0;border-radius:50%;
  background:radial-gradient(closest-side, rgba(246,177,41,.20), transparent 72%);
}
.lp-photo{
  position:relative;z-index:1;margin:0;border-radius:16px;overflow:hidden;
  box-shadow:0 26px 60px -24px rgba(21,27,43,.42);
}
.lp-photo img{display:block;width:100%;height:auto}
.lp-shot{
  position:absolute;z-index:2;left:-1.5rem;bottom:0;width:min(19rem,72%);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--surface);box-shadow:0 22px 48px -18px rgba(21,27,43,.4);
}
.shot-body{padding:.95rem 1rem}
.shot-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}
.sk{border:1px solid var(--line);border-radius:9px;padding:.5rem .55rem;background:var(--surface)}
.sk b{display:block;font-size:1.15rem;font-weight:760;letter-spacing:-.03em;color:var(--brand)}
.sk i{font-style:normal;font-size:.6rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em}
.sk.gold b{color:var(--gold-ink)}
.shot-row{
  display:flex;align-items:center;gap:.5rem;padding:.44rem .1rem;font-size:.79rem;
  color:var(--ink-soft);border-bottom:1px solid var(--line-2);
}
.shot-row:last-child{border-bottom:0}
.shot-row em{margin-left:auto;font-style:normal;font-size:.68rem;font-weight:650;color:var(--muted)}
.shot-row .dot{width:7px;height:7px;border-radius:50%;flex:none}
.dot.ok{background:var(--ok)} .dot.warn{background:var(--gold)} .dot.bad{background:var(--danger)}

@media(max-width:900px){
  .lp-hero{grid-template-columns:1fr}
  .lp-hero-art{order:-1;padding-bottom:2.6rem}
  .lp-shot{left:0;width:min(17rem,80%)}
}
@media(max-width:520px){.lp-shot{position:static;width:100%;margin-top:.9rem;box-shadow:var(--shadow-md)}.lp-hero-art{padding-bottom:0}}

/* ------------------------------------------------------------ sections --- */
.lp-section{padding:clamp(3.2rem,6vw,5.5rem) clamp(1.1rem,5vw,3.5rem);max-width:1240px;margin:0 auto}
.lp-alt{background:var(--bg);max-width:none}
.lp-alt > *{max-width:1240px;margin-inline:auto}
.lp-head{max-width:44rem;margin-bottom:2.6rem}
.lp-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:.6rem}
.lp-head p{color:var(--muted);font-size:1.02rem;margin:0}

/* steps */
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:s}
.lp-steps li{position:relative;padding-top:1.3rem;border-top:1px solid var(--line)}
.lp-steps li:first-child{border-top-color:var(--gold)}
.step-n{font-size:.76rem;font-weight:800;color:var(--gold-ink);letter-spacing:.08em}
.lp-steps h3{font-size:1.02rem;margin:.5rem 0 .45rem;font-weight:700}
.lp-steps p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.62}
@media(max-width:980px){.lp-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lp-steps{grid-template-columns:1fr}}

/* capability cards */
.lp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.lp-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem 1.4rem;box-shadow:var(--shadow-xs);
  transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out),border-color 220ms var(--ease-out);
}
.lp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d6dce8}
.lp-card .ic{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:.9rem;
  background:var(--brand-wash);color:var(--brand);font-size:1.05rem;
}
.lp-card h3{font-size:1rem;font-weight:700;margin-bottom:.45rem}
.lp-card p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.62}
@media(max-width:980px){.lp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.lp-grid{grid-template-columns:1fr}}

/* oversight split */
.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.lp-split h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:.7rem}
.lp-list{list-style:none;margin:1.4rem 0 0;padding:0}
.lp-list li{position:relative;padding-left:1.5rem;margin-bottom:.7rem;font-size:.94rem;color:var(--ink-soft);line-height:1.6}
.lp-list li::before{
  content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:2px;
  background:var(--gold);
}
.lp-list b{color:var(--ink);font-weight:700}
.lp-note{margin-top:1.3rem;font-size:.86rem;color:var(--muted-2);line-height:1.6}
.lp-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.2rem 1.3rem;box-shadow:var(--shadow-md)}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.6rem;
  border-bottom:1px solid var(--line-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.panel-head b{color:var(--ink);font-weight:700}
.chip{border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700}
.chip.bad{background:var(--danger-wash);color:var(--danger)}
.panel-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.62rem 0;border-bottom:1px solid var(--line-2);font-size:.88rem}
.panel-row:last-child{border-bottom:0}
.panel-row em{font-style:normal;font-size:.78rem;color:var(--muted);font-weight:600}
.panel-row em.bad{color:var(--danger)}
@media(max-width:900px){.lp-split{grid-template-columns:1fr}}

/* close + footer */
.lp-close{
  text-align:center;padding:clamp(3.4rem,6vw,5.5rem) 1.25rem;
  background:linear-gradient(160deg,#1d2c4c,var(--brand) 55%,#2c3f68);color:#fff;
}
.lp-close h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:.5rem}
.lp-close p{color:#c3cde0;margin:0 0 1.6rem;font-size:1rem}
.lp-close .lp-help{margin:1.2rem 0 0;font-size:.84rem;color:#9aa8c4}
.lp-foot{
  display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;align-items:center;
  padding:1.6rem 1.25rem;font-size:.82rem;color:var(--muted-2);background:var(--surface);
  border-top:1px solid var(--line);
}
.lp-foot a{color:var(--muted)}
.lp-foot .sep{opacity:.5}

@media (prefers-reduced-motion:reduce){
  .lp-card:hover{transform:none}
}
