/* Topofmind.AI design system v3. Contrast rules: lime #C6FF00 only on ink (never lime text on white);
   on light (paper) sections use dark text + green-text #4D7C0F accents (4.99:1). */
:root{--ink:#0A0A0A;--ink2:#141414;--paper:#F5F5F0;--lime:#C6FF00;--green:#4D7C0F;--white:#FFFFFF;--gray:#A3A3A3;--body:#D4D4D4;--line:#262626;--muted:#525252}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--ink);color:var(--body);font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:1.65}
h1,h2,h3,h4{font-family:Montserrat,Inter,sans-serif;color:var(--white);line-height:1.15;letter-spacing:-.01em}
a{color:var(--lime)}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--lime);color:var(--ink);padding:8px 12px;z-index:99}
/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(10,10,10,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.logo{display:flex;align-items:center}.logo img{height:52px;width:auto;display:block}
.site-nav{display:flex;gap:24px;font-size:15px;font-weight:500}
.site-nav a{color:var(--body);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--lime)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;border:2px solid transparent;font-family:Inter,sans-serif;cursor:pointer}
.btn-lime{background:var(--lime);color:var(--ink)!important}.btn-lime:hover{filter:brightness(1.08)}
.btn-ghost{border-color:#3f3f3f;color:var(--white)!important}.btn-ghost:hover{border-color:var(--lime)}
.btn-dark{background:var(--ink);color:var(--white)!important}
.site-header .btn{min-height:42px;padding:8px 18px;font-size:15px}
/* sections */
.sec{padding:88px 0}
.eyebrow{color:var(--lime);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:700;margin:0 0 12px}
.hero{padding:96px 0 88px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 85% 0%,rgba(198,255,0,.08),transparent 55%)}
.hero h1{font-size:clamp(38px,6vw,64px);font-weight:800;margin:0 0 20px;max-width:16ch}
.hero .sub{font-size:clamp(18px,2vw,21px);color:var(--body);max-width:62ch;margin:0 0 32px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.authority{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--gray);font-size:14px;padding:0;margin:0;list-style:none}
.authority li::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:8px;vertical-align:middle}
h2.title{font-size:clamp(30px,4vw,44px);font-weight:800;margin:0 0 16px}
.lead{font-size:19px;max-width:64ch;margin:0 0 40px}
.light{background:var(--paper);color:#262626}
.light h2,.light h3,.light h4{color:var(--ink)}
.light a{color:var(--green)}
.light .eyebrow{color:var(--green)}
.light .lead,.light p{color:#333}
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:18px;padding:28px}
.card h3{font-size:21px;margin:0 0 10px}
.card p{margin:0 0 14px;color:var(--gray)}
.card a.more{font-weight:600;text-decoration:none}
.light .card{background:var(--white);border-color:#E5E5E0}
.light .card p{color:#404040}
.steps{counter-reset:s;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:0;list-style:none}
.steps li{counter-increment:s;background:var(--white);border:1px solid #E5E5E0;border-radius:16px;padding:22px}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:Montserrat;font-weight:800;color:var(--green);font-size:14px;margin-bottom:6px}
.steps strong{display:block;color:var(--ink);font-size:18px;font-family:Montserrat}
.steps span{color:#404040;font-size:15px}
.price{border:1px solid #3a3a3a;border-radius:22px;padding:40px;background:var(--ink2)}
.price .big{font-family:Montserrat;font-weight:800;color:var(--white);font-size:clamp(40px,5vw,56px);margin:0}
.price .big small{font-size:20px;color:var(--gray);font-weight:600}
.ticks{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:10px}
.ticks li{padding-left:30px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:9px;border-left:3px solid var(--lime);border-bottom:3px solid var(--lime);transform:rotate(-45deg)}
.light .ticks li::before{border-color:var(--green)}
.founder{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:center}
.founder .mark{background:var(--ink);border-radius:24px;padding:48px;display:flex;justify-content:center}
.founder .mark img{width:min(260px,100%);height:auto}
details{border-bottom:1px solid var(--line);padding:20px 0}
details summary{cursor:pointer;font-weight:700;color:var(--white);font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::after{content:"+";color:var(--lime);font-size:24px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:12px 0 0;color:var(--gray)}
.final{text-align:center;background:radial-gradient(ellipse at 50% 120%,rgba(198,255,0,.12),transparent 60%)}
.final .lead{margin-left:auto;margin-right:auto}
.page-head{padding:80px 0 56px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(34px,5vw,54px);font-weight:800;margin:0 0 16px}
.prose h2{font-size:28px;margin:40px 0 12px}.prose p,.prose li{max-width:70ch}
form.book{display:grid;gap:14px;max-width:560px}
form.book label{font-weight:600;color:var(--white);font-size:15px}
form.book input,form.book textarea{width:100%;margin-top:6px;padding:14px;border-radius:12px;border:1px solid #3a3a3a;background:var(--ink2);color:var(--white);font:inherit}
form.book input:focus,form.book textarea:focus{outline:2px solid var(--lime);border-color:transparent}
.hp{position:absolute;left:-9999px}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:56px 0 96px;font-size:15px;color:var(--gray);background:#050505}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.site-footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px}
.site-footer a{color:var(--body);text-decoration:none;display:block;margin:6px 0}.site-footer a:hover{color:var(--lime)}
.site-footer img{height:40px;width:auto}
.copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:13px}
.sticky-cta{display:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media(max-width:860px){
 .site-nav{display:none}.site-header .wrap{height:64px}.logo img{height:38px}
 .sec{padding:64px 0}.hero{padding:56px 0 64px}
 .founder{grid-template-columns:1fr}.site-footer .wrap{grid-template-columns:1fr 1fr}
 .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px;background:rgba(10,10,10,.96);border-top:1px solid var(--line)}
 .sticky-cta .btn{flex:1}
}
@media(max-width:480px){.site-header .btn{display:none}.cta-row .btn{flex:1 1 100%}}
/* legacy content pages (6 SEO pages): restyle only */
.content{padding:48px 20px 64px;max-width:960px}
.content h1{font-size:clamp(30px,5vw,46px);margin:.2em 0 .5em}
.content h2{font-size:28px;margin:1.8em 0 .5em;border-left:4px solid var(--lime);padding-left:12px}
.content h3{font-size:20px;color:var(--lime);margin:1.4em 0 .4em}
.content h4,.content h5{color:var(--white);margin:1.2em 0 .3em}
.content p,.content li{color:var(--body)}
.content ul,.content ol{padding-left:1.4em}
.content table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:14px;display:block;overflow-x:auto}
.content th,.content td{border:1px solid var(--line);padding:10px;text-align:left}
.content th{background:var(--ink2);color:var(--white)}
.content img{max-width:100%;height:auto;border-radius:12px}
.content blockquote,.content nav{margin:1.2em 0;padding:16px 20px;background:var(--ink2);border:1px solid var(--line);border-radius:12px}
.content nav a{margin-right:14px}
.cta-box{margin:56px 0 0;padding:32px;border-radius:18px;background:var(--ink2);border:1px solid #3a3a3a;text-align:center}
.cta-box h2{border:0;padding:0;margin-top:0}
