/* Unthrottled marketing landing - self-contained instrument aesthetic. */
:root {
    --bg: #0b0c0f;
    --panel: #101218;
    --panel-2: #14161d;
    --line: #1d212d;
    --line-2: #2a2f3d;
    --ink: #eceef3;
    --ink-2: #98a1b2;
    --ink-3: #626a79;
    --accent: #f97316;
    --accent-2: #ea580c;
    /* Accent TEXT (kickers, links, tags, the heading emphasis). Deliberately the same as
       --accent now, so every orange on the page reads as one colour and matches the buttons,
       rather than a lighter text-orange sitting beside the deeper button-orange. */
    --accent-ink: #f97316;
    --good: #34d399;
    --warn: #facc15;
    --maxw: 1140px;
    --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --mono: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Cascadia Code', Menlo, Consolas, monospace;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--bg); color: var(--ink); line-height: 1.6;
    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
.lp-container { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }
.lp-topline { height: 2px; background: linear-gradient(90deg, var(--accent), var(--accent-2) 38%, transparent 78%); }

/* kicker label */
.lp-kicker { font-family: var(--mono); text-transform: uppercase; font-size: .72rem; letter-spacing: .18em;
    color: var(--accent-ink); margin-bottom: 18px; }

/* buttons */
.lp-btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 8px;
    font-size: .9rem; font-weight: 600; border: 1px solid transparent; cursor: pointer; transition: .14s ease; white-space: nowrap; }
