/* ============================================================
   GENNOW: product-led homepage redesign
   Modern SaaS aesthetic: white + soft gray, single teal accent,
   Figtree + JetBrains Mono, hand-built product UI as the visual.
   Self-contained; does not depend on gennow.css.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&display=swap');
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#ffffff; --soft:#F6F8FA; --softer:#FAFBFC; --ink-panel:#0C1622;
  --ink:#0E1A2B; --ink2:#37475A; --muted:#697585; --faint:#9AA4B1;
  --line:#E5E9EF; --line2:#EEF1F5;
  --brand:#0E7C86; --brand-700:#0A5C64; --brand-600:#0C6E77; --brand-50:#E8F5F6; --brand-100:#CFEAEC;
  --indigo:#3E55D6; --indigo-50:#ECEEFB;
  --good:#1C9A6B; --good-50:#E7F5EE; --amber:#B8770C; --amber-50:#FAF1DC; --rose:#C24B4B; --rose-50:#FBECEC;
  --shadow-sm:0 1px 2px rgba(16,30,50,.06);
  --shadow:0 14px 34px -16px rgba(16,30,50,.22);
  --shadow-lg:0 40px 80px -28px rgba(13,26,45,.32);
  --r:14px; --r-sm:10px; --r-lg:22px; --r-pill:999px;
  --sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1200px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.55;
  font-size:17px;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{line-height:1.08;letter-spacing:-.026em;font-weight:700;color:var(--ink);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.mono{font-family:var(--mono);}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Caveat',cursive;font-size:1.4rem;font-weight:700;
  letter-spacing:.01em;text-transform:none;color:var(--brand-700);line-height:1;}
.eyebrow .dot{display:none;}
.section{padding:clamp(64px,9vw,116px) 0;}
.section.soft{background:var(--soft);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);}
.sec-head{max-width:680px;}
.sec-head.center{margin:0 auto;text-align:center;}
.sec-head h2{font-size:clamp(2rem,4vw,3rem);margin:14px 0 0;}
.sec-head p{color:var(--muted);font-size:1.12rem;margin-top:18px;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:600;
  font-size:.97rem;letter-spacing:-.01em;border-radius:var(--r-sm);padding:.72rem 1.15rem;cursor:pointer;border:1px solid transparent;
  transition:transform .14s ease,box-shadow .2s ease,background .15s,border-color .15s,color .15s;white-space:nowrap;}
.btn svg{width:1.05em;height:1.05em;}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(10,92,100,.4),0 6px 16px -8px rgba(10,92,100,.6);}
.btn-primary:hover{background:var(--brand-700);transform:translateY(-1px);}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm);}
.btn-ghost:hover{border-color:#CBD3DD;transform:translateY(-1px);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#1d2b40;transform:translateY(-1px);}
.btn-lg{padding:.92rem 1.5rem;font-size:1.04rem;border-radius:12px;}
.btn-block{width:100%;}
.lnk{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--brand-700);font-size:.97rem;}
.lnk svg{width:15px;height:15px;transition:transform .15s;}
.lnk:hover svg{transform:translateX(3px);}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.82);backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s;}
.nav.scrolled{border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(16,30,50,.02);}
.nav-in{height:66px;display:flex;align-items:center;gap:30px;}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.32rem;letter-spacing:-.04em;color:var(--ink);}
.brand .mk{width:26px;height:26px;border-radius:7px;background:var(--brand);display:grid;place-items:center;color:#fff;}
.brand .mk svg{width:15px;height:15px;}
.nav-links{display:flex;gap:4px;margin-left:6px;}
.nav-links a{padding:.5rem .7rem;border-radius:8px;font-size:.95rem;font-weight:500;color:var(--ink2);transition:.12s;}
.nav-links a:hover{background:var(--soft);color:var(--ink);}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:8px;}
.nav-cta .login{font-size:.95rem;font-weight:600;color:var(--ink2);padding:.5rem .6rem;}
.nav-cta .login:hover{color:var(--ink);}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:8px;cursor:pointer;color:var(--ink);}
.burger svg{width:20px;height:20px;display:block;}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-top:clamp(48px,7vw,84px);}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(680px 380px at 50% -8%, var(--brand-50), transparent 70%),
  radial-gradient(620px 420px at 88% 4%, var(--indigo-50), transparent 70%);}
.hero::after{content:"";position:absolute;left:0;right:0;top:0;height:100%;z-index:-1;
  background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);
  background-size:46px 46px;-webkit-mask-image:radial-gradient(700px 360px at 50% 0%,#000,transparent 78%);
          mask-image:radial-gradient(700px 360px at 50% 0%,#000,transparent 78%);opacity:.6;}
.hero-in{text-align:center;max-width:880px;margin:0 auto;}
.pill-badge{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:.34rem .8rem .34rem .42rem;font-size:.82rem;font-weight:600;color:var(--ink2);box-shadow:var(--shadow-sm);}
.pill-badge .tag{background:var(--brand-50);color:var(--brand-700);font-family:var(--mono);font-size:.66rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-pill);padding:.2rem .5rem;}
.hero h1{font-size:clamp(2.6rem,6vw,4.5rem);margin:24px 0 0;letter-spacing:-.04em;line-height:1.02;}
.hero h1 .g{color:var(--brand);}
.hero .sub{font-size:clamp(1.08rem,1.7vw,1.32rem);color:var(--ink2);max-width:660px;margin:22px auto 0;line-height:1.5;}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px;}
.hero-note{margin-top:18px;font-size:.86rem;color:var(--muted);display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.hero-note span{display:inline-flex;align-items:center;gap:7px;}
.hero-note svg{width:15px;height:15px;color:var(--good);}

/* ---------- app window mock (reusable) ---------- */
.appwin{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;}
.hero-shot{margin:clamp(40px,6vw,68px) auto 0;max-width:1080px;position:relative;}
.hero-shot .appwin{transform:perspective(1800px) rotateX(2deg);transform-origin:top center;}
.aw-bar{display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid var(--line2);background:var(--softer);}
.aw-dots{display:flex;gap:7px;}
.aw-dots i{width:11px;height:11px;border-radius:50%;background:#DCE1E8;}
.aw-url{flex:1;max-width:340px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:7px;
  font-family:var(--mono);font-size:.72rem;color:var(--muted);padding:.3rem .7rem;text-align:center;}
.aw-body{display:grid;grid-template-columns:212px 1fr;min-height:430px;}
.aw-side{border-right:1px solid var(--line2);padding:16px 12px;background:var(--softer);display:flex;flex-direction:column;gap:3px;}
.aw-side .ws{display:flex;align-items:center;gap:9px;padding:6px 8px 14px;border-bottom:1px solid var(--line2);margin-bottom:8px;}
.aw-side .ws .av{width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem;flex:0 0 auto;}
.aw-side .ws b{font-size:.86rem;font-weight:700;line-height:1.1;}
.aw-side .ws span{font-size:.7rem;color:var(--muted);}
.aw-nav{display:flex;align-items:center;gap:10px;padding:.5rem .6rem;border-radius:8px;font-size:.86rem;font-weight:500;color:var(--ink2);}
.aw-nav svg{width:16px;height:16px;color:var(--faint);}
.aw-nav.on{background:var(--brand-50);color:var(--brand-700);font-weight:600;}
.aw-nav.on svg{color:var(--brand);}
.aw-main{padding:22px 24px;overflow:hidden;}
.aw-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px;}
.aw-h h4{font-size:1.18rem;letter-spacing:-.02em;}
.aw-h .greet{font-size:.78rem;color:var(--muted);font-family:var(--mono);}
.aw-chip{font-size:.72rem;font-weight:700;font-family:var(--mono);letter-spacing:.02em;padding:.28rem .55rem;border-radius:7px;background:var(--good-50);color:var(--good);}

