:root{--bg:#fbfaf7;--paper:#fff;--ink:#14131c;--ink2:#41404d;--muted:#73727f;--line:#e8e5de;--soft:#f3f1ec;--accent:#5b45e0;--accent-soft:#eeebff;--marker:#ffd84d;--good:#0f9b63;--good-soft:#e3f6ed;--mid:#c27c0e;--mid-soft:#fdf2dc;--low:#d1432f;--low-soft:#fde8e4;--r:18px;--shadow:0 1px 2px rgba(20,19,28,.04),0 10px 30px -12px rgba(20,19,28,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,5vw,4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.25rem}h4{font:600 .78rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 10px}
mark{background:var(--marker);padding:0 3px;border-radius:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.narrow-app{max-width:900px}
.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.grow{flex:1}
.nav{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 1.3rem Fraunces,serif;letter-spacing:-.02em}
.nav nav{display:flex;align-items:center;gap:26px}.nav nav a:not(.btn){text-decoration:none;color:var(--ink2);font-weight:500;font-size:.95rem}
@media(max-width:760px){.nav nav a:not(.btn){display:none}}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:11px 20px;font:600 .95rem Inter,sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(20,19,28,.45)}.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-accent{background:var(--accent);border-color:var(--accent)}.btn-marker{background:var(--marker);border-color:var(--marker);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--paper)}
.btn-sm{padding:7px 13px;font-size:.85rem;border-radius:10px}.btn-lg{padding:15px 26px;font-size:1.02rem}.btn-block{width:100%}
.input{width:100%;border:1.5px solid var(--line);background:var(--paper);border-radius:12px;padding:12px 14px;font:inherit;font-size:.95rem;color:var(--ink);outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.lbl{display:block;font-size:.85rem;font-weight:600;color:var(--ink2);margin:16px 0 6px}.lbl .muted{font-weight:400}
.link{color:var(--accent);text-decoration:underline;cursor:pointer}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.pill{font-size:.72rem;font-weight:600;background:var(--good-soft);color:var(--good);padding:3px 10px;border-radius:999px}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.eyebrow.light{color:var(--marker)}
.hl{background:linear-gradient(transparent 58%,var(--marker) 58%,var(--marker) 92%,transparent 92%);padding:0 4px}
.hint{font-size:.83rem;color:var(--muted);margin:10px 0 0}
.banner{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:12px;padding:13px 16px;margin:16px 0}
.banner.ok{border-left-color:var(--good)}.banner.err{border-left-color:var(--low)}
.badge{display:inline-flex;align-items:center;font-size:.78rem;font-weight:600;padding:4px 11px;border-radius:999px;background:var(--soft);color:var(--ink2)}
.badge.good{background:var(--good-soft);color:var(--good)}.badge.mid{background:var(--mid-soft);color:var(--mid)}.badge.low{background:var(--low-soft);color:var(--low)}.badge.accent{background:var(--accent-soft);color:var(--accent)}
.badge.big{font-size:1rem;padding:6px 16px}
/* hero */
.hero{padding:64px 0 72px}.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media(max-width:940px){.hero-in{grid-template-columns:1fr}.hero{padding-top:36px}}
.lead{font-size:1.14rem;color:var(--ink2);max-width:580px}
.hero-proof{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}.hero-proof div{display:flex;flex-direction:column}
.hero-proof b{font:700 1.9rem Fraunces,serif}.hero-proof span{font-size:.88rem;color:var(--muted)}
.start{position:relative}.start::before{content:"";position:absolute;inset:auto auto -16px -16px;width:120px;height:120px;border-radius:26px;background:var(--marker);z-index:-1;transform:rotate(-7deg)}
.start-head{display:flex;justify-content:space-between;align-items:center}.start .btn{margin-top:18px}
/* sections */
.section{padding:96px 0}.section.alt{background:var(--soft)}.section-sm{padding:56px 0 0}
.section-lead{font-size:1.1rem;color:var(--ink2);max-width:660px;margin-bottom:40px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px}.step p{color:var(--ink2);margin:0}
.step .n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ink);color:var(--marker);font:700 1rem Fraunces,serif;margin-bottom:16px}
.dark{background:var(--ink);color:#fff}.dark .lead{color:#c9c8d4}
.dark h2 em{font-style:italic;color:var(--marker)}
.lab-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}@media(max-width:900px){.lab-in{grid-template-columns:1fr}}
.mock{color:var(--ink)}.mock-head{display:flex;gap:20px;align-items:center;margin-bottom:18px}.mock-head p{margin:8px 0 0;color:var(--ink2);font-size:.95rem}
.ticks{list-style:none;padding:0;margin:0}.ticks li{position:relative;padding:6px 0 6px 28px}
.ticks li::before{content:"";position:absolute;left:3px;top:13px;width:12px;height:7px;border-left:2.5px solid var(--good);border-bottom:2.5px solid var(--good);transform:rotate(-45deg)}
.ticks.light li::before{border-color:var(--marker)}
.arrows{list-style:none;padding:0;margin:0}.arrows li{position:relative;padding:6px 0 6px 26px}.arrows li::before{content:"→";position:absolute;left:2px;color:var(--accent);font-weight:700}
/* pricing */
.pricing{display:grid;grid-template-columns:.8fr 1.6fr;gap:24px;align-items:stretch}@media(max-width:980px){.pricing{grid-template-columns:1fr}}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:700px){.prices{grid-template-columns:1fr}}
.price{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.price.featured{border:2px solid var(--accent)}.price h3{font-size:1.1rem;margin:0 0 10px}
.amount{font:700 2.6rem Fraunces,serif;letter-spacing:-.02em;line-height:1}.per{color:var(--muted);font-size:.88rem;margin:8px 0 20px;flex:1}
.ribbon{position:absolute;top:-12px;left:24px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:4px 11px;border-radius:999px}
.prices.compact{grid-template-columns:1fr}.prices.compact .price{padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;box-shadow:none}
.prices.compact .price h3{margin:0}.prices.compact .amount{font-size:1.5rem;grid-row:span 2}.prices.compact .per{margin:0}.prices.compact .btn{grid-column:1/-1;margin-top:10px}.prices.compact .ribbon{top:-10px}
details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}details:not(.qa) summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--muted)}details[open]:not(.qa) summary::after{content:"–"}
details p{color:var(--ink2);margin:12px 0 0}
.cta-band{background:var(--accent);color:#fff;padding:70px 0}.cta-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cta-in h2{margin:0;max-width:640px}
.foot{border-top:1px solid var(--line);padding:44px 0;margin-top:0}.app .foot{margin-top:80px}
.foot-in{display:grid;grid-template-columns:1fr auto;gap:16px}.foot-in>p{grid-column:1/-1;margin:0}
.foot-links{display:flex;gap:22px}.foot-links a{text-decoration:none;color:var(--ink2);font-size:.92rem}
/* rings */
.ring{position:relative;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:var(--soft);stroke-width:11}.ring-fg{fill:none;stroke-width:11;stroke-linecap:round;transition:stroke-dasharray 1s}
.ring.good .ring-fg{stroke:var(--good)}.ring.mid .ring-fg{stroke:var(--mid)}.ring.low .ring-fg{stroke:var(--low)}
.ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.ring-txt b{font:700 2.1em Fraunces,serif;font-size:calc(var(--s,1) * 2.2rem)}.ring-txt span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.jobrow .ring-txt b{font-size:1.15rem}.jobrow .ring-txt span{font-size:.55rem}
.mock .ring-txt b{font-size:1.6rem}
/* app pages */
.page{padding-top:28px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:6px 0 24px}
.page-head h1{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0}.page-head p{margin:6px 0 0}
.back{display:inline-block;text-decoration:none;color:var(--muted);font-weight:500;margin-bottom:6px}
.jobs{display:flex;flex-direction:column;gap:12px}
.jobrow{display:flex;align-items:center;gap:18px;padding:16px 22px;text-decoration:none;transition:border-color .15s,transform .15s}.jobrow:hover{border-color:var(--ink);transform:translateY(-1px)}
.jobrow-main{flex:1;display:flex;flex-direction:column;min-width:0}.jobrow-main strong{font-size:1.05rem}
.jobrow-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ring-ph{width:64px;height:64px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--muted)}
.empty{text-align:center;padding:56px}
.loading{text-align:center;padding:64px 28px}.loading h2{margin-top:18px}
.spinner{width:38px;height:38px;border-radius:50%;border:3.5px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .8s linear infinite;margin:0 auto}
.spinner.sm{width:16px;height:16px;border-width:2.5px;display:inline-block;vertical-align:-3px;margin:0}
@keyframes spin{to{transform:rotate(360deg)}}
.analysis{display:flex;gap:34px;align-items:flex-start;margin-bottom:24px}@media(max-width:700px){.analysis{flex-direction:column}}
.analysis-main{flex:1;min-width:0}.analysis-main>p{font-size:1.06rem;color:var(--ink2);margin:12px 0 0}
.chips-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:700px){.chips-wrap{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:.83rem;padding:5px 11px;border-radius:8px;font-weight:500}
.chip.ok{background:var(--good-soft);color:#0b6e47}.chip.miss{background:var(--low-soft);color:#a3301f}
.wins{margin:0;padding-left:22px}.wins li{padding:4px 0;color:var(--ink2)}
.unlock{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-bottom:24px;border:2px solid var(--accent);background:linear-gradient(135deg,#fff 60%,var(--accent-soft))}
@media(max-width:860px){.unlock{grid-template-columns:1fr}}.unlock h2{font-size:1.7rem}
.unlock-buy{display:flex;flex-direction:column;justify-content:center}
.docs{margin-bottom:24px}
.tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.tab{border:0;background:transparent;font:600 .95rem Inter,sans-serif;padding:9px 16px;border-radius:10px;cursor:pointer;color:var(--muted)}
.tab.on{background:var(--ink);color:#fff}
.uplift{margin-left:auto;font-size:.9rem;background:var(--good-soft);color:var(--good);padding:6px 12px;border-radius:10px}
.doc-tools{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap}
.doc{max-width:760px;margin:0 auto;padding:36px 44px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:.95rem;line-height:1.55}
@media(max-width:700px){.doc{padding:22px 18px}}
.doc h1{font-size:2rem;margin:0 0 4px}.doc h1+p{color:var(--muted);margin-top:0}
.doc h2{font:700 .82rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border-bottom:1.5px solid var(--line);padding-bottom:6px;margin:26px 0 12px}
.doc h3{font:600 1rem Inter,sans-serif;margin:16px 0 4px}.doc ul{padding-left:20px;margin:6px 0}.doc li{margin:3px 0}.doc p{margin:6px 0}
.doc.letter p{margin:0 0 14px}
.lab{margin-bottom:24px}.lab-head{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}.lab-head h2{margin:0 0 4px}.lab-head p{margin:0}
.sessions{display:flex;flex-direction:column;gap:8px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.session{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:12px;background:var(--soft);text-decoration:none;font-weight:500}.session:hover{background:var(--accent-soft)}
/* chat */
.chat-shell{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:560px}
.chat-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.who{display:flex;align-items:center;gap:12px}.who>div:last-child{display:flex;flex-direction:column;line-height:1.3}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700}
.progress{min-width:180px;font-size:.82rem;color:var(--muted);text-align:right}.progress .bar{height:6px;background:var(--soft);border-radius:9px;margin-top:6px;overflow:hidden}
.progress .bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .5s}
.chat{flex:1;padding:24px 22px;display:flex;flex-direction:column;gap:14px;max-height:62vh;overflow-y:auto;background:var(--bg)}
.msg{max-width:78%;padding:13px 17px;border-radius:18px;line-height:1.5;white-space:pre-wrap;animation:pop .25s ease-out}
.msg.them{background:var(--paper);border:1px solid var(--line);border-top-left-radius:6px;align-self:flex-start}
.msg.me{background:var(--ink);color:#fff;border-top-right-radius:6px;align-self:flex-end}
.msg.sys{align-self:center;background:var(--accent-soft);color:var(--accent);font-size:.9rem;font-weight:500}
.qtype{display:block;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
@keyframes pop{from{opacity:0;transform:translateY(6px)}}
.dots{display:inline-flex;gap:4px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:.25}}
.loading-inline{display:flex;gap:12px;align-items:center;color:var(--muted);align-self:center;margin:auto}.loading-inline .spinner{margin:0;width:22px;height:22px}
.composer{border-top:1px solid var(--line);padding:16px 22px;background:var(--paper)}
.composer-row{display:flex;align-items:center;gap:10px;margin-top:10px}#mic.on{background:var(--low);color:#fff;border-color:var(--low)}
/* report */
.report-head{display:flex;gap:30px;align-items:center}@media(max-width:640px){.report-head{flex-direction:column;align-items:flex-start}}
.report-sum{font-size:1.08rem;color:var(--ink2);margin:12px 0 0}
.dims,.mock-dims{display:flex;flex-direction:column;gap:10px;margin:26px 0}
.dim{display:grid;grid-template-columns:150px 1fr 28px;gap:14px;align-items:center;font-size:.92rem}
.dim-bar{height:9px;border-radius:9px;background:var(--soft);overflow:hidden}.dim-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#8b7bff);border-radius:9px}
.dim b{text-align:right}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:700px){.two{grid-template-columns:1fr}}
.section-title{margin:40px 0 16px;font-size:1.6rem}
.qa{padding:0;margin-bottom:12px}.qa summary{padding:18px 22px;align-items:center}.qa-n{font:700 .8rem Inter,sans-serif;color:var(--accent);flex:none}.qa-q{flex:1;font-weight:600}
.qa-body{padding:0 22px 22px}.qa-body h4:first-child{margin-top:4px}
blockquote{margin:0;padding:12px 16px;border-left:3px solid var(--line);background:var(--soft);border-radius:0 10px 10px 0;color:var(--ink2);white-space:pre-wrap}
.model{background:var(--good-soft);border-radius:12px;padding:14px 18px}.model p{margin:0 0 8px;color:#16432f}.model p:last-child{margin:0}
.report,.qa{margin-bottom:16px}
.msg{}.msg.page{}.page.msg,.msg-page{text-align:center}
main.msg{padding:100px 20px;text-align:center;max-width:none}main.msg .lead{margin:0 auto 28px}
.prose{padding-top:60px}.prose h2{font-size:1.3rem;margin-top:1.6em}.prose p{color:var(--ink2)}
@media print{
  body.printing *{visibility:hidden}
  body.printing .print-me,body.printing .print-me *{visibility:visible}
  body.printing .print-me{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;box-shadow:none;margin:0;padding:0}
  body.printing .print-me .card{box-shadow:none;break-inside:avoid}
  body.printing .nav{display:none}
  body{background:#fff}
}
/* seo pages */
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:16px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.h1-seo{font-size:clamp(2rem,4.2vw,3.3rem)}
.seo-body h2{font-size:1.6rem;margin-top:1.4em}.seo-body h2:first-child{margin-top:0}.seo-body p,.seo-body li{color:var(--ink2)}.seo-body li{margin:6px 0}
.mini-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 40px}@media(max-width:760px){.mini-prices{grid-template-columns:1fr}}
.mini{display:flex;flex-direction:column;gap:2px;text-decoration:none;transition:transform .15s}.mini:hover{transform:translateY(-2px)}
.featured-mini{border:2px solid var(--accent)}.amount-sm{font:700 2.1rem Fraunces,serif}
.related-h{margin-bottom:14px}.related{display:flex;flex-wrap:wrap;gap:10px}.related a{text-decoration:none;background:var(--paper);border:1px solid var(--line);padding:9px 14px;border-radius:999px;font-size:.9rem;font-weight:500}.related a:hover{border-color:var(--accent);color:var(--accent)}
.page-guides{padding:48px 20px 20px}.guide-h{margin-top:44px;font-size:1.6rem}.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:18px}
.guide{text-decoration:none;display:flex;flex-direction:column;padding:24px;transition:transform .15s,border-color .15s}.guide:hover{transform:translateY(-2px);border-color:var(--accent)}.guide p{flex:1;font-size:.92rem}.guide .go{font-weight:600;color:var(--accent)}
.qlist{list-style:none;padding:0;margin:24px 0;counter-reset:q;display:flex;flex-direction:column;gap:14px}
.qlist li{counter-increment:q;position:relative;padding:22px 24px 20px 72px}
.qlist li::before{content:counter(q);position:absolute;left:22px;top:20px;width:34px;height:34px;border-radius:10px;background:var(--ink);color:var(--marker);display:grid;place-items:center;font:700 1rem Fraunces,serif}
.qlist h3{font-size:1.12rem;margin:0 0 8px}.qlist p{margin:0;color:var(--ink2)}.qlist .eyebrow{margin:0;font-size:.7rem}
.callout{background:var(--ink);color:#fff;border:0;margin-top:30px}.callout p{color:#c9c8d4}
