:root{
  --bg:#070B16;
  --panel:rgba(245,247,250,.05);
  --line:rgba(245,247,250,.14);
  --text:#F5F7FA;
  --muted:rgba(245,247,250,.72);
  --accent:#FFB703;
  --accent2:#FB8500;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  background:linear-gradient(180deg,var(--bg),#0B1020);
  color:var(--text);
  line-height:1.6;
}

.container{max-width:980px;margin:0 auto;padding:32px 18px}

h1{font-size:clamp(30px,4vw,46px);line-height:1.1;margin:10px 0 12px}
h2{font-size:clamp(22px,3vw,30px);margin:0 0 10px}
p{margin:0}

.lead{color:var(--muted);max-width:72ch}
.muted{color:var(--muted)}
.note{margin-top:10px;color:var(--muted)}
.micro{margin-top:10px;color:var(--muted);font-size:13px}

.tag{
  display:inline-flex;
  gap:8px;
  align-items:center;
  border:1px solid rgba(245,247,250,.18);
  background:rgba(245,247,250,.06);
  border-radius:999px;
  padding:6px 10px;
  color:var(--muted);
  font-size:12px;
}

.hero{
  padding:30px 22px;
  border-radius:22px;
  border:1px solid var(--line);
  background:
    radial-gradient(700px 300px at 10% 0%, rgba(255,183,3,.18), transparent 55%),
    radial-gradient(700px 300px at 90% 0%, rgba(251,133,0,.14), transparent 55%),
    var(--panel);
}

.card{
  margin-top:22px;
  padding:20px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--panel);
}

.two-col{
  display:grid;
  gap:18px;
  margin-top:22px;
}
@media (min-width:900px){
  .two-col{grid-template-columns:1fr 1fr;}
}

.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.btn{
  display:inline-block;
  padding:14px 18px;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  border:1px solid rgba(245,247,250,.18);
  background:rgba(245,247,250,.06);
  color:var(--text);
  cursor:pointer;
}

.btn.primary{
  border:none;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#111;
}

.btn.ghost:hover{background:rgba(245,247,250,.10)}
.btn.primary:hover{filter:brightness(1.05)}

.checks{padding:0;margin:12px 0 0;list-style:none}
.checks li{margin:8px 0}
.checks li::before{content:"✔";margin-right:10px;color:var(--accent);font-weight:900}

/* Footer */
.footer{
  margin-top:40px;
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:var(--muted);
  font-size:13px;
}
.footer a{color:var(--muted);text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer-links{display:flex;gap:12px}

/* ===== Diagram / Automation ===== */
.xalina-automation{margin-top:18px;max-width:100%}

/* IMPORTANT: no horizontal scroll; SVG scales to fit */
.diagram{
  border:1px solid rgba(245,247,250,.12);
  background:rgba(245,247,250,.03);
  border-radius:16px;
  padding:10px;
  overflow:hidden; /* removes sideways scrolling */
}

/* ensure SVG always fits container */
.diagram-svg{
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
  /* keep it from taking over the entire screen */
  max-height:320px;
}

@media (max-width:640px){
  .diagram-svg{max-height:260px;}
}

/* progress bar */
.progress-wrap{
  margin:16px 0 8px;
  height:6px;
  background:rgba(245,247,250,.15);
  border-radius:999px;
  overflow:hidden;
}
.progress-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width .45s ease;
}

/* captions always visible under diagram */
.caption-box{
  margin-top:12px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(245,247,250,.14);
  background:rgba(245,247,250,.05);
}
.caption-box h3{margin:0 0 6px;font-size:18px}
.caption-box p{margin:0;color:rgba(245,247,250,.78)}

.caption-controls{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* CTA reveal */
.cta-reveal{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(245,247,250,.14);
  background:rgba(245,247,250,.05);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .35s ease, transform .35s ease;
}
.cta-reveal.show{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

/* step + arrow focus */
.step{opacity:.35;transition:opacity .3s ease}
.step.active{opacity:1}
.step .node, .step .icon{transition:all .3s ease}
.step.active .node{
  stroke: var(--accent2);
  stroke-width:3;
  filter: drop-shadow(0 0 10px rgba(251,133,0,.55));
}
.step.active .icon{
  transform: scale(1.08);
  filter: drop-shadow(0 0 12px rgba(251,133,0,.55));
}
.step.active .pulse{opacity:.8}

.arrow{opacity:.12;transition:opacity .3s ease}
.arrow.active{opacity:1}

.mobile-hint{display:block}
@media (min-width:769px){
  .mobile-hint{display:none}
}