/* metric tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.tile{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;}
.tile .k{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px;}
.tile .v{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;margin-top:8px;line-height:1;}
.tile .d{font-size:.74rem;color:var(--muted);margin-top:5px;}
.tile .d.up{color:var(--good);font-weight:600;}
.dotmark{width:7px;height:7px;border-radius:50%;background:var(--brand);}

/* gauge ring */
.ring{--p:80;width:54px;height:54px;border-radius:50%;flex:0 0 auto;
  background:conic-gradient(var(--brand) calc(var(--p)*1%),#E9EDF2 0);display:grid;place-items:center;position:relative;}
.ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff;}
.ring b{position:relative;font-size:.95rem;font-weight:800;letter-spacing:-.02em;}
.ring.lg{width:128px;height:128px;}
.ring.lg::after{inset:14px;}
.ring.lg b{font-size:2rem;}
.ring.lg b small{display:block;font-family:var(--mono);font-size:.5rem;font-weight:600;color:var(--muted);letter-spacing:.08em;margin-top:2px;}

/* faux progress + list rows used across mocks */
.bar{height:7px;border-radius:var(--r-pill);background:#EDF0F4;overflow:hidden;}
.bar i{display:block;height:100%;border-radius:var(--r-pill);background:var(--brand);}
.lrow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:.86rem;}
.lrow:last-child{border-bottom:0;}
.lrow .ck{width:18px;height:18px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;}
.lrow .ck svg{width:11px;height:11px;}
.lrow .ck.done{background:var(--good-50);color:var(--good);}
.lrow .ck.todo{border:1.6px dashed #C7D0DA;}
.lrow .grow{flex:1;min-width:0;}
.lrow .pts{font-family:var(--mono);font-size:.7rem;color:var(--muted);}
.status{font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.03em;padding:.18rem .45rem;border-radius:6px;}
.status.ok{background:var(--good-50);color:var(--good);}
.status.warn{background:var(--amber-50);color:var(--amber);}
.status.new{background:var(--brand-50);color:var(--brand-700);}
.status.due{background:var(--rose-50);color:var(--rose);}
.aw-grid2{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;margin-top:14px;}
.panel{border:1px solid var(--line);border-radius:12px;padding:14px 15px;}
.panel .pt{font-size:.82rem;font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;}
.panel .pt .mini{font-family:var(--mono);font-size:.66rem;color:var(--muted);font-weight:600;}

/* ---------- trust strip ---------- */
.trust{padding:30px 0;border-bottom:1px solid var(--line2);}
.trust-in{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,64px);flex-wrap:wrap;}
.trust-in .t{display:flex;flex-direction:column;align-items:center;gap:2px;}
.trust-in .t b{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;}
.trust-in .t span{font-size:.8rem;color:var(--muted);font-family:var(--mono);letter-spacing:.02em;}

/* ---------- problem ---------- */
.prob-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:46px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;box-shadow:var(--shadow-sm);}
.stat-card .big{font-size:2.7rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink);}
.stat-card .lab{margin-top:10px;font-size:.96rem;color:var(--muted);}
.prob-note{margin-top:30px;display:flex;gap:13px;align-items:flex-start;background:var(--ink);color:#E7ECF2;border-radius:var(--r);
  padding:20px 24px;max-width:760px;}
