:root{
  --ink:#0B1220;
  --paper:#F6F7F9;
  --steel:#5B6472;
  --line:#DCE1E8;
  --signal:#2F6FED;
  --signal-dim:#E7EEFD;
  --flag:#C9832E;
  --ok:#2E8B57;
  --warn:#B23B3B;
  --panel:#FFFFFF;
  --mono:'JetBrains Mono', monospace;
  --sans:'IBM Plex Sans', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.5;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:48px 48px; background-attachment:fixed;
}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--signal); font-weight:600; display:flex; align-items:center; gap:8px;}
.eyebrow::before{content:"["; color:var(--steel);}
.eyebrow::after{content:"]"; color:var(--steel);}

header.site{position:sticky; top:0; z-index:50; background:rgba(246,247,249,0.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1180px; margin:0 auto;}
.brand{font-family:var(--mono); font-weight:700; font-size:14.5px; letter-spacing:.02em; display:flex; align-items:center; gap:10px;}
.logo-img{width:auto; height:36px; max-width:100%px; object-fit:contain; flex-shrink:0; display:block;}
.brand-text{display:inline-block; line-height:1.25;}
.brand-text small{display:block; font-family:var(--sans); font-size:8.5px; font-weight:400; color:var(--steel); letter-spacing:.14em; text-transform:uppercase; margin-top:2px; white-space:nowrap;}
.navlinks{display:flex; gap:24px; font-size:13.5px; font-weight:500;}
.navlinks a{color:var(--steel); transition:color .15s;}
.navlinks a.active, .navlinks a:hover{color:var(--ink);}
.navcta{font-family:var(--mono); font-size:12.5px; font-weight:600; padding:9px 16px; background:var(--ink); color:var(--paper); border-radius:3px;}
.nav-toggle{display:none; flex-direction:column; justify-content:center; gap:4px; width:40px; height:38px; padding:0 9px; background:var(--panel); border:1px solid var(--line); border-radius:3px; cursor:pointer;}
.nav-toggle span{display:block; height:2px; width:100%; background:var(--ink); border-radius:1px; transition:transform .15s, opacity .15s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.page-hero{padding:56px 32px 40px;}
.page-hero h1{font-family:var(--mono); font-size:34px; font-weight:700; letter-spacing:-.01em; margin:14px 0 12px;}
.page-hero p{color:var(--steel); max-width:640px; font-size:15.5px;}

section{padding:64px 32px; border-top:1px solid var(--line);}
h2.section-title{font-family:var(--mono); font-size:26px; font-weight:700; margin:10px 0 12px; letter-spacing:-.01em;}
h3.sub-title{font-family:var(--mono); font-size:17px; font-weight:700; margin-bottom:10px;}
p.section-lead{color:var(--steel); max-width:620px; margin-bottom:38px; font-size:15px;}

.btn-primary{font-family:var(--mono); font-weight:600; font-size:14px; padding:13px 22px; background:var(--signal); color:#fff; border-radius:3px; display:inline-block; border:1px solid var(--signal); transition:transform .1s;}
.btn-primary:hover{transform:translateY(-1px);}
.btn-ghost{font-family:var(--mono); font-weight:600; font-size:13px; padding:11px 20px; border:1px solid var(--ink); border-radius:3px; display:inline-block;}
.btn-small{font-family:var(--mono); font-weight:600; font-size:12px; padding:8px 14px; border:1px solid var(--line); border-radius:3px; display:inline-block; background:var(--panel);}

/* notices */
.notice-banner{background:#FBF3E3; border:1px dashed var(--flag); color:#8A5A16; font-family:var(--mono); font-size:12px; padding:10px 16px; border-radius:4px; margin-bottom:24px;}

.stat-bar{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.stat-box{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:22px; text-align:center;}
.stat-box .n{font-family:var(--mono); font-size:26px; font-weight:700; color:var(--signal);}
.stat-box .l{font-size:12px; color:var(--steel); text-transform:uppercase; letter-spacing:.05em; margin-top:4px;}

/* product catalog */
.catalog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.product-card{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:22px; display:flex; flex-direction:column;}
.product-card .id{font-family:var(--mono); font-size:10.5px; color:var(--signal); font-weight:700; margin-bottom:10px;}
.product-card h4{font-size:16px; font-weight:600; margin-bottom:6px;}
.product-card .meta{font-family:var(--mono); font-size:11px; color:var(--steel); margin-bottom:12px;}
.product-card ul{list-style:none; font-size:13px; color:var(--ink); margin-bottom:16px;}
.product-card ul li{padding:3px 0; display:flex; gap:8px;}
.product-card ul li::before{content:"—"; color:var(--steel);}
.product-card .foot{margin-top:auto; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:14px;}
.product-card .price{font-family:var(--mono); font-weight:700; font-size:16px;}

/* pricing */
.pricing-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.price-card{background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:26px; display:flex; flex-direction:column;}
.price-card.featured{border-color:var(--signal); box-shadow:0 12px 30px -18px rgba(47,111,237,.4); position:relative;}
.price-card.featured::before{content:"MOST POPULAR"; position:absolute; top:-11px; left:26px; background:var(--signal); color:#fff; font-family:var(--mono); font-size:10px; padding:3px 10px; border-radius:3px; letter-spacing:.05em;}
.price-card h4{font-family:var(--mono); font-size:15px; margin-bottom:8px;}
.price-card .amt{font-family:var(--mono); font-size:30px; font-weight:700; margin-bottom:2px;}
.price-card .per{font-size:12px; color:var(--steel); margin-bottom:18px;}
.price-card ul{list-style:none; font-size:13.5px; margin-bottom:20px; flex-grow:1;}
.price-card ul li{padding:6px 0; border-bottom:1px solid var(--line);}
.price-card ul li:last-child{border-bottom:none;}

/* trust center */
.trust-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.trust-item{padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:6px;}
.trust-item .dot{width:8px; height:8px; border-radius:50%; background:var(--ok); display:inline-block; margin-right:8px;}
.trust-item h4{font-size:14.5px; font-weight:600; margin-bottom:6px; display:flex; align-items:center;}
.trust-item p{font-size:13px; color:var(--steel);}

/* timeline (about) */
.timeline{border-left:2px solid var(--line); margin-left:8px;}
.tl-item{position:relative; padding:0 0 28px 26px;}
.tl-item::before{content:""; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--signal); border:2px solid var(--paper);}
.tl-item .yr{font-family:var(--mono); font-weight:700; font-size:13px; color:var(--signal);}
.tl-item h4{font-size:15px; margin:4px 0 4px;}
.tl-item p{font-size:13.5px; color:var(--steel);}

/* faq accordion */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{padding:18px 0; font-weight:600; font-size:15px; cursor:pointer; list-style:none; display:flex; justify-content:space-between;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:var(--mono); color:var(--signal); font-size:18px;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding-bottom:18px; color:var(--steel); font-size:14px; max-width:640px;}

/* portal prototype */
.portal-shell{display:grid; grid-template-columns:220px 1fr; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--panel);}
.portal-side{background:var(--ink); color:#9FB0CC; padding:20px 0;}
.portal-side .p-item{padding:11px 24px; font-size:13.5px; display:flex; align-items:center; gap:10px; cursor:default;}
.portal-side .p-item.active{background:rgba(255,255,255,.06); color:#fff; border-left:3px solid var(--signal);}
.portal-main{padding:26px;}
.portal-main h4{font-family:var(--mono); font-size:14px; margin-bottom:16px; color:var(--steel); text-transform:uppercase; letter-spacing:.05em;}
.portal-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.portal-table th{text-align:left; font-family:var(--mono); font-size:11px; text-transform:uppercase; color:var(--steel); padding:8px 10px; border-bottom:1px solid var(--line);}
.portal-table td{padding:10px 10px; border-bottom:1px solid var(--line);}
.badge{font-family:var(--mono); font-size:10.5px; padding:3px 8px; border-radius:3px; font-weight:600;}
.badge.ok{background:#E5F3EA; color:var(--ok);}
.badge.pending{background:#FBF3E3; color:var(--flag);}

/* testimonials */
.testi-card{background:var(--panel); border:1px dashed var(--line); border-radius:6px; padding:20px; font-size:13.5px; color:var(--steel);}

footer{padding:36px 32px; border-top:1px solid var(--line);}
.footer-cols{display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:24px; margin-bottom:28px;}
.footer-cols h5{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--steel); margin-bottom:12px;}
.footer-cols ul{list-style:none; font-size:13px;}
.footer-cols ul li{margin-bottom:8px;}
.footer-cols ul li a:hover{color:var(--signal);}
.footer-legal{font-family:var(--mono); font-size:11px; color:var(--steel); line-height:1.7; border-top:1px solid var(--line); padding-top:20px;}

@media (max-width:960px){
  .catalog-grid{grid-template-columns:1fr 1fr;}
  .pricing-grid{grid-template-columns:1fr 1fr;}
  .trust-grid{grid-template-columns:1fr 1fr;}
  .stat-bar{grid-template-columns:1fr 1fr;}
  .footer-cols{grid-template-columns:1fr 1fr;}
  .portal-shell{grid-template-columns:1fr;}
  .navlinks{display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 16px 30px -18px rgba(11,18,32,.25); padding:8px 0;}
  .navlinks.open{display:flex;}
  .navlinks a{padding:13px 24px; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink);}
  .navlinks a:first-child{border-top:none;}
  .nav-toggle{display:flex;}
  .navcta{display:none;}
  .nav{position:relative;}
}
@media (max-width:600px){
  .catalog-grid, .pricing-grid, .trust-grid, .stat-bar, .footer-cols{grid-template-columns:1fr;}
  .wrap{padding:0 18px;}
  .nav{padding:12px 16px;}
  .brand{font-size:12px; gap:8px;}
  .brand-text small{font-size:8.5px;}
  .logo-img{height:30px; max-width:100%;}
  .navcta{font-size:11px; padding:8px 11px;}
  section{padding:40px 18px;}
  .page-hero{padding:36px 18px 26px;}
  .page-hero h1{font-size:25px;}
  .page-hero p{font-size:14px;}
  h2.section-title{font-size:20px;}
  h3.sub-title{font-size:15px;}
  .btn-primary{width:100%; text-align:center;}
  .btn-ghost{width:100%; text-align:center;}
  .product-card, .price-card, .trust-item{padding:18px;}
  .portal-table{font-size:12px;}
  footer{padding:28px 18px;}
  .footer-legal{font-size:10px;}
}
img, svg, video{max-width:100%; height:auto;}
@media (prefers-reduced-motion: reduce){ *{transition:none !important;} }
:focus-visible{outline:2px solid var(--signal); outline-offset:2px;}