.lp-btn-primary { background: var(--accent); color: #fff; }
.lp-btn-primary:hover { background: #fb923c; }
.lp-btn-ghost { border-color: var(--line-2); color: var(--ink); }
.lp-btn-ghost:hover { border-color: #3b4150; background: rgba(255,255,255,.03); }
.lp-btn-lg { padding: 13px 22px; font-size: .97rem; }

/* header */
.lp-header { position: sticky; top: 0; z-index: 50; background: rgba(11,12,15,.82);
    backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.lp-nav { display: flex; align-items: center; height: 64px; gap: 22px; }
.lp-brand { display: flex; align-items: center; gap: 10px; font-weight: 650; font-size: 1.08rem; letter-spacing: -.01em; }
.lp-mark { width: 32px; height: 32px; border-radius: 8px; overflow: hidden; display: grid; place-items: center; }
.lp-mark img { width: 100%; height: 100%; display: block; }
.lp-mark-sm { width: 28px; height: 28px; border-radius: 7px; }
.lp-links { display: flex; gap: 24px; margin-left: 14px; }
.lp-links a { color: var(--ink-2); font-size: .9rem; }
.lp-links a:hover { color: var(--ink); }
.lp-auth { display: flex; align-items: center; gap: 10px; margin-left: auto; }

/* hero */
.lp-hero { padding: 84px 0 72px; border-bottom: 1px solid var(--line); }
.lp-hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 60px; align-items: center; }
.lp-hero h1 { font-size: clamp(2.2rem, 4.6vw, 3.15rem); line-height: 1.07; letter-spacing: -.025em; font-weight: 680; }
.lp-lead { color: var(--ink-2); font-size: 1.1rem; margin-top: 22px; max-width: 35em; }
.lp-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.lp-specbar { list-style: none; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 30px;
    font-family: var(--mono); font-size: .78rem; color: var(--ink-3); }
.lp-specbar li { position: relative; padding-left: 16px; }
.lp-specbar li::before { content: ''; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; margin-top: -3px;
    border-radius: 50%; background: var(--accent); opacity: .8; }

/* product readout */
.lp-report { background: var(--panel); border: 1px solid var(--line); border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0,0,0,.5); overflow: hidden; }
.lp-report-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px;
    border-bottom: 1px solid var(--line); background: var(--panel-2); }
.lp-file { font-family: var(--mono); font-size: .82rem; color: var(--ink-2); }
.lp-pill { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .1em;
    color: var(--good); border: 1px solid rgba(52,211,153,.35); background: rgba(52,211,153,.08); padding: 3px 8px; border-radius: 5px; }
.lp-report-body { padding: 22px 20px; }
.lp-scoreblock { display: flex; align-items: baseline; gap: 16px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.lp-score { font-family: var(--mono); font-size: 2.8rem; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.lp-score span { font-size: 1rem; color: var(--ink-3); margin-left: 4px; }
.lp-scoremeta { display: flex; flex-direction: column; gap: 7px; }
.lp-label { font-family: var(--mono); text-transform: uppercase; font-size: .7rem; letter-spacing: .14em; color: var(--ink-3); }
.lp-tag { align-self: flex-start; font-family: var(--mono); font-size: .72rem; color: var(--accent-ink);
    border: 1px solid rgba(249,115,22,.35); background: rgba(249,115,22,.08); padding: 2px 8px; border-radius: 5px; }
.lp-rows { display: flex; flex-direction: column; gap: 13px; }
.lp-row { display: grid; grid-template-columns: 1fr auto 96px 42px; align-items: center; gap: 12px; }
.lp-rk { font-family: var(--mono); font-size: .74rem; letter-spacing: .06em; color: var(--ink-3); }
.lp-rv { font-family: var(--mono); font-size: .86rem; color: var(--ink); text-align: right; }
.lp-bar { height: 5px; border-radius: 3px; background: #1c1f29; overflow: hidden; }
.lp-bar i { display: block; height: 100%; border-radius: 3px; }
.lp-bar i.ok { background: var(--good); } .lp-bar i.warn { background: var(--warn); } .lp-bar i.acc { background: var(--accent); }
.lp-rs { font-family: var(--mono); font-size: .72rem; text-align: right; }
.lp-rs.ok { color: var(--good); } .lp-rs.warn { color: var(--warn); } .lp-rs.acc { color: var(--accent-ink); }
.lp-verdict { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .9rem; color: var(--ink-2); }
.lp-verdict span { color: var(--accent); font-weight: 700; margin-right: 6px; }

/* sections */
.lp-section { padding: 84px 0; }
.lp-section-alt { background: #0d0e13; border-bottom: 1px solid var(--line); }
.lp-h2 { font-size: clamp(1.55rem, 3vw, 2.05rem); font-weight: 680; letter-spacing: -.02em; max-width: 18em; }
/* The emphasized phrase in a section heading carries the accent, so the eye lands on the
   idea, not just the italics. Uses the same accent text token as the kicker, links and
   tags, which now matches the button orange. */
.lp-h2 em { font-style: italic; color: var(--accent-ink); }
.lp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 44px;
    background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.lp-feature { background: var(--panel); padding: 30px 28px; }
.lp-num { font-family: var(--mono); font-size: .76rem; color: var(--accent); letter-spacing: .1em; }
.lp-feature h3 { font-size: 1.1rem; font-weight: 650; margin: 14px 0 8px; letter-spacing: -.01em; }
.lp-feature p { color: var(--ink-2); font-size: .94rem; }

/* two ways in */
.lp-ways-lead { color: var(--ink-2); font-size: 1rem; max-width: 46em; margin-top: 16px; }
.lp-ways { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 40px; }
.lp-way { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 28px 26px;
    transition: border-color .16s ease, background .16s ease; }
.lp-way:hover { border-color: var(--line-2); background: var(--panel-2); }
/* recommended (agent) card: purple highlight, mirrors dashboard's .path-agent */
.lp-way-rec { border-color: rgba(249,115,22,.4);
    background: linear-gradient(180deg, rgba(249,115,22,.08), var(--panel) 60%); }
.lp-way-rec:hover { border-color: rgba(249,115,22,.6);
    background: linear-gradient(180deg, rgba(249,115,22,.11), var(--panel-2) 60%); }
.lp-way-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.lp-way-tag { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .12em;
    color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 999px; padding: 4px 10px; }
.lp-way-tag-easy { color: var(--accent-ink); border-color: rgba(249,115,22,.45); background: rgba(249,115,22,.08); }
.lp-way-tag-rec { color: #fff; border-color: rgba(249,115,22,.9); background: rgba(249,115,22,.85); }
.lp-way-head h3 { font-size: 1.15rem; font-weight: 650; letter-spacing: -.01em; }
.lp-way > p { color: var(--ink-2); font-size: .94rem; }
.lp-way-list { list-style: none; margin: 18px 0 0; display: flex; flex-direction: column; gap: 11px; }
.lp-way-list li { position: relative; padding-left: 26px; font-size: .9rem; color: var(--ink); line-height: 1.5; }
.lp-way-list li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.lp-way-list li.good::before { content: '+'; color: var(--good); }
.lp-way-list li.con { color: var(--ink-2); }
.lp-way-list li.con::before { content: '\2013'; color: var(--warn); }
.lp-ways-foot { margin-top: 26px; font-size: .92rem; color: var(--ink-3); }

/* steps */
.lp-steps { list-style: none; max-width: 780px; margin: 44px 0 0; display: flex; flex-direction: column; }
.lp-steps li { display: flex; gap: 22px; align-items: flex-start; padding: 22px 0; border-top: 1px solid var(--line); }
.lp-steps li:last-child { border-bottom: 1px solid var(--line); }
.lp-step-n { flex: none; font-family: var(--mono); font-size: .95rem; font-weight: 700; color: var(--accent);
    width: 40px; padding-top: 2px; }
.lp-steps h3 { font-size: 1.05rem; font-weight: 650; letter-spacing: -.01em; }
.lp-steps p { color: var(--ink-2); font-size: .94rem; margin-top: 4px; }

/* final cta */
.lp-cta { padding: 88px 0; }
.lp-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap;
    border: 1px solid var(--line); border-radius: 14px; padding: 40px 40px; background:
    linear-gradient(180deg, var(--panel), var(--bg)); }
.lp-cta-inner h2 { font-size: clamp(1.45rem, 2.6vw, 1.9rem); font-weight: 680; letter-spacing: -.02em; }
.lp-cta-inner p { color: var(--ink-2); margin-top: 8px; }

/* testimonials */
.lp-testi-note { color: var(--ink-2); max-width: 46em; margin: 14px 0 4px; font-size: .98rem; }
.lp-testi-note strong { color: var(--ink); }
/* auto-scrolling testimonial marquee (full-bleed, fades at both edges) */
.lp-testi-marquee { margin-top: 34px; overflow: hidden; position: relative;
    -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.lp-testi-track { display: flex; gap: 18px; width: max-content;
    animation: lp-testi-scroll var(--testi-duration, 60s) linear infinite; }
.lp-testi-track:hover { animation-play-state: paused; }
@keyframes lp-testi-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.lp-testi { flex: 0 0 340px; width: 340px; background: var(--panel); border: 1px solid var(--line);
    border-radius: 14px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.lp-stars { display: flex; gap: 5px; }
.lp-star { width: 15px; height: 15px;
    background: var(--line-2);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.3 6.9.7-5.1 4.6 1.4 6.8L12 17.8 5.9 20.4l1.4-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.3 6.9.7-5.1 4.6 1.4 6.8L12 17.8 5.9 20.4l1.4-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E") center/contain no-repeat; }
.lp-star.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.lp-testi blockquote { color: var(--ink); font-size: 1rem; line-height: 1.55; }
.lp-testi-noquote { color: var(--ink-2); font-style: italic; }
.lp-testi figcaption { color: var(--ink-2); font-size: .88rem; font-weight: 600; margin-top: auto; }

/* footer */
.lp-footer { border-top: 1px solid var(--line); padding: 30px 0; }
.lp-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.lp-footer .lp-brand { font-size: .98rem; }
.lp-foot-note { font-size: .82rem; color: var(--ink-3); max-width: 30em; line-height: 1.5; }
.lp-foot-copy { color: var(--ink-3); opacity: .8; }
.lp-footer-links { display: flex; gap: 18px; }
.lp-footer-links a { color: var(--ink-2); font-size: .86rem; }
.lp-footer-links a:hover { color: var(--ink); }

/* faq */
.lp-faq { margin-top: 40px; max-width: 780px; border-top: 1px solid var(--line); }
.lp-faq-item { border-bottom: 1px solid var(--line); }
.lp-faq-item summary { list-style: none; cursor: pointer; padding: 20px 0; font-size: 1.02rem; font-weight: 600;
    color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lp-faq-item summary::-webkit-details-marker { display: none; }
/* chevron (down when closed, up when open) */
.lp-faq-item summary::after { content: ''; flex: none; width: 9px; height: 9px; margin-top: -4px;
    border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent);
    transform: rotate(45deg); transition: transform .18s ease; }
.lp-faq-item[open] summary::after { transform: rotate(-135deg); margin-top: 3px; }
.lp-faq-item p { color: var(--ink-2); font-size: .96rem; padding: 0 0 22px; max-width: 64ch; }
.lp-faq-link { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.lp-faq-link:hover { color: var(--ink); }

/* legal / prose pages (privacy, terms, contact) */
.lp-legal { padding: 64px 0 80px; }
.lp-prose { max-width: 760px; }
.lp-prose h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 680; letter-spacing: -.02em; }
.lp-prose .lp-updated { font-family: var(--mono); font-size: .78rem; color: var(--ink-3); margin-top: 10px; }
.lp-prose h2 { font-size: 1.2rem; font-weight: 650; letter-spacing: -.01em; margin: 38px 0 12px;
    padding-top: 26px; border-top: 1px solid var(--line); }
.lp-prose h2:first-of-type { border-top: 0; padding-top: 0; }
.lp-prose p { color: var(--ink-2); margin-top: 12px; line-height: 1.7; }
.lp-prose ul { color: var(--ink-2); margin: 12px 0 0; padding-left: 0; list-style: none; }
.lp-prose ul li { position: relative; padding-left: 20px; margin-top: 9px; line-height: 1.6; }
.lp-prose ul li::before { content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px;
    border-radius: 50%; background: var(--accent); opacity: .8; }
.lp-prose strong { color: var(--ink); }
.lp-prose a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.lp-prose a:hover { color: var(--ink); }
.lp-prose .lp-lead-p { color: var(--ink); font-size: 1.08rem; margin-top: 18px; }
/* contact cards */
.lp-contact-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 28px; }
.lp-contact-card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 24px; }
.lp-contact-card h2 { border: 0; padding: 0; margin: 0 0 8px; font-size: 1.05rem; }
.lp-contact-card p { margin-top: 6px; }
.lp-contact-card a.lp-big-link { display: inline-block; margin-top: 6px; font-size: 1.02rem; font-weight: 600;
    color: var(--accent-ink); }
@media (max-width: 640px) { .lp-contact-cards { grid-template-columns: 1fr; } }

/* ---- freshen: hero glow ---- */
.lp-hero { position: relative; overflow: hidden; }
.lp-hero-glow { position: absolute; top: -180px; left: 50%; transform: translateX(-50%);
    width: 1100px; height: 620px; pointer-events: none; z-index: 0;
    background: radial-gradient(60% 60% at 70% 30%, rgba(249,115,22,.16), transparent 70%),
                radial-gradient(50% 50% at 25% 40%, rgba(234,88,12,.12), transparent 70%); filter: blur(8px); }
.lp-hero-grid { position: relative; z-index: 1; }
.lp-btn-primary { box-shadow: 0 6px 20px -8px rgba(249,115,22,.6); }

/* ---- freshen: live pill + report entrance ---- */
.lp-pill { display: inline-flex; align-items: center; gap: 6px; }
.lp-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--good);
    box-shadow: 0 0 0 0 rgba(52,211,153,.55); animation: lp-pulse 2.2s ease-out infinite; }
@keyframes lp-pulse { 0% { box-shadow: 0 0 0 0 rgba(52,211,153,.5); } 70% { box-shadow: 0 0 0 7px rgba(52,211,153,0); } 100% { box-shadow: 0 0 0 0 rgba(52,211,153,0); } }
.lp-report { animation: lp-rise .7s cubic-bezier(.2,.7,.2,1) both; }
@keyframes lp-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.lp-bar i { transform-origin: left center; animation: lp-grow 1s cubic-bezier(.2,.7,.2,1) both; }
.lp-row:nth-child(1) .lp-bar i { animation-delay: .35s; }
.lp-row:nth-child(2) .lp-bar i { animation-delay: .5s; }
.lp-row:nth-child(3) .lp-bar i { animation-delay: .65s; }
@keyframes lp-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---- freshen: feature icons + hover ---- */
.lp-feature { position: relative; transition: background .16s ease, transform .16s ease; }
.lp-feature::before { content: ''; position: absolute; left: 0; top: 0; height: 2px; width: 0;
    background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width .22s ease; }
.lp-feature:hover { background: var(--panel-2); }
.lp-feature:hover::before { width: 100%; }
.lp-feature-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.lp-fic { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center;
    background: var(--panel-2); border: 1px solid var(--line-2); }
.lp-feature:hover .lp-fic { border-color: rgba(249,115,22,.4); }
.lp-feature h3 { margin-top: 0; }

/* ---- freshen: final cta accent ---- */
.lp-cta-inner { position: relative; overflow: hidden; border-color: var(--line-2); }
.lp-cta-inner::after { content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(70% 120% at 100% 0%, rgba(249,115,22,.14), transparent 60%); }
.lp-cta-inner > * { position: relative; z-index: 1; }

/* respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .lp-report, .lp-bar i, .lp-pill-dot { animation: none !important; }
    html { scroll-behavior: auto; }
    /* No auto-scroll: let users swipe the testimonials horizontally instead. */
    .lp-testi-track { animation: none !important; }
    .lp-testi-marquee { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* responsive */
@media (max-width: 880px) {
    .lp-hero-grid { grid-template-columns: 1fr; gap: 44px; }
    .lp-report { order: 2; }
    .lp-links { display: none; }
    /* Mobile header: show the wordmark at the top, then swap to the auth buttons
       only after the hero's CTAs scroll under the header (kills the duplicate
       buttons and surfaces the brand). .past-hero is toggled by the observer. */
    .lp-header:not(.past-hero) .lp-auth { display: none; }
    .lp-header.past-hero .lp-brand-name { display: none; }
    .lp-grid { grid-template-columns: 1fr; }
    .lp-ways { grid-template-columns: 1fr; }
    .lp-hero { padding: 56px 0 52px; }
    .lp-section, .lp-cta { padding: 60px 0; }
    .lp-cta-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 460px) {
    .lp-container { padding: 0 20px; }
    .lp-row { grid-template-columns: 1fr auto 60px 38px; }
}

/* ---- "what it catches" showcase grid ---- */
.lp-catch { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 40px;
    background: var(--line); border: 1px solid var(--line); }
.lp-catch-item { background: var(--panel); padding: 22px 20px; transition: background .16s ease; }
.lp-catch-item:hover { background: var(--panel-2); }
.lp-catch-tag { font-family: var(--mono); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }
.lp-catch-tag.warn { color: var(--warn); }
.lp-catch-tag.acc { color: var(--accent-ink); }
.lp-catch-tag.good { color: var(--good); }
.lp-catch-item h3 { font-size: 1rem; font-weight: 650; margin: 9px 0 6px; letter-spacing: -.01em; }
.lp-catch-item p { color: var(--ink-2); font-size: .88rem; line-height: 1.45; }
@media (max-width: 880px) { .lp-catch { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .lp-catch { grid-template-columns: 1fr; } }

/* Ads (direct-sold house ads) */
.ut-slot-wrap { position: relative; display: block; width: fit-content; line-height: 0; }
.ut-slot-link img { display: block; max-width: 100%; height: auto; border-radius: 10px; }
.ut-slot-tag { position: absolute; top: 6px; right: 6px; font: 700 .58rem/1.6 system-ui, sans-serif; letter-spacing: .06em;
    text-transform: uppercase; color: #fff; background: rgba(0,0,0,.5); border-radius: 4px; padding: 0 6px; pointer-events: none; }
.ut-slot-landing-mid, .ut-slot-landing-foot { margin: 10px auto 40px; }

.lp-brand-name, .wm-word { font-family: "Bahnschrift", "DIN Alternate", "Segoe UI", system-ui, sans-serif; text-transform: uppercase; letter-spacing: .095em; font-weight: 600; }
.wm-un { color: var(--accent); }