.prob-note svg{width:20px;height:20px;color:var(--brand-100);flex:0 0 auto;margin-top:2px;}
.prob-note b{color:#fff;}

/* ---------- modules ---------- */
.flowline{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:30px 0 0;
  font-family:var(--mono);font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.02em;}
.flowline span{color:var(--ink);}
.flowline svg{width:14px;height:14px;color:var(--brand);}
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px;}
.mod{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--shadow-sm);
  transition:transform .18s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;}
.mod:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--brand-100);}
.mod .ic{width:46px;height:46px;border-radius:12px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-bottom:18px;}
.mod .ic svg{width:23px;height:23px;}
.mod .mname{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-700);}
.mod h3{font-size:1.3rem;margin:6px 0 8px;}
.mod p{color:var(--muted);font-size:.96rem;margin-bottom:16px;}
.mod ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.mod li{font-size:.88rem;color:var(--ink2);display:flex;gap:8px;align-items:flex-start;}
.mod li svg{width:15px;height:15px;color:var(--brand);flex:0 0 auto;margin-top:3px;}

/* ---------- product tabs ---------- */
.tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:40px 0 30px;}
.tab{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:.55rem 1.05rem;font-weight:600;font-size:.92rem;color:var(--ink2);cursor:pointer;transition:.14s;box-shadow:var(--shadow-sm);}
.tab svg{width:16px;height:16px;color:var(--faint);}
.tab:hover{border-color:#CBD3DD;}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.tab.on svg{color:var(--brand-100);}
.tabpanes{position:relative;max-width:1040px;margin:0 auto;}
.tpane{display:none;}
.tpane.on{display:block;animation:fade .35s ease;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.feat{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:center;}
.feat .copy h3{font-size:1.7rem;margin:10px 0 0;}
.feat .copy p{color:var(--muted);margin-top:14px;font-size:1.02rem;}
.feat .copy ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:10px;}
.feat .copy li{display:flex;gap:10px;font-size:.96rem;color:var(--ink2);}
.feat .copy li svg{width:18px;height:18px;color:var(--brand);flex:0 0 auto;margin-top:2px;}
.shot{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden;}
.shot-h{display:flex;align-items:center;gap:8px;padding:11px 15px;border-bottom:1px solid var(--line2);background:var(--softer);}
.shot-h .dots{display:flex;gap:6px;}
.shot-h .dots i{width:9px;height:9px;border-radius:50%;background:#DCE1E8;}
.shot-h .ttl{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-left:6px;}
.shot-b{padding:20px 22px;}

/* word-count meter mock (profile pane) */
.wfield{padding:11px 0;border-bottom:1px solid var(--line2);}
.wfield:last-child{border-bottom:0;}
.wfield .wt{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;font-weight:600;}
.wbadge{font-family:var(--mono);font-size:.64rem;font-weight:700;padding:.12rem .42rem;border-radius:6px;}
.wbadge.ok{background:var(--good-50);color:var(--good);}
.wbadge.lo{background:var(--amber-50);color:var(--amber);}
.wfield .bar{margin-top:8px;}

/* marketplace rows */
.mkrow{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line2);}
.mkrow:last-child{border-bottom:0;}
.mkrow .nm{font-weight:600;font-size:.92rem;}
.mkrow .meta{font-size:.76rem;color:var(--muted);font-family:var(--mono);margin-top:2px;}
.mkrow .fit{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--brand-700);background:var(--brand-50);padding:.24rem .5rem;border-radius:7px;}
.mkrow .amt{font-weight:700;font-size:.9rem;}

