:root{
  --blue:#1F77C0; --blue-bright:#2E93E6; --blue-deep:#0E2A44; --orange:#F2641E; --orange-soft:#FF7A3D;
  --ink:#14181B; --ink-2:#48535B; --ink-3:#7E8C97;
  --paper:#fff; --mist:#F5F7FA; --mist-2:#EDF1F6; --line:#E4EAF0; --night:#0B1822; --night-2:#0E2233;
  --r:16px; --shadow:0 24px 60px -28px rgba(14,42,68,.45); --shadow-sm:0 10px 30px -16px rgba(14,42,68,.3);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Sora',sans-serif;letter-spacing:-.02em;line-height:1.1}
a{text-decoration:none;color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
.eyebrow{font-family:'Sora';font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Sora';font-weight:600;font-size:.9rem;padding:12px 22px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:.2s}
.btn-sm{padding:9px 16px;font-size:.84rem}
.btn-lg{padding:14px 26px;font-size:.95rem}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 12px 28px -12px rgba(242,100,30,.6)}
.btn-orange:hover{transform:translateY(-2px)}
.btn-ghost{background:var(--mist-2);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-light{background:#fff;color:var(--ink)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:var(--blue)}
.btn-outline-d{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-outline-d:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* header */
.hdr{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;height:70px}
.hdr__logo img{height:32px;display:block}
.hdr__nav{display:flex;gap:26px}
.hdr__nav a{font-size:.9rem;font-weight:500;color:var(--ink-2)}
.hdr__nav a:hover{color:var(--ink)}
.hdr__cta{display:flex;gap:10px;align-items:center}

/* hero */
.hero{position:relative;background:var(--night);color:#fff;overflow:hidden;min-height:560px;display:flex;align-items:center}
.hero__bg{position:absolute;inset:0;background:
  radial-gradient(800px 460px at 78% 12%,rgba(46,147,230,.30),transparent 60%),
  radial-gradient(640px 420px at 8% 88%,rgba(242,100,30,.20),transparent 60%),
  linear-gradient(160deg,#0B1822,#0E2233 55%,#0B1A28)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero__track{position:relative;min-height:380px}
.banner{display:none;opacity:0;max-width:680px;padding:60px 0}
.banner.active{display:block;opacity:1;animation:fade .6s ease}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.banner .eyebrow{color:#7FC0FF;display:inline-block;margin-bottom:18px}
.banner__h{font-size:clamp(2.3rem,5vw,3.7rem);font-weight:800;margin-bottom:18px}
.banner__sub{font-size:1.12rem;color:#C7D6E3;margin-bottom:28px;max-width:560px}
.banner__cta{display:flex;gap:13px;flex-wrap:wrap}
.hero__dots{display:flex;gap:9px;padding:10px 0 30px}
.hero__dot{width:32px;height:5px;border-radius:3px;border:none;background:rgba(255,255,255,.22);cursor:pointer;transition:.3s}
.hero__dot.on{background:var(--orange);width:50px}

/* trust */
.trust{background:var(--ink);color:#fff;padding:22px 0}
.trust__in{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.trust__lbl{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#7E8C97}
.trust__logos{display:flex;gap:24px;flex-wrap:wrap}
.trust__logo{font-family:'Sora';font-weight:700;opacity:.62}

/* sections */
.section{padding:88px 0}
.section.dark{background:var(--night);color:#fff}
.section.bg-mist{background:var(--mist)}
.sec-head{max-width:680px;margin-bottom:46px}
.sec-head.center{margin:0 auto 46px;text-align:center}
.sec-head .h-sec{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800;margin:14px 0}
.section.dark .h-sec{color:#fff}
.lead{font-size:1.08rem;color:var(--ink-2)}
.section.dark .lead{color:#A9BCCB}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:.3s}
.fcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.fcard h3{font-size:1.15rem;margin-bottom:8px}
.fcard p{font-size:.93rem;color:var(--ink-2)}

/* editions */
.editions{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ed{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px;position:relative}
.ed--ent{background:linear-gradient(165deg,#0E2233,#0B1822);color:#fff;border-color:transparent}
.ed__tag{font-family:'Sora';font-weight:600;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.ed--ent .ed__tag{color:var(--orange-soft)}
.ed h3{font-size:1.6rem;margin:8px 0}
.ed__price{margin:10px 0}
.ed__price b{font-family:'Sora';font-weight:800;font-size:2rem}
.ed__price .per{display:block;font-size:.85rem;color:var(--ink-3);margin-top:2px}
.ed--ent .ed__price .per{color:#9FB4C6}
.ed__note{color:var(--ink-2);margin:14px 0;font-size:.95rem}
.ed--ent .ed__note{color:#C7D6E3}
.ed__list{list-style:none;margin:18px 0 24px;display:grid;gap:10px}
.ed__list li{padding-left:24px;position:relative;font-size:.94rem}
.ed__list li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:800}
.ed--ent .ed__list li::before{color:var(--orange-soft)}
.ed .btn{width:100%;justify-content:center}
.ed__ribbon{position:absolute;top:22px;right:22px;background:var(--orange);color:#fff;font-family:'Sora';font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px}

/* anchors */
.anchors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.anchor{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:24px}
.anchor--win{background:linear-gradient(165deg,rgba(242,100,30,.18),rgba(31,119,192,.1));border-color:var(--orange)}
.anchor__nm{font-family:'Sora';font-weight:600;font-size:.95rem;color:#C7D6E3;margin-bottom:10px}
.anchor--win .anchor__nm{color:#fff}
.anchor__price{font-family:'Sora';font-weight:800;font-size:1.5rem;line-height:1.15}
.anchor__note{font-size:.8rem;color:#8AA0B2;margin-top:10px}

/* steps */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.step__n{width:38px;height:38px;border-radius:10px;background:var(--mist-2);color:var(--blue);font-family:'Sora';font-weight:800;display:grid;place-items:center;margin-bottom:14px}
.step h4{font-size:1.05rem;margin-bottom:7px}
.step p{font-size:.9rem;color:var(--ink-2)}

/* demo */
.demo__card{background:linear-gradient(135deg,var(--blue),var(--blue-deep));border-radius:26px;padding:58px;text-align:center;color:#fff}
.demo__card h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:14px}
.demo__card p{font-size:1.1rem;color:#D6E5F2;max-width:540px;margin:0 auto}

/* footer */
.ft{background:var(--night);color:#fff;padding:64px 0 28px}
.ft__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:34px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft__logo{height:30px;margin-bottom:16px}
.ft__brand p{color:#9FB4C6;font-size:.9rem;max-width:300px}
.ft__col h5{font-family:'Sora';font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#7E8C97;margin-bottom:14px}
.ft__col a{display:block;color:#B9CEDF;font-size:.88rem;margin-bottom:9px}
.ft__col a:hover{color:#fff}
.ft__bot{display:flex;justify-content:space-between;padding-top:24px;font-size:.82rem;color:#7E8C97;flex-wrap:wrap;gap:10px}

@media(max-width:900px){
  .hdr__nav{display:none}
  .cards3,.anchors,.steps4,.ft__top{grid-template-columns:1fr 1fr}
  .editions{grid-template-columns:1fr}
}
@media(max-width:600px){
  .cards3,.anchors,.steps4,.ft__top{grid-template-columns:1fr}
  .section{padding:60px 0}
  .demo__card{padding:36px 22px}
}

/* ===== Community + auth (Phase 3) ===== */
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:.93rem}
.flash--ok{background:#e7f6ec;color:#15923f}
.flash--err{background:#fdecea;color:#c0392b}
.muted2{color:var(--ink-3);font-size:.9rem}
.backlink{font-size:.85rem;color:var(--blue);font-weight:600}

.comm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.comm-sub{font-family:'Sora';font-size:1.1rem;margin:34px 0 14px}
.comm-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ccat{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;transition:.2s}
.ccat:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.ccat__main b{font-family:'Sora';display:block;font-size:1.05rem}
.ccat__main span{font-size:.88rem;color:var(--ink-2)}
.ccat__n{font-family:'Sora';font-weight:800;font-size:1.4rem;color:var(--blue)}

.thread-list{display:flex;flex-direction:column;gap:10px}
.trow{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;transition:.2s}
.trow:hover{border-color:var(--blue)}
.trow__main b{font-family:'Sora';display:block}
.trow__main span{font-size:.82rem;color:var(--ink-3)}
.trow__stats{display:flex;gap:14px;font-size:.85rem;color:var(--ink-2)}

.thread{max-width:780px}
.thread__title{font-family:'Sora';font-size:1.9rem;margin:12px 0 6px}
.thread__meta{font-size:.85rem;color:var(--ink-3);margin-bottom:24px}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:14px}
.post--op{border-left:3px solid var(--orange)}
.post__author{font-family:'Sora';font-weight:600;font-size:.92rem;margin-bottom:8px}
.post__body{font-size:.97rem;line-height:1.7}
.post__body p{margin-bottom:10px}
.post__foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.post__date{font-size:.78rem;color:var(--ink-3)}
.likebtn{background:var(--mist);border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit;font-size:.84rem;color:var(--ink-2)}
.likebtn.on{background:#fdecea;border-color:#f3c0ba;color:#c0392b}
.likestatic{font-size:.84rem;color:var(--ink-3)}
.replies__h{font-family:'Sora';font-size:1.05rem;margin:26px 0 12px}
.replyform{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-top:18px}
.replyform label{font-family:'Sora';font-weight:600;font-size:.9rem;display:block;margin-bottom:8px}
.replyform textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px;font:inherit;margin-bottom:12px}

.auth{max-width:560px}
.auth__head{margin-bottom:24px}
.authform{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.authform label{font-family:'Sora';font-weight:600;font-size:.85rem;display:block;margin:14px 0 6px}
.authform input,.authform select,.authform textarea{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:11px 13px;font:inherit}
.authform .tworow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.authform .fe{color:#c0392b;font-size:.78rem;display:block;margin-top:4px}
.formerr{background:#fdecea;color:#c0392b;border-radius:9px;padding:10px 13px;font-size:.86rem}
.formerr:empty{display:none}
.rememberrow{display:flex!important;align-items:center;gap:8px;font-weight:500!important;margin-top:14px}
.rememberrow input{width:auto!important}
.authalt{text-align:center;margin-top:16px;font-size:.9rem;color:var(--ink-2)}

@media(max-width:760px){.comm-cats{grid-template-columns:1fr}.authform .tworow{grid-template-columns:1fr}}

/* ===== Download page (Phase 4) ===== */
.dl{max-width:1000px}
.dl__head{text-align:center;margin-bottom:40px}
.dl__head .lead{margin:10px auto 0;max-width:600px}
.dl__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.dl__empty{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:40px;text-align:center;color:var(--ink-2)}
.rel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:16px}
.rel__v{font-family:'Sora';font-weight:800;font-size:1.7rem;display:flex;align-items:center;gap:10px}
.rel__latest{font-size:.66rem;background:var(--orange);color:#fff;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.rel__notes{color:var(--ink-2);margin:10px 0}
.rel__meta{list-style:none;margin-top:14px;display:grid;gap:7px}
.rel__meta li{font-size:.88rem;color:var(--ink-2);padding-left:18px;position:relative}
.rel__meta li::before{content:'•';position:absolute;left:0;color:var(--blue)}
.dl__trust{background:var(--mist-2);border-radius:var(--r);padding:18px;font-size:.88rem;color:var(--ink-2)}
.dl__form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.dl__form h3{font-family:'Sora';margin-bottom:14px}
.dl__form label{font-family:'Sora';font-weight:600;font-size:.85rem;display:block;margin:12px 0 6px}
.dl__form input{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:11px 13px;font:inherit}
.dl__form .tworow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dl__form .fe{color:#c0392b;font-size:.78rem}
@media(max-width:760px){.dl__grid,.dl__form .tworow{grid-template-columns:1fr}}
