/* Product landing pages (e.g. /xero-invoice-tracking). Builds on guide.css: same tokens, wider canvas. */
.lp .wrap{--max:1040px}
.lp article{padding-top:64px}
.lp .narrow{max-width:720px}
.lp h1{max-width:900px}
.lp .lead{max-width:680px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 8px}
.btn-ghost{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid var(--line-2);color:var(--fg);font-size:14px;font-weight:500;text-decoration:none}
.btn-ghost:hover{border-color:var(--fg)}
.fine{font-family:var(--mono);font-size:12px;color:var(--fg-3);margin:10px 0 0}

/* Simulation window */
.sim{margin:48px 0 8px;border:1px solid var(--line-2);border-radius:14px;background:var(--bg-2);overflow:hidden}
.sim-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.sim-bar i{width:9px;height:9px;border-radius:50%;border:1px solid var(--line-2);display:inline-block}
.sim-bar .live{margin-left:auto;display:flex;align-items:center;gap:6px}
.sim-bar .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fg);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
.sim-body{display:grid;grid-template-columns:1.55fr 1fr;min-height:360px}
.sim-main{padding:18px 18px 8px;border-right:1px solid var(--line);overflow-x:auto}
.sim-side{padding:18px;display:flex;flex-direction:column;gap:12px}
.sim-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.kpi{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.kpi b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;color:var(--fg);line-height:1.1}
.kpi span{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3)}
.sim table{font-size:13px;min-width:480px;margin:0}
.sim th,.sim td{padding:9px 8px}
.sim td:first-child{width:auto;font-family:var(--mono);font-size:12px}
.sim tr{transition:background .4s}
.sim tr.hit{background:rgba(255,255,255,.06)}
.st{display:inline-block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line-2);border-radius:999px;padding:3px 8px;white-space:nowrap;color:var(--fg-2);transition:all .4s}
.st.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.st.warn{border-style:dashed;color:var(--fg)}
.sim-side h4{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3)}
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:hidden}
.feed li{margin:0;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-size:12.5px;line-height:1.5;color:var(--fg-2);animation:in .5s ease both}
.feed li b{color:var(--fg);font-weight:500}
.feed li small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.feed li.flag{border-color:var(--fg-2)}
@keyframes in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.sim-caption{margin:10px 0 0;font-family:var(--mono);font-size:12px;color:var(--fg-3)}
@media (max-width:820px){.sim-body{grid-template-columns:1fr}.sim-main{border-right:0;border-bottom:1px solid var(--line)}}
@media (prefers-reduced-motion:reduce){.sim-bar .live::before,.feed li{animation:none}}

/* Grids and blocks */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.card{border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.card h3{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;color:var(--fg)}
.card p{margin:0;font-size:15px;line-height:1.65}
.card .label{display:block;margin-bottom:10px}
@media (max-width:760px){.grid2,.grid3{grid-template-columns:1fr}}

.flow{list-style:none;padding:0;margin:24px 0;counter-reset:f;border-top:1px solid var(--line)}
.flow li{counter-increment:f;display:grid;grid-template-columns:56px 1fr;gap:12px;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.flow li::before{content:counter(f,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--fg-3);padding-top:4px}
.flow li p{margin:0}

.quote{margin:40px 0;padding:0 0 0 22px;border-left:1px solid var(--fg-2);font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.25;color:var(--fg)}

/* Whitepaper use case */
.paper{margin:28px 0;border:1px solid var(--line-2);border-radius:14px;padding:28px 30px;background:var(--bg-2)}
.paper h3{font-family:var(--mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);margin:28px 0 8px}
.paper h3:first-of-type{margin-top:6px}
.paper p,.paper li{font-size:15.5px}
@media (max-width:560px){.paper{padding:22px 18px}}