/* ---------- benefits / metrics ---------- */
.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:48px;}
.metric{text-align:left;border-left:2px solid var(--line);padding:4px 0 4px 18px;}
.metric .num{font-size:clamp(2rem,3.4vw,2.8rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink);}
.metric .num .u{color:var(--brand);}
.metric .cap{margin-top:9px;font-size:.9rem;color:var(--muted);}
@media(max-width:880px){.metrics{grid-template-columns:repeat(2,1fr);gap:26px 16px;}}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;align-items:start;}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.plan.feat-plan{border-color:var(--brand);box-shadow:var(--shadow);position:relative;}
.plan.feat-plan::before{content:"Most popular";position:absolute;top:-11px;left:28px;background:var(--brand);color:#fff;
  font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem;border-radius:var(--r-pill);}
.plan .pn{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-700);}
.plan .pdesc{color:var(--muted);font-size:.92rem;margin:8px 0 18px;min-height:42px;}
.plan .amt{display:flex;align-items:baseline;gap:5px;}
.plan .amt .n{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;}
.plan .amt .per{color:var(--muted);font-size:.9rem;}
.plan .seats{font-family:var(--mono);font-size:.74rem;color:var(--muted);margin-top:8px;}
.plan .btn{margin:22px 0 20px;}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.plan li{display:flex;gap:10px;font-size:.92rem;color:var(--ink2);}
.plan li svg{width:17px;height:17px;color:var(--brand);flex:0 0 auto;margin-top:2px;}
.price-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:26px;}

