/* PlatformOwn — shared styles.
   Self-contained: no CDN, no external fonts, nothing render-blocking. */

:root{
  --ink:#0f172a; --body:#334155; --muted:#64748b; --line:#e2e8f0;
  --bg:#fff; --soft:#f8fafc; --brand:#1d5fd0; --brandsoft:#eef4ff;
  --green:#047857; --greensoft:#ecfdf5; --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--body);line-height:1.65;font-size:16.5px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
.narrow{max-width:780px}
a{color:var(--brand)}
h1,h2,h3{color:var(--ink);line-height:1.22;margin:0 0 14px}
h1{font-size:clamp(28px,4.3vw,41px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(21px,3vw,27px);font-weight:700;margin-top:46px}
h3{font-size:19px;font-weight:650}
p{margin:0 0 16px}

/* header */
header.site{border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.logo{font-weight:800;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--brand)}
nav.site a{color:var(--body);text-decoration:none;margin-left:18px;font-size:15px;font-weight:500}
nav.site a:hover{color:var(--brand)}

/* hero */
.hero{padding:56px 0 44px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--soft),var(--bg))}
.lead{font-size:18.5px;color:var(--muted);max-width:680px;margin-bottom:22px}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--brand);background:var(--brandsoft);padding:5px 11px;border-radius:999px;margin-bottom:16px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.facts{display:flex;flex-wrap:wrap;gap:26px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.fact strong{display:block;font-size:21px;color:var(--ink);font-weight:800;line-height:1.2}
.fact span{font-size:13.5px;color:var(--muted)}

section{padding:6px 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.card{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--bg);display:flex;flex-direction:column}
.card h3{margin-bottom:8px}
.card p{font-size:15px;color:var(--muted);flex:1}
.card ul{font-size:14.5px;color:var(--muted);padding-left:19px;margin:0 0 14px}
.card li{margin-bottom:5px}
.go{font-weight:650;font-size:15px;text-decoration:none}
.go:hover{text-decoration:underline}
.tag{display:inline-block;font-size:12px;font-weight:600;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:2px 9px;margin-bottom:10px}
.price{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 12px}
.price small{font-weight:500;color:var(--muted);font-size:13.5px}

/* buttons */
.btn{display:inline-block;text-align:center;padding:11px 20px;border-radius:8px;font-size:15px;
  font-weight:650;text-decoration:none;background:var(--brand);color:#fff;border:1px solid var(--brand);cursor:pointer}
.btn:hover{background:#1750b4;text-decoration:none}
.btn[disabled]{opacity:.6;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--brand)}
.btn.ghost:hover{background:var(--brandsoft)}

/* comparison / included list */
.checks{list-style:none;padding:0;margin:0 0 18px;max-width:680px}
.checks li{position:relative;padding-left:28px;margin-bottom:9px;font-size:15.5px}
.checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:800}

.callout{background:var(--greensoft);border:1px solid #a7f3d0;border-radius:var(--r);
  padding:18px 20px;margin:22px 0;max-width:780px}
.callout p{margin:0;font-size:15.5px;color:#065f46}
.callout strong{color:#064e3b}

/* faq */
.faq{max-width:820px}
.faq details{border:1px solid var(--line);border-radius:var(--r);padding:0;margin-bottom:10px;background:var(--bg)}
.faq summary{cursor:pointer;padding:15px 18px;font-weight:650;color:var(--ink);font-size:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--brand);font-weight:700}
.faq details[open] summary::after{content:"−"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq .a{padding:15px 18px;font-size:15.5px;color:var(--body)}
.faq .a p{margin:0 0 12px}
.faq .a p:last-child{margin:0}

/* testimonials */
.quote{border-left:3px solid var(--brand);padding:4px 0 4px 18px;margin:0 0 22px;max-width:720px}
.quote p{font-size:16.5px;color:var(--ink);margin:0 0 8px}
.quote cite{font-style:normal;font-size:14px;color:var(--muted)}

/* contact form */
.contact-box{border:1px solid var(--line);border-radius:var(--r);background:var(--soft);padding:24px;max-width:720px}
.row{display:flex;gap:14px;flex-wrap:wrap}
.row .field{flex:1;min-width:210px}
.field{margin-bottom:14px;display:flex;flex-direction:column}
.field label{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:5px}
.field input,.field select,.field textarea{
  font:inherit;font-size:15px;color:var(--ink);background:#fff;
  border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;width:100%}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(29,95,208,.14)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#dc2626}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.cf-status{margin:12px 0 0;font-size:14.5px;font-weight:600;min-height:1.2em;display:block}
.cf-status.ok{color:var(--green)}
.cf-status.err{color:#dc2626}
.cf-fine{margin:14px 0 0;font-size:13.5px;color:var(--muted);line-height:1.55}
.cf-alt{margin:16px 0 0;font-size:14.5px;color:var(--muted)}

/* legal */
.legal{background:var(--soft);border-top:1px solid var(--line);margin-top:44px;padding:40px 0 10px}
.legal h2{margin-top:0}
.legal h3{font-size:16.5px;margin-top:22px}
.legal p,.legal li{font-size:15px}
.legal ul{padding-left:20px;margin:0 0 16px}
.legal li{margin-bottom:6px}
.updated{color:var(--muted);font-size:14px;margin-bottom:22px}

/* breadcrumb */
.crumb{font-size:14px;color:var(--muted);padding:14px 0 0}
.crumb a{text-decoration:none}

footer.site{border-top:1px solid var(--line);padding:24px 0 40px;color:var(--muted);font-size:14.5px}
.foot{display:flex;flex-wrap:wrap;gap:10px 0;justify-content:space-between;align-items:center}
footer.site a{color:var(--muted);text-decoration:none;margin-right:18px}
footer.site a:hover{color:var(--brand);text-decoration:underline}

@media(max-width:560px){
  nav.site a{margin-left:11px;font-size:13.5px}
  .hero{padding:40px 0 32px}
}
