:root {
  --ink:#101b2a;
  --muted:#5f6b78;
  --blue:#0878b9;
  --blue-dark:#075b8a;
  --orange:#c95400;
  --orange-soft:#fff2e8;
  --paper:#fff;
  --wash:#f1f4f6;
  --line:#cfd7de;
  --dark:#17283a;
  --max:1080px;
  --shadow:0 16px 40px rgba(16,27,42,.09);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; line-height:1.62; }
a { color:var(--blue-dark); }
img { display:block; max-width:100%; }
.container { width:min(var(--max),calc(100% - 48px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.header-inner { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand img { width:auto; height:38px; }
.nav { display:flex; align-items:center; gap:20px; font-size:.9rem; font-weight:800; }
.nav a { color:var(--ink); text-decoration:none; }
.nav a:hover { color:var(--blue-dark); }
.nav .nav-cta { min-height:42px; padding:0 16px; display:inline-flex; align-items:center; color:#fff; background:var(--blue); border-radius:4px; }
.breadcrumbs { padding:16px 0; color:var(--muted); font-size:.84rem; }
.breadcrumbs a { color:var(--blue-dark); text-decoration:none; }
.hero { padding:62px 0 68px; border-bottom:1px solid var(--line); background:linear-gradient(115deg,#eef2f4 0%,#fff 65%); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:52px; align-items:center; }
.eyebrow,.section-label { margin:0 0 13px; color:var(--blue-dark); font-size:.78rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(2.55rem,5vw,4.7rem); line-height:1; letter-spacing:-.045em; }
h1 em { color:var(--orange); font-style:normal; }
h2 { margin:0; font-size:clamp(1.75rem,3vw,2.8rem); line-height:1.1; letter-spacing:-.03em; }
h3 { margin:0 0 8px; font-size:1.08rem; }
.lead { max-width:780px; margin:21px 0 0; color:var(--muted); font-size:1.08rem; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 20px; border:1px solid transparent; border-radius:4px; text-decoration:none; font-weight:800; }
.btn-primary { color:#fff; background:var(--blue); }
.btn-primary:hover { background:var(--blue-dark); }
.btn-secondary { color:var(--ink); border-color:#aeb9c3; background:#fff; }
.fact-panel { padding:25px; border:1px solid var(--line); border-top:5px solid var(--orange); background:#fff; box-shadow:var(--shadow); }
.fact-panel h2 { font-size:1.25rem; letter-spacing:0; }
.fact-list { display:grid; gap:0; margin-top:14px; }
.fact { padding:13px 0; border-top:1px solid var(--line); }
.fact strong { display:block; font-size:.92rem; }
.fact span { color:var(--muted); font-size:.9rem; }
main section { padding:70px 0; border-bottom:1px solid var(--line); }
main section.alt { background:var(--wash); }
.section-intro { max-width:780px; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.grid-2 > * { min-width:0; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px; }
.card { height:100%; padding:24px; border:1px solid var(--line); border-top:4px solid var(--blue); background:#fff; }
.card.orange { border-top-color:var(--orange); }
.card p { margin:0; color:var(--muted); }
.prose { max-width:820px; }
.prose p,.prose li { color:var(--muted); }
.prose h2 { margin-top:42px; }
.prose h2:first-child { margin-top:0; }
.prose h3 { margin-top:26px; }
.prose ul,.prose ol { padding-left:22px; }
.prose li { margin:9px 0; }
.workflow { counter-reset:item; margin-top:28px; border:1px solid var(--line); background:#fff; }
.workflow > div { position:relative; padding:20px 22px 20px 72px; border-bottom:1px solid var(--line); }
.workflow > div:last-child { border-bottom:0; }
.workflow > div::before { counter-increment:item; content:counter(item,decimal-leading-zero); position:absolute; left:22px; top:19px; color:var(--orange); font-weight:900; }
.workflow strong { display:block; }
.workflow span { color:var(--muted); }
.note { padding:21px 23px; border-left:5px solid var(--orange); background:var(--orange-soft); color:#5c3b25; }
.info { padding:21px 23px; border-left:5px solid var(--blue); background:#eaf5fb; color:#244456; }
.comparison { width:100%; margin-top:27px; border-collapse:collapse; background:#fff; }
.comparison th,.comparison td { padding:15px 17px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.comparison th { color:#fff; background:var(--dark); }
.comparison td { color:var(--muted); }
.download-panel { padding:30px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); }
.download-panel code,.prose code { overflow-wrap:anywhere; word-break:break-word; }
.download-form { display:grid; gap:14px; margin-top:24px; padding:22px; border:1px solid var(--line); background:var(--wash); }
.form-row { display:grid; gap:6px; }
.form-row label { font-size:.9rem; font-weight:800; }
.form-row input,.form-row select { width:100%; min-height:44px; padding:10px 12px; border:1px solid #aeb9c3; background:#fff; color:var(--ink); font:inherit; }
.form-help { color:var(--muted); font-size:.82rem; }
.hidden,.form-error { display:none; }
.form-error { padding:10px 12px; border:1px solid #c75a5a; color:#842323; background:#fff4f4; font-size:.9rem; }
.faq { display:grid; gap:12px; margin-top:28px; }
details { padding:19px 21px; border:1px solid var(--line); background:#fff; }
summary { cursor:pointer; font-weight:800; }
details p { margin:11px 0 0; color:var(--muted); }
.resource-links { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:28px; }
.resource-link { padding:22px; border:1px solid var(--line); background:#fff; text-decoration:none; }
.resource-link strong { display:block; color:var(--ink); }
.resource-link span { color:var(--muted); font-size:.92rem; }
.resource-link:hover { border-color:var(--blue); }
.final-cta { color:#fff; background:var(--dark); border-bottom:0; }
.final-cta .lead { color:#c8d3dc; }
.footer { padding:32px 0; color:#b9c5d0; background:#0e1b29; font-size:.88rem; }
.footer-inner { display:flex; justify-content:space-between; gap:24px; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px; }
.footer a { color:#d3dce4; }
@media(max-width:850px) {
  .hero-grid,.grid-2 { grid-template-columns:1fr; }
  .grid-3,.resource-links { grid-template-columns:1fr 1fr; }
  .nav a:not(.nav-cta) { display:none; }
}
@media(max-width:620px) {
  .container { width:min(var(--max),calc(100% - 28px)); }
  .brand img { height:32px; max-width:170px; }
  .nav .nav-cta { padding:0 12px; font-size:.82rem; }
  .hero { padding:44px 0 54px; }
  .grid-3,.resource-links { grid-template-columns:1fr; }
  main section { padding:55px 0; }
  .comparison { font-size:.87rem; }
  .comparison th,.comparison td { padding:11px; }
  .footer-inner { flex-direction:column; }
}