/* ---------- final cta ---------- */
.finalcta{position:relative;overflow:hidden;background:var(--ink-panel);border-radius:var(--r-lg);
  padding:clamp(48px,7vw,86px) 28px;text-align:center;color:#fff;}
.finalcta::before{content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background:radial-gradient(620px 320px at 50% -10%, rgba(14,124,134,.55), transparent 70%);}
.finalcta::after{content:"";position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:44px 44px;-webkit-mask-image:radial-gradient(600px 300px at 50% 0%,#000,transparent 75%);
          mask-image:radial-gradient(600px 300px at 50% 0%,#000,transparent 75%);}
.finalcta>*{position:relative;z-index:1;}
.finalcta h2{color:#fff;font-size:clamp(2rem,4.2vw,3.1rem);max-width:18ch;margin:0 auto;}
.finalcta p{color:#AEBccB;max-width:56ch;margin:20px auto 0;font-size:1.1rem;}
.finalcta .hero-cta{margin-top:30px;}
.finalcta .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(4px);}
.finalcta .btn-ghost:hover{background:rgba(255,255,255,.12);}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line2);padding:60px 0 40px;background:var(--softer);}
.foot-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:30px;}
.foot .brand{margin-bottom:14px;}
.foot .tag{color:var(--muted);font-size:.92rem;max-width:30ch;}
.foot h5{font-size:.74rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;}
.foot a.fl{display:block;color:var(--ink2);font-size:.92rem;padding:5px 0;}
.foot a.fl:hover{color:var(--brand-700);}
.foot-bot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line2);color:var(--muted);font-size:.85rem;}
.foot-bot .legal{display:flex;gap:18px;}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.rv.in{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .aw-body{grid-template-columns:1fr;}
  .aw-side{display:none;}
  .tiles{grid-template-columns:repeat(2,1fr);}
  .prob-grid{grid-template-columns:repeat(2,1fr);}
  .mods{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}
  .foot-top{grid-template-columns:1fr 1fr;gap:30px 20px;}
}
@media(max-width:760px){
  .nav-links{display:none;}
  .burger{display:inline-flex;}
  .feat{grid-template-columns:1fr;gap:24px;}
  .feat .shot{order:2;}
  .aw-grid2{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .prob-grid{grid-template-columns:1fr;}
  .mods{grid-template-columns:1fr;}
  .tiles{grid-template-columns:1fr 1fr;}
  .hero-shot .appwin{transform:none;}
  .foot-top{grid-template-columns:1fr;}
}
/* ===== inner-page components ===== */
.page-hero{position:relative;overflow:hidden;padding:clamp(58px,8vw,104px) 0 clamp(38px,5vw,64px);text-align:center;}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(620px 320px at 50% -12%,var(--brand-50),transparent 70%),radial-gradient(560px 360px at 86% 0%,var(--indigo-50),transparent 72%);}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(640px 300px at 50% 0%,#000,transparent 78%);mask-image:radial-gradient(640px 300px at 50% 0%,#000,transparent 78%);opacity:.5;}
.page-hero .in{max-width:800px;margin:0 auto;}
.page-hero h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:20px 0 0;letter-spacing:-.035em;}
.page-hero .sub{font-size:clamp(1.05rem,1.6vw,1.26rem);color:var(--ink2);max-width:620px;margin:20px auto 0;line-height:1.5;}
.page-hero .hero-cta{margin-top:30px;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;}
.split.alt .a{order:2;}
.split h2{font-size:clamp(1.7rem,3vw,2.4rem);}
.split p{color:var(--muted);margin-top:16px;font-size:1.05rem;}
@media(max-width:840px){.split{grid-template-columns:1fr;gap:30px;}.split.alt .a{order:0;}}

