:root{--ink: #14213d;--body: #3a4657;--muted: #636e7c;--line: #dce2e8;--panel: #f2f5f7;--surface: #ffffff;--accent: #0b5c5c;--accent-ink: #ffffff;--accent-soft: #e3f0ef;--pass: #1e7b4f;--pass-soft: #e5f3eb;--warn: #8a5a00;--warn-soft: #fbf1dc;--fail: #b42318;--fail-soft: #fbe9e7;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--wrap: 1120px;--radius: 6px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--body);font:16px/1.6 var(--sans)}img{max-width:100%}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--ink)}:focus-visible{outline:3px solid #7cc4c4;outline-offset:2px;border-radius:2px}h1,h2,h3{color:var(--ink);line-height:1.2;margin:0;font-weight:600}h1{font-size:clamp(32px,5vw,50px);letter-spacing:-.02em;max-width:18ch}h2{font-size:clamp(23px,3vw,30px);letter-spacing:-.01em;margin:0 0 16px}h3{font-size:18px;margin:0 0 8px}p{margin:0 0 16px;max-width:68ch}ul,ol{margin:0 0 16px;padding-left:22px;max-width:70ch}li{margin:0 0 8px}code,pre,kbd{font-family:var(--mono);font-size:.92em}:not(pre)>code{background:var(--panel);padding:1px 5px;border-radius:4px;color:var(--ink)}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:10}.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:#fffffff0;backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}.brand{font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:9px}.brand-mark{width:14px;height:14px;border:3px solid var(--accent);border-radius:3px;box-shadow:4px 4px 0 var(--accent-soft)}.nav{display:flex;gap:22px;align-items:center;font-size:15px}.nav a{color:var(--body);text-decoration:none;padding:6px 0}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}.nav a.nav-cta{border:1px solid var(--accent);color:var(--accent);padding:7px 14px;border-radius:var(--radius);font-weight:600}.nav a.nav-cta:hover,.nav a.nav-cta[aria-current=page]{background:var(--accent);color:#fff;text-decoration:none}.nav-mobile{display:none;position:relative}.nav-mobile summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius)}.nav-mobile summary::-webkit-details-marker{display:none}.burger,.burger:before,.burger:after{display:block;width:16px;height:2px;background:var(--ink);border-radius:2px;position:relative}.burger:before,.burger:after{content:"";position:absolute;left:0}.burger:before{top:-5px}.burger:after{top:5px}.nav-mobile[open] summary{background:var(--panel)}.nav-mobile nav{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #14213d24;padding:8px;min-width:230px;display:grid}.nav-mobile nav a{color:var(--ink);text-decoration:none;padding:11px 12px;border-radius:var(--radius);font-size:16px}.nav-mobile nav a:hover,.nav-mobile nav a[aria-current=page]{background:var(--accent-soft)}@media (max-width: 820px){.nav{display:none}.nav-mobile{display:block}}.site-footer{border-top:1px solid var(--line);margin-top:96px;padding:48px 0 56px;font-size:14px;color:var(--muted);background:var(--panel)}.footer-grid{display:grid;grid-template-columns:1.3fr 1.6fr 1fr .8fr;gap:32px}.footer-grid nav{display:grid;gap:7px;align-content:start}.footer-brand p{margin:12px 0 0;max-width:34ch}.footer-h{font-weight:600;color:var(--ink);margin:0 0 4px;font-size:14px}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--ink);text-decoration:underline}.site-footer .brand{color:var(--ink)}@media (max-width: 880px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.footer-grid{grid-template-columns:1fr;gap:24px}}main{display:block}.section{padding-top:56px}.lede{font-size:clamp(18px,2.2vw,20px);color:var(--body);max-width:60ch}.subhead{font-size:clamp(19px,2.4vw,22px);font-weight:600;color:var(--accent);margin:14px 0 0;max-width:60ch}.muted{color:var(--muted)}.small{font-size:14px}.crumbs{font-size:14px;color:var(--muted);padding-top:24px}.crumbs a{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--sans);padding:12px 18px;transition:background .15s,box-shadow .15s;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);text-decoration:none;cursor:pointer}.btn:hover{background:#084646;color:#fff}.btn.secondary{background:transparent;color:var(--accent)}.btn.secondary:hover{background:var(--accent-soft);color:var(--ink)}.btn.small{padding:8px 12px;font-size:14px}.btn:disabled{opacity:.55;cursor:default}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 0}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start;padding-top:56px}.hero h1{margin-bottom:20px}@media (max-width: 880px){.hero{grid-template-columns:1fr;gap:32px;padding-top:36px}}.sheet{border:1px solid var(--ink);border-radius:var(--radius);background:#fff;box-shadow:6px 6px 0 var(--panel);overflow:hidden}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.sheet-title{font-weight:600;color:var(--ink);font-size:15px}.sheet-sub{font-size:13px;color:var(--muted)}.sheet-body{padding:14px 16px 16px}.stamp{font:600 14px/1 var(--mono);padding:6px 10px;border:2px solid currentColor;border-radius:4px;letter-spacing:.04em}.stamp.PASS{color:var(--pass);background:var(--pass-soft)}.stamp.WARN{color:var(--warn);background:var(--warn-soft)}.stamp.FAIL{color:var(--fail);background:var(--fail-soft)}.facts{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;margin:0 0 12px}.facts b{color:var(--ink);font-weight:600}.findings{width:100%;border-collapse:collapse;font-size:14px}.findings th{text-align:left;font-weight:600;color:var(--muted);font-size:13px;padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}.findings td{padding:7px 8px 7px 0;border-bottom:1px solid var(--panel);vertical-align:top}.findings td.code{font-family:var(--mono);font-size:13px;color:var(--ink);white-space:nowrap}.findings td.sev-ERROR{color:var(--fail);font-weight:600}.findings td.sev-WARNING{color:var(--warn);font-weight:600}.table-scroll{overflow-x:auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:24px}.card{border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:10px;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{border-color:#b8d6d5;box-shadow:0 8px 24px #14213d14}.card.quiet{background:var(--panel);border-style:dashed}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{margin:0}.card .price{color:var(--ink);font-weight:600;margin-top:auto;padding-top:8px}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:12.5px;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted);background:#fff}.badge.tier{color:var(--accent);border-color:#b8d6d5;background:var(--accent-soft)}.badge.beta{color:var(--warn);border-color:#ecd49c;background:var(--warn-soft)}.badge.live{color:var(--pass);border-color:#b9dcc7;background:var(--pass-soft)}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;counter-reset:step;max-width:none}.steps li{counter-increment:step;border-top:2px solid var(--ink);padding-top:14px;margin:0}.steps li:before{content:counter(step);font:600 14px var(--mono);color:var(--accent);display:block;margin-bottom:6px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}@media (max-width: 880px){.split{grid-template-columns:1fr}}.checklist{list-style:none;padding:0}.checklist li{padding-left:26px;position:relative}.checklist li:before{content:"";position:absolute;left:2px;top:8px;width:11px;height:6px;border-left:2px solid var(--pass);border-bottom:2px solid var(--pass);transform:rotate(-45deg)}.note{border-left:3px solid var(--accent);background:var(--accent-soft);padding:14px 18px;border-radius:0 var(--radius) var(--radius) 0;margin:0 0 20px;max-width:72ch}.note p:last-child{margin:0}.note.warn{border-color:#d9a520;background:var(--warn-soft)}.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0;max-width:760px}.pack{border:1px solid var(--line);border-radius:var(--radius);padding:18px}.pack .amt{font-size:28px;font-weight:600;color:var(--ink)}.faq{border-top:1px solid var(--line);max-width:780px}.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--ink);list-style-position:outside}.faq details p{margin:0 0 14px}pre.code{background:#0f1b2d;color:#e6edf5;padding:16px;border-radius:var(--radius);overflow-x:auto;font-size:13.5px;line-height:1.55;margin:0 0 20px}.code-tabs{display:flex;gap:4px;margin-bottom:-1px}.code-tabs button{font:500 13px var(--sans);border:1px solid var(--line);border-bottom:0;background:var(--panel);color:var(--body);padding:6px 12px;border-radius:var(--radius) var(--radius) 0 0;cursor:pointer}.code-tabs button[aria-selected=true]{background:#0f1b2d;color:#fff;border-color:#0f1b2d}.code-tabs+pre.code{border-top-left-radius:0}.demo{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}.field{display:grid;gap:6px;margin:0 0 16px}.field label{font-weight:600;color:var(--ink);font-size:14px}.field .hint{font-size:13px;color:var(--muted)}input[type=text],input[type=email],textarea,select{font:15px var(--sans);color:var(--ink);border:1px solid #b9c3cd;border-radius:var(--radius);padding:10px 12px;width:100%;background:#fff}textarea{font-family:var(--mono);font-size:13px;min-height:120px;resize:vertical}input[type=file]{font:14px var(--sans)}.wh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0 0 16px}.wh-grid input[type=date]{font:15px var(--sans);color:var(--ink);border:1px solid #b9c3cd;border-radius:var(--radius);padding:9px 12px;width:100%;background:#fff}@media (max-width: 520px){.wh-grid{grid-template-columns:1fr}}.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:12px 0 0}.input-grid .field{align-content:start}.input-grid input{font:15px var(--sans);color:var(--ink);border:1px solid #b9c3cd;border-radius:var(--radius);padding:9px 12px;width:100%;background:#fff}@media (max-width: 520px){.input-grid{grid-template-columns:1fr}}.cmmc-family{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 8px;background:#fff}.cmmc-family summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:14px;padding:10px 12px}.cmmc-req{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:4px 12px;align-items:center;padding:8px 12px;border-top:1px solid var(--line)}.cmmc-req label{font-size:13.5px;color:var(--body)}.cmmc-req select{padding:7px 8px;font-size:14px}.cmmc-req .hint{grid-column:1 / -1}@media (max-width: 520px){.cmmc-req{grid-template-columns:1fr}}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent, #1a5fb4);text-decoration:underline;cursor:pointer}.estimate-inputs{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:0 0 16px;background:var(--panel)}.estimate-inputs summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:14px}.estimate{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.estimate .stars{font-size:20px;font-weight:700;color:var(--ink)}.deadline{display:flex;gap:16px;align-items:center;border:1px solid #f0d49b;background:var(--warn-soft);border-radius:var(--radius);padding:14px 16px;margin:20px 0;color:var(--ink);max-width:860px}.deadline-days{font-size:18px;white-space:nowrap;color:var(--warn)}.deadline-days b{font-size:26px}@media (max-width: 520px){.deadline{flex-direction:column;align-items:flex-start;gap:6px}}.costs{padding-left:20px;max-width:760px}.costs li{margin:0 0 10px}.costs li::marker{color:var(--fail)}.calc-result{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}.calc-big{display:flex;flex-direction:column;margin:0 0 12px}.calc-big b{font-size:28px;color:var(--ink);line-height:1.2}.calc-math{padding-left:18px;font-size:15px}.calc-math li{margin:0 0 6px}.calc-cta{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-weight:600;color:var(--ink)}.status-line{font-size:14px;color:var(--muted);margin:12px 0 0;min-height:22px}.error-box{border:1px solid #f0b8b1;background:var(--fail-soft);color:#7a1a12;padding:12px 14px;border-radius:var(--radius);font-size:14px;margin:12px 0 0}.ok-box{border:1px solid #a9d6bd;background:var(--pass-soft);color:#134d31;padding:12px 14px;border-radius:var(--radius);font-size:14px;margin:12px 0 0}.doc-table{width:100%;border-collapse:collapse;font-size:14.5px;margin:0 0 24px}.doc-table th,.doc-table td{text-align:left;padding:9px 12px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}.doc-table th{color:var(--muted);font-weight:600;font-size:13px}.doc-table td code{white-space:nowrap}.article{max-width:760px}.article h2{margin-top:40px}.article p,.article li{font-size:17px}.toc{font-size:14px;border-left:2px solid var(--line);padding-left:16px;margin:24px 0}.toc a{display:block;padding:3px 0;color:var(--body)}html{scroll-behavior:smooth;scroll-padding-top:80px}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (max-width: 600px){.findings{font-size:13px}.findings td.code{white-space:normal;word-break:break-all}.findings td code{word-break:break-all}.findings td.code.ids{word-break:normal;overflow-wrap:normal}.sheet-body{padding:12px}}@media (max-width: 640px){.doc-table td code{white-space:normal;overflow-wrap:anywhere}}.article p code,.article li code{overflow-wrap:anywhere}.guide-cta{margin:20px 0 28px}.guide-cta .btn{margin-right:10px;margin-bottom:6px}.hero-band{background:linear-gradient(180deg,var(--accent-soft) 0%,#f7fbfa 55%,var(--surface) 100%);border-bottom:1px solid var(--line);padding-bottom:56px}.eyebrow{font:600 13px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}.hero-sheet .sheet{max-height:520px;overflow:auto}.picker{margin:28px 0 0}.picker-h{font-weight:600;color:var(--ink);margin:0 0 10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;font:500 15px/1.2 var(--sans);padding:10px 14px;border-radius:999px;border:1px solid #b8d6d5;background:#fff;color:var(--ink);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.chip-price{font:600 12.5px var(--mono);color:var(--accent)}.chip.ghost{border-style:dashed;color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.chips.filter{margin:24px 0 4px}.chips.filter .chip{font-size:14px;padding:8px 12px}.trust{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;color:var(--body);max-width:none}.trust li{margin:0;padding-left:20px;position:relative}.trust li:before{content:"";position:absolute;left:2px;top:6px;width:9px;height:5px;border-left:2px solid var(--pass);border-bottom:2px solid var(--pass);transform:rotate(-45deg)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.section-head h2{margin:0}.section-head>a{font-weight:600;font-size:15px}.group-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px}.group-nav a{font-size:14px;padding:6px 12px;border-radius:999px;background:var(--panel);color:var(--body);text-decoration:none;border:1px solid var(--line)}.group-nav a:hover{background:var(--accent-soft);color:var(--ink);border-color:#b8d6d5}.group{padding-top:28px}h2.group-h,h3.group-h{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;padding-bottom:10px;border-bottom:1px solid var(--line)}.group .cards{margin-top:16px}.product-card .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.product-card h3{margin:0;font-size:18px}.product-card .badge{flex:none}.card-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--panel);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.card-foot .price{margin:0;padding:0;font-weight:600;color:var(--ink)}.card-foot .price .muted{font-weight:400;font-size:14px}.card-links{display:inline-flex;align-items:center;gap:14px}.card-links .more{font-size:14px;font-weight:600}.suggest{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;padding:16px 20px;border:1px dashed #b9c3cd;border-radius:10px;background:var(--panel)}.suggest p{margin:0}.tools-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.index-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}a.tool-card{text-decoration:none;color:var(--body);gap:6px}a.tool-card:hover{transform:translateY(-2px)}.tool-title{font-weight:600;color:var(--ink);font-size:17px;line-height:1.3;margin:0}a.tool-card:hover .tool-title{color:var(--accent)}a.tool-card .muted{font-size:14.5px}.dev-band{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--ink);color:#dfe6ee;border-radius:12px;padding:28px 32px}.dev-band h2{color:#fff;margin-bottom:8px}.dev-band p{margin:0;color:#c8d2dd;max-width:60ch}.dev-band .btn{background:#fff;color:var(--ink);border-color:#fff}.dev-band .btn:hover{background:var(--accent-soft)}.dev-band .btn.secondary{background:transparent;color:#fff;border-color:#7f8ea3}.dev-band .btn.secondary:hover{background:#ffffff14}@media (max-width: 520px){.dev-band{padding:22px 20px}.wrap{padding:0 16px}}.group .cards,#catalog .cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.hero-cta{margin:4px 0 28px}@media (max-width: 600px){.findings thead{display:none}.findings tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.findings td{border:0;padding:0}.findings td:nth-child(n+3){grid-column:1 / -1}#demo .sheet .sheet-body{max-height:70vh;overflow:auto}}.demo input[type=file]{display:block;width:100%;padding:22px 16px;border:2px dashed #b8d6d5;border-radius:10px;background:#f7fbfa;cursor:pointer;transition:border-color .15s,background .15s}.demo input[type=file]:hover,.demo input[type=file]:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.demo input[type=file]::file-selector-button{font:600 14px var(--sans);color:#fff;background:var(--accent);border:0;border-radius:var(--radius);padding:9px 14px;margin-right:12px;cursor:pointer}.upsell{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px;padding:14px 16px;border:1px solid #b8d6d5;background:var(--accent-soft);border-radius:10px}.upsell p{margin:0;flex:1 1 280px;font-size:14.5px;color:var(--ink)}
