:root{
  --bg:#f5f8fd; --surface:#ffffff; --ink:#0d1e36; --muted:#5b6e88; --soft:#8595ab;
  --line:#e5ecf5; --brand:#356bf3; --brand-deep:#2450c8; --navy:#0a1a30; --teal:#12a08d;
  --shadow:0 20px 55px rgba(13,32,60,.08); --shadow-lg:0 32px 80px rgba(9,26,52,.16);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{margin:0;text-wrap:balance;letter-spacing:-.02em;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
svg{display:block;}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px;}
.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--brand);}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:12px;font-size:14px;font-weight:750;cursor:pointer;border:1px solid transparent;transition:transform .15s,box-shadow .15s,background .15s;}
.btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.btn-primary{color:#fff;background:linear-gradient(135deg,#3f77f6,var(--brand-deep));box-shadow:0 14px 30px rgba(41,75,201,.28);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(41,75,201,.34);}
.btn-ghost{color:var(--ink);background:var(--surface);border-color:var(--line);}
.btn-ghost:hover{border-color:#bcd0f4;color:var(--brand-deep);}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(245,248,253,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;gap:24px;height:70px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.01em;}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(140deg,#3f77f6,var(--brand-deep));}
.brand-mark svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.brand b{color:var(--brand);}
.nav-links{display:flex;gap:26px;margin-left:14px;}
.nav-links a{color:var(--muted);font-size:14px;font-weight:600;}
.nav-links a:hover{color:var(--ink);}
.nav-actions{display:flex;align-items:center;gap:12px;margin-left:auto;}
.nav-login{color:var(--ink);font-size:14px;font-weight:700;}
.nav-status{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:#e7f7f1;color:#0d7d63;font-size:11px;font-weight:750;}
.nav-status i{width:7px;height:7px;border-radius:50%;background:#15b48c;box-shadow:0 0 0 4px rgba(21,180,140,.18);}
.nav-status.is-offline{background:#fdecee;color:#c23b4c;}
.nav-status.is-offline i{background:#e0556a;box-shadow:0 0 0 4px rgba(224,85,106,.18);}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding:78px 0 66px;}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.03em;margin:20px 0 0;}
.hero h1 em{font-style:italic;color:var(--brand);}
.hero-sub{max-width:46ch;margin-top:20px;color:var(--muted);font-size:17px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.hero-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:var(--soft);font-size:13px;}
.hero-trust span{display:inline-flex;align-items:center;gap:7px;}
.hero-trust svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

/* Sample report card */
.report{position:relative;padding:22px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);}
.report::before{content:"";position:absolute;inset:-16px -16px auto auto;width:150px;height:150px;background:radial-gradient(circle,rgba(53,107,243,.16),transparent 70%);z-index:-1;}
.report-top{display:flex;align-items:center;justify-content:space-between;}
.report-file{display:flex;align-items:center;gap:11px;}
.report-file .doc{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--brand);background:#eaf1ff;}
.report-file .doc svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;}
.report-file small{display:block;color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.report-file strong{font-size:14px;}
.report-done{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#e7f7f1;color:#0d7d63;font-size:11px;font-weight:800;}
.report-done svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.report-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;}
.score{padding:16px;border-radius:15px;border:1px solid var(--line);background:#fafbfe;}
.score .ring{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:20px;font-weight:600;}
.score.sim .ring{color:#245fd2;background:conic-gradient(#356bf3 43%,#e3ebf7 0);}
.score.ai .ring{color:#0d7d63;background:conic-gradient(#15b48c 8%,#e3ebf7 0);}
.score .ring span{width:42px;height:42px;border-radius:50%;background:#fafbfe;display:grid;place-items:center;}
.score p{margin-top:11px;color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.score b{display:block;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;margin-top:2px;}
.report-src{border-top:1px solid var(--line);padding-top:14px;}
.report-src-row{display:flex;align-items:center;gap:10px;margin-top:9px;}
.report-src-row:first-child{margin-top:0;}
.report-src-row span{flex:1;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bar{width:74px;height:6px;border-radius:6px;background:#e6ecf6;overflow:hidden;}
.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#5b8bf7,#356bf3);}
.w70{width:70%;}
.w45{width:45%;}
.w30{width:30%;}
.report-src-row b{width:34px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;}

/* Section frame */
section{padding:74px 0;}
.sec-cta{padding-top:0;}
.sec-head{max-width:640px;margin-bottom:42px;}
.sec-head.center{margin-inline:auto;text-align:center;}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.1;margin-top:16px;}
.sec-head p{margin-top:14px;color:var(--muted);font-size:16px;}
.center .eyebrow{justify-content:center;}

/* Pricing */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.price{position:relative;padding:30px;border-radius:20px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);}
.price-pro{border-color:#c9d8f7;background:linear-gradient(180deg,#fbfcff,#f2f6ff);}
.price-tag{display:inline-flex;align-items:baseline;gap:7px;}
.price-tag b{font-family:var(--serif);font-size:38px;font-weight:600;letter-spacing:-.02em;}
.price-tag span{color:var(--muted);font-size:14px;font-weight:600;}
.price h3{font-size:19px;margin:16px 0 6px;}
.price>p{color:var(--muted);font-size:14px;}
.price ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px;}
.price li{display:flex;gap:10px;color:var(--ink);font-size:14px;}
.price li svg{width:18px;height:18px;flex:0 0 auto;stroke:var(--teal);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px;}
.price .pill{position:absolute;top:22px;right:24px;padding:5px 11px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;}

/* Features 2x2 */
.grid-4{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.feature{display:flex;gap:16px;padding:26px;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);}
.feature .ic{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;color:var(--brand);background:#eaf1ff;}
.feature .ic svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.feature h3{font-size:17px;margin-bottom:7px;}
.feature p{color:var(--muted);font-size:14px;}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step{position:relative;padding:28px 24px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);}
.step .num{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3f77f6,var(--brand-deep));font-family:var(--serif);font-size:18px;font-weight:600;}
.step h3{font-size:17px;margin:16px 0 7px;}
.step p{color:var(--muted);font-size:14px;}

/* Security dark */
.security{background:radial-gradient(circle at 88% 0,rgba(53,107,243,.22),transparent 40%),var(--navy);color:#fff;border-radius:26px;padding:52px;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.security .eyebrow{color:#7fa8f7;}
.security .eyebrow::before{background:#7fa8f7;}
.security h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,36px);margin-top:16px;color:#fff;}
.security>div>p{color:#9db2cf;margin-top:14px;font-size:15px;max-width:44ch;}
.sec-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px;}
.sec-list li{display:flex;gap:12px;}
.sec-list svg{width:20px;height:20px;flex:0 0 auto;stroke:#4fd0b6;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.sec-list b{color:#eaf1fb;font-size:14px;}
.sec-list span{display:block;color:#8ea4c2;font-size:13px;}
.sec-visual{display:grid;place-items:center;}
.sec-shield{width:200px;height:200px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(79,208,182,.14),transparent 68%);border:1px solid rgba(127,168,247,.22);}
.sec-shield svg{width:74px;height:74px;stroke:#8fb2f8;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}

/* FAQ */
.faq{max-width:780px;margin-inline:auto;display:grid;gap:12px;}
details{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:4px 20px;box-shadow:var(--shadow);}
summary{list-style:none;cursor:pointer;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:15px;}
summary::-webkit-details-marker{display:none;}
summary .plus{width:22px;height:22px;flex:0 0 auto;position:relative;}
summary .plus::before,summary .plus::after{content:"";position:absolute;inset:50% 3px auto 3px;height:2px;border-radius:2px;background:var(--brand);transition:transform .2s;}
summary .plus::after{transform:rotate(90deg);}
details[open] summary .plus::after{transform:rotate(0);}
details p{color:var(--muted);font-size:14px;padding:0 0 18px;}

/* CTA */
.cta{position:relative;overflow:hidden;border-radius:26px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.16),transparent 42%),linear-gradient(130deg,#3f77f6,var(--brand-deep));color:#fff;}
.cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,36px);max-width:18ch;color:#fff;}
.cta .btn-ghost{background:#fff;border-color:#fff;color:var(--brand-deep);}

/* Footer */
footer{background:var(--navy);color:#9db2cf;padding:52px 0 30px;margin-top:74px;}
.foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.foot .brand{color:#fff;}
.foot-brand{max-width:280px;}
.foot-tag{margin-top:14px;font-size:13px;color:#7f95b4;}
.foot-cols{display:flex;gap:64px;flex-wrap:wrap;}
.foot-cols h4{color:#c7d5e8;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;}
.foot-cols a{display:block;color:#8ea4c2;font-size:14px;margin-bottom:9px;}
.foot-cols a:hover{color:#fff;}
.foot-base{margin-top:34px;padding-top:22px;border-top:1px solid rgba(127,168,247,.16);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#7f95b4;font-size:13px;}

@media(prefers-reduced-motion:reduce){*{transition:none!important;}}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:40px;padding:52px 0;}
  .price-grid,.grid-4,.steps,.security,.cta,.report-scores{grid-template-columns:1fr;}
  .security,.cta{padding:36px;}
  .nav-links{display:none;}
}