.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.cardgrid.c2{grid-template-columns:repeat(2,1fr);}
.cardgrid.c4{grid-template-columns:repeat(4,1fr);}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-sm);transition:transform .16s,box-shadow .2s,border-color .2s;}
.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--brand-100);}
.info-card .ic{width:42px;height:42px;border-radius:11px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-bottom:14px;}
.info-card .ic svg{width:21px;height:21px;}
.info-card .num{font-family:var(--mono);font-weight:700;color:var(--brand-700);font-size:.78rem;letter-spacing:.06em;margin-bottom:10px;}
.info-card h4{font-size:1.12rem;margin-bottom:7px;}
.info-card p{color:var(--muted);font-size:.93rem;}
@media(max-width:900px){.cardgrid,.cardgrid.c4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cardgrid,.cardgrid.c2,.cardgrid.c4{grid-template-columns:1fr;}}

.checklist{list-style:none;margin:18px 0 0;padding:0;}
.checklist li{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line2);}
.checklist li:last-child{border-bottom:0;}
.checklist .ck{width:24px;height:24px;border-radius:50%;flex:0 0 auto;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-top:1px;}
.checklist .ck svg{width:14px;height:14px;}
.checklist b{display:block;font-size:.98rem;}
.checklist span{color:var(--muted);font-size:.9rem;}

.tagcard{background:var(--ink-panel);color:#fff;border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow);}
.tagcard h4{color:#fff;font-size:1.18rem;}
.tagcard p{color:#AEBccB;font-size:.92rem;margin-top:8px;}
.tagcard .tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
.tagcard .tags span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);padding:.42rem .85rem;font-size:.86rem;font-weight:500;}

.faq{max-width:780px;margin:0 auto;}
.qa{border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden;}
.qa summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;font-size:1.02rem;display:flex;justify-content:space-between;gap:16px;align-items:center;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary .pm{flex:0 0 auto;width:20px;height:20px;color:var(--brand);transition:transform .2s;}
.qa[open] summary .pm{transform:rotate(45deg);}
.qa .ans{padding:0 22px 18px;color:var(--muted);font-size:.97rem;line-height:1.6;}

.cmp{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);margin-top:42px;}
.cmp-row{display:grid;grid-template-columns:1.1fr 1.5fr .7fr;border-bottom:1px solid var(--line2);}
.cmp-row:last-child{border-bottom:0;}
.cmp-row>div{padding:15px 20px;display:flex;align-items:center;}
.cmp-h{background:var(--soft);}
.cmp-h>div{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.cmp-h .gn{background:var(--brand);color:#fff;justify-content:center;}
.cmp-fn{font-weight:600;font-size:.95rem;}
.cmp-old{flex-wrap:wrap;gap:7px;}
.cmp-old span{background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:.25rem .55rem;font-size:.8rem;color:var(--muted);font-weight:500;}
.cmp-gn{justify-content:center;background:var(--brand-50);}
.cmp-gn svg{width:22px;height:22px;color:var(--brand);}
@media(max-width:680px){.cmp-row{grid-template-columns:1fr;}.cmp-h{display:none;}.cmp-row>div{border-bottom:1px solid var(--line2);}.cmp-row>div:last-child{border-bottom:0;}.cmp-gn{justify-content:flex-start;}.cmp-gn::before{content:"GENNOW: ";font-family:var(--mono);font-size:.7rem;color:var(--brand-700);margin-right:8px;font-weight:700;}}

.prose p{color:var(--ink2);font-size:1.05rem;margin-bottom:16px;max-width:68ch;}
.prose p:last-child{margin-bottom:0;}

.bignote{display:flex;gap:14px;align-items:flex-start;background:var(--ink);color:#E7ECF2;border-radius:var(--r);padding:22px 26px;}
.bignote svg{width:20px;height:20px;color:var(--brand-100);flex:0 0 auto;margin-top:2px;}
.bignote b{color:#fff;}

@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}.tpane.on{animation:none;}}
