:root{--cf-orange:#f6821f;--cf-orange-dark:#d96a08;--cf-orange-soft:#fff4e8;--cf-blue:#2f7bbf;--ink:#1b1f24;--ink-2:#3d4550;--ink-3:#6b7480;--line:#e4e8ee;--line-2:#eef1f5;--bg:#fff;--bg-2:#f7f9fb;--bg-3:#fbfcfd;--radius:12px;--radius-sm:8px;--maxw:1120px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}a{color:var(--cf-orange-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}html{scroll-behavior:smooth}section[id]{scroll-margin-top:84px}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.site-header{z-index:50;backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.site-header .inner{align-items:center;gap:28px;height:64px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.logo:hover{text-decoration:none}.logo-cf{align-items:center;display:inline-flex}.logo-cf svg{width:42px;height:20px;display:block}.nav{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;align-items:center;gap:4px;margin-left:auto;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav>a{white-space:nowrap;color:var(--ink-2);border-radius:8px;padding:7px 11px;font-size:14.5px;font-weight:500;transition:color .15s,background .15s;position:relative}.nav>a:hover{color:var(--cf-orange-dark);background:var(--bg-2);text-decoration:none}.nav>a.is-current{color:var(--cf-orange-dark);font-weight:600}.nav>a.is-current:after{content:"";background:var(--cf-orange);border-radius:2px;height:2px;position:absolute;bottom:0;left:11px;right:11px}.lang-switch{white-space:nowrap;border:1px solid var(--line);color:var(--ink-2);background:var(--bg);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:13px;display:inline-flex}.lang-switch svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:14px;height:14px}.lang-switch:hover{border-color:var(--cf-orange);color:var(--cf-orange-dark);text-decoration:none}.hero{background:linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 100%);border-bottom:1px solid var(--line);padding:72px 0 56px}.hero h1{letter-spacing:-.5px;max-width:780px;margin:0 0 18px;font-size:40px;line-height:1.25}.hero p{color:var(--ink-2);max-width:720px;margin:0 0 28px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid #0000;padding:11px 22px;font-size:15px;font-weight:600;transition:all .15s;display:inline-block}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--cf-orange);color:#fff}.btn-primary:hover{background:var(--cf-orange-dark);color:#fff}.btn-ghost{color:var(--ink);border-color:var(--line);background:#fff}.btn-ghost:hover{border-color:var(--cf-orange);color:var(--cf-orange-dark)}.section{padding:56px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:26px;display:flex}.section-head h2{letter-spacing:-.2px;margin:0;font-size:26px}.section-head .more{color:var(--ink-3);font-size:14px}.grid{gap:20px;display:grid}.grid-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:10px;padding:22px;transition:all .15s;display:flex}.card:hover{border-color:#d6dde6;text-decoration:none;box-shadow:0 6px 20px #141e3212}.card h3{margin:0;font-size:18px;line-height:1.4}.card h3 a{color:var(--ink)}.card p{color:var(--ink-3);margin:0;font-size:14.5px}.card-meta{color:var(--ink-3);flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px;font-size:12.5px;display:flex}.tag{background:var(--cf-orange-soft);color:var(--cf-orange-dark);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.page-head{border-bottom:1px solid var(--line);background:var(--bg-2);padding:48px 0 32px}.page-head h1{letter-spacing:-.3px;margin:0 0 10px;font-size:32px}.page-head p{color:var(--ink-2);margin:0;font-size:16px}.article-wrap{padding:44px 0 72px}.article{max-width:760px;margin:0 auto}.article-kicker{color:var(--cf-orange-dark);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700}.article h1{letter-spacing:-.4px;margin:10px 0 14px;font-size:34px;line-height:1.3}.article .lede{color:var(--ink-2);margin:0 0 18px;font-size:18px}.article-meta{color:var(--ink-3);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:14px;margin-bottom:30px;padding-bottom:18px;font-size:13.5px;display:flex}.prose{color:var(--ink);font-size:16.5px}.prose h2{letter-spacing:-.2px;margin:40px 0 14px;padding-top:8px;font-size:24px}.prose h3{margin:30px 0 10px;font-size:19px}.prose p{margin:0 0 18px}.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}.prose li{margin-bottom:8px}.prose blockquote{border-left:3px solid var(--cf-orange);background:var(--cf-orange-soft);color:var(--ink-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:22px 0;padding:14px 18px}.prose blockquote p:last-child{margin-bottom:0}.prose code{background:var(--bg-2);font-family:var(--font-mono);border:1px solid var(--line-2);border-radius:4px;padding:2px 6px;font-size:13.5px}.prose pre{color:#e6edf3;border-radius:var(--radius-sm);background:#1e2329;margin:0 0 22px;padding:18px 20px;font-size:13.5px;line-height:1.65;overflow-x:auto}.prose pre code{color:inherit;background:0 0;border:none;padding:0;font-size:13.5px}.prose table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:14.5px}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px 12px}.prose th{background:var(--bg-2);font-weight:600}.prose hr{border:none;border-top:1px solid var(--line);margin:36px 0}.prose img{border-radius:var(--radius-sm)}.prose figure.fig{margin:28px 0 30px}.prose figure.fig svg{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);width:100%;height:auto;display:block}.prose figure.fig figcaption{color:var(--ink-3);margin-top:10px;font-size:13.5px}.prose figure.fig .n-box{fill:var(--bg);stroke:var(--line);stroke-width:1.2px}.prose figure.fig .n-box-alt{fill:#fff;stroke:var(--cf-orange);stroke-width:1.4px}.prose figure.fig .n-num{font:600 12px var(--font);fill:#fff}.prose figure.fig .n-t{font:600 13px var(--font);fill:var(--ink)}.prose figure.fig .n-st{font:11px var(--font);fill:var(--ink-3)}.prose figure.fig .n-band{fill:var(--cf-orange-soft);stroke:var(--cf-orange);stroke-width:1.2px}.prose figure.fig .n-band-t{font:600 11.5px var(--font);fill:var(--cf-orange-dark)}.prose figure.fig .a-line{stroke:var(--ink-3);stroke-width:1.3px;fill:none}.prose figure.fig .a-mark{fill:var(--ink-3)}.prose figure.fig .swimlane{fill:none;stroke:var(--line);stroke-width:1px;stroke-dasharray:4 4}.sources{background:var(--bg-2);border-radius:var(--radius);margin-top:48px;padding:20px 22px;font-size:14px}.sources h3{margin:0 0 12px;font-size:15px}.sources ul{color:var(--ink-2);margin:0;padding-left:20px}.sources li{word-break:break-all;margin-bottom:6px}.refs{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);margin-top:40px;padding:20px 22px}.refs h3{margin:0 0 8px;font-size:17px}.refs-note{color:var(--ink-3);margin:0 0 12px;font-size:13.5px}.refs ul{margin:0;padding:0;list-style:none}.refs li{border-top:1px solid var(--line-2);padding:7px 0;font-size:13.5px}.refs li:first-child{border-top:none}.refs a{color:var(--cf-blue);word-break:break-all}.related{margin-top:40px}.related h3{margin:0 0 14px;font-size:18px}.related ul{margin:0;padding:0;list-style:none}.related li{border-bottom:1px solid var(--line-2);padding:10px 0}.related li:last-child{border-bottom:none}.article-cta{border:1px solid var(--line);background:linear-gradient(#fffdf8 0%,#fff 100%);border-radius:14px;margin-top:44px;padding:26px 28px}.article-cta-label{color:var(--ink-2);margin:0 0 12px;font-size:14px}.article-cta-label a{color:var(--cf-orange-dark);font-weight:600}.article-cta h3{margin:0 0 8px;font-size:20px}.article-cta p{color:var(--ink-2);margin:0 0 18px;font-size:15px}.article-cta-actions{flex-wrap:wrap;gap:12px;display:flex}.cta-band{background:var(--cf-orange-soft);text-align:center;border-top:1px solid #f6dfc4;padding:44px 0}.cta-band h2{margin:0 0 8px;font-size:24px}.cta-band p{color:var(--ink-2);margin:0 0 20px}.cta-partner{justify-content:center;margin-bottom:14px;display:flex}.cta-partner-badge{color:var(--ink-2);background:#fff;border:1px solid #f6dfc4;border-radius:999px;align-items:center;gap:8px;padding:7px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.cta-partner-badge svg{width:30px;height:14px;display:block}.cta-note{font-size:14.5px;color:var(--ink-3)!important;margin:0 0 12px!important}.cta-support{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 26px;padding:0;list-style:none;display:flex}.cta-support li{color:var(--ink-2);background:#fff;border:1px solid #f6dfc4;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}.site-footer{border-top:1px solid var(--line);background:var(--bg-2);padding:40px 0 32px}.site-footer .cols{flex-wrap:wrap;justify-content:space-between;gap:40px;display:flex}.site-footer h4{margin:0 0 10px;font-size:14px}.site-footer ul{margin:0;padding:0;font-size:14px;list-style:none}.site-footer li{margin-bottom:6px}.site-footer a{color:var(--ink-2)}.disclaimer{border-top:1px solid var(--line);color:var(--ink-3);margin-top:28px;padding-top:20px;font-size:12.5px;line-height:1.65}.table-wrap{overflow-x:auto}table.glossary{border-collapse:collapse;width:100%;font-size:14.5px}table.glossary th,table.glossary td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}table.glossary th{background:var(--bg-2);font-weight:600;position:sticky;top:0}table.glossary tr:hover td{background:var(--bg-3)}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-text strong{font-size:16px;font-weight:700}.logo-text em{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-style:normal}.nav a.is-current{color:var(--cf-orange-dark)}.nav-cta{background:var(--cf-orange);color:#fff;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}.nav-cta:hover{background:var(--cf-orange-dark);color:#fff;text-decoration:none}.hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--cf-orange-dark);margin:0 0 14px;font-size:12px;font-weight:700}.lead-para{color:var(--ink-2);max-width:780px;margin:0 0 18px;font-size:17px}.section.alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.layer{grid-template-columns:1fr 48px 1fr;align-items:stretch;gap:8px;margin-top:26px;display:grid}.layer-box{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px}.layer-box h3{margin:0 0 8px;font-size:17px}.layer-box p{color:var(--ink-3);margin:0;font-size:14.5px}.layer-box.is-edge{background:var(--cf-orange-soft);border-color:#f6dfc4}.layer-box.is-edge h3{color:var(--cf-orange-dark)}.layer-plus{color:var(--ink-3);justify-content:center;align-items:center;font-size:24px;display:flex}.pillar{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:22px}.pillar-k{color:var(--cf-orange-dark);letter-spacing:.1em;margin-bottom:6px;font-size:12px;font-weight:700}.pillar h3{margin:0 0 8px;font-size:19px}.pillar p{color:var(--ink-3);margin:0;font-size:14.5px}.hero-sub2{margin-bottom:24px!important;font-size:16.5px!important}.hero-tags{flex-wrap:wrap;gap:10px;margin:6px 0 0;padding:0;list-style:none;display:flex}.hero-tags a{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500;display:inline-block}.hero-tags a:hover{border-color:var(--cf-orange);color:var(--cf-orange-dark);text-decoration:none}.challenge-list{max-width:720px;margin:4px 0 0;padding:0;list-style:none}.challenge-list li{border-bottom:1px solid var(--line-2);color:var(--ink-2);padding:11px 0 11px 30px;font-size:16px;position:relative}.challenge-list li:before{content:"";background:var(--cf-orange);border-radius:50%;width:7px;height:7px;position:absolute;top:21px;left:8px}.sol-icon{background:var(--cf-orange-soft);width:40px;height:40px;color:var(--cf-orange-dark);border-radius:11px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.sol-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.sol-icon.is-globe{color:#2f7bbf;background:#eaf3fc}.sol-icon.is-shield{background:var(--cf-orange-soft);color:var(--cf-orange-dark)}.sol-icon.is-code{color:#6d4dc7;background:#f1edfb}.sol-icon.is-lock{color:#1f8a5b;background:#e8f6ef}.assess{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.assess-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:34px;box-shadow:0 10px 30px #141e320d}.assess-card h2{margin:0 0 10px;font-size:24px}.assess-card .lead-para{margin-bottom:20px}.assess-cta,.sol-grid{margin-top:24px}.sol-card{padding-top:26px;position:relative}.sol-num-sm{color:var(--cf-orange-dark);letter-spacing:.08em;font-size:12px;font-weight:700;position:absolute;top:16px;right:18px}.sol-card p{font-size:13.5px}.sol-num{letter-spacing:.12em;color:var(--cf-orange-dark);margin-bottom:8px;font-size:13px;font-weight:700}.sol-tagline{color:var(--ink-3);margin:6px 0 0;font-size:15px}.module{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:8px;padding:22px;display:flex;position:relative}.module h3{margin:0;font-size:18px}.module p{color:var(--ink-3);margin:0;font-size:14.5px}.module .tag{align-self:flex-start;margin-top:4px}.module-link{margin-top:2px;font-size:13.5px;font-weight:600}.check-list{margin:0;padding:0;list-style:none}.check-list li{border-bottom:1px solid var(--line-2);color:var(--ink-2);padding:9px 0 9px 26px;font-size:15px;position:relative}.check-list li:last-child{border-bottom:none}.check-list li:before{content:"";background:var(--cf-orange);border-radius:2px;width:8px;height:8px;position:absolute;top:17px;left:4px}.boundary-list{margin:0;padding:0;list-style:none}.boundary-list li{border-bottom:1px solid var(--line-2);color:var(--ink-2);padding:10px 0 10px 26px;font-size:15px;position:relative}.boundary-list li:last-child{border-bottom:none}.boundary-list li:before{content:"";border:1.5px solid var(--ink-3);border-radius:999px;width:8px;height:8px;position:absolute;top:18px;left:4px}.boundary-box{background:var(--bg-2);border-radius:var(--radius);border:1px solid var(--line);margin-top:28px;padding:22px}.boundary-box h4{margin:0 0 10px;font-size:16px}.faq{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);padding:4px 0}.faq-item summary{cursor:pointer;padding:16px 0;font-size:16px;font-weight:500;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"+";width:20px;color:var(--cf-orange-dark);font-weight:700;display:inline-block}.faq-item[open] summary:before{content:"−"}.faq-item p{color:var(--ink-2);margin:0 0 16px;padding-left:20px;font-size:15px}.back-home{margin-top:26px}.diag{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-top:22px;overflow:hidden}.diag-tabs{border-bottom:1px solid var(--line);background:var(--bg-2);display:flex}.diag-tab{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:13px 20px;font-family:inherit;font-size:14.5px;font-weight:600}.diag-tab.is-active{color:var(--cf-orange-dark);box-shadow:inset 0 -2px 0 var(--cf-orange);background:#fff}.diag-panel{padding:22px}.diag-form{gap:10px;display:flex}.diag-form input{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);flex:240px;padding:11px 14px;font-family:inherit;font-size:15px}.diag-form input:focus{border-color:var(--cf-orange);outline:none}.diag-note{color:var(--ink-3);margin:12px 0 0;font-size:13px}.diag-result{margin-top:18px}.diag-empty{color:var(--ink-3);margin:0;font-size:14.5px}.diag-rows{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.diag-row{border-bottom:1px solid var(--line-2);grid-template-columns:180px 90px 1fr;align-items:baseline;gap:10px;padding:11px 14px;font-size:14px;display:grid}.diag-row:last-child{border-bottom:none}.diag-label{color:var(--ink-2);font-weight:500}.diag-state{font-size:12.5px;font-weight:700}.diag-state.is-ok{color:#1d7a4c}.diag-state.is-missing{color:#b4472a}.diag-detail{color:var(--ink-3);word-break:break-all;font-size:13px}.diag-verdict{background:var(--cf-orange-soft);border-radius:var(--radius-sm);margin-top:18px;padding:18px 20px}.diag-verdict h4{margin:0 0 10px;font-size:15.5px}.diag-verdict ul{color:var(--ink-2);margin:0 0 14px;padding-left:20px;font-size:14.5px}.diag-verdict li{margin-bottom:7px}.diag-verdict li:last-child{margin-bottom:0}.self-list{margin:14px 0 0;padding:0;list-style:none}.self-list li{border-bottom:1px solid var(--line-2)}.self-list li:last-child{border-bottom:none}.self-list label{cursor:pointer;color:var(--ink-2);align-items:flex-start;gap:12px;padding:12px 0;font-size:15px;display:flex}.self-list input{width:16px;height:16px;accent-color:var(--cf-orange);flex:none;margin-top:5px}.steps{counter-reset:s;margin:0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--line-2);gap:14px;padding:14px 0;display:flex}.steps li:last-child{border-bottom:none}.steps li span{background:var(--cf-orange-soft);width:26px;height:26px;color:var(--cf-orange-dark);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.steps li p{color:var(--ink-2);margin:0;font-size:15px}.contact-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:24px}.contact-box h4{margin:0 0 10px;font-size:16px}.contact-mail{margin:0 0 10px;font-size:18px;font-weight:600}.contact-note{color:var(--ink-3);margin:0;font-size:14px}.lead-form{flex-direction:column;gap:16px;max-width:760px;display:flex}.lead-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.lead-field{flex-direction:column;gap:6px;display:flex}.lead-field label{color:var(--ink-2);font-size:13.5px;font-weight:600}.lead-field input,.lead-field select,.lead-field textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:10px 12px;font-size:15px}.lead-field textarea{resize:vertical;line-height:1.6}.lead-field input:focus,.lead-field select:focus,.lead-field textarea:focus{border-color:var(--cf-orange);box-shadow:0 0 0 3px var(--cf-orange-soft);outline:none}.lead-field input:required{border-left:2px solid var(--cf-orange)}.lead-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.lead-note{color:var(--ink-3);margin:0;font-size:13px}.lead-error{color:#b4232b;margin:0;font-size:14px}.lead-done{border:1px solid var(--line);border-left:3px solid var(--cf-orange);border-radius:var(--radius);background:var(--cf-orange-soft);max-width:760px;padding:22px 24px}.lead-done h4{margin:0 0 6px;font-size:17px}.lead-done p{color:var(--ink-2);margin:0;font-size:14.5px}.bot-trap{width:0;height:0;position:absolute;left:-9999px;overflow:hidden}@media (width<=640px){.lead-row{grid-template-columns:1fr}}.footer-logo{align-items:center;gap:9px;margin-bottom:8px;display:flex}.footer-logo strong{font-size:15px}.footer-brand h4{display:none}.footer-brand p{color:var(--ink-3);margin:0 0 4px;font-size:13px}.footer-tagline{font-weight:600;color:var(--ink-2)!important}@media (width<=900px){.layer{grid-template-columns:1fr}.layer-plus{padding:4px 0;transform:rotate(0)}}@media (width<=1024px){.site-header .inner{gap:16px}.nav>a{padding:7px 8px;font-size:14px}.logo-text em{display:none}}@media (width<=720px){.hero h1{font-size:30px}.hero{padding:48px 0 40px}.article h1{font-size:27px}.prose{font-size:16px}.site-header .inner{gap:10px;height:58px;overflow:hidden}.nav{gap:2px}.nav>a{padding:7px 9px;font-size:13.5px}.nav>a.is-current:after{left:9px;right:9px}.diag-row{grid-template-columns:1fr;gap:2px}.diag-panel{padding:16px}.nav-cta{padding:5px 11px;font-size:13px}.logo-text em{display:none}.assess-card{padding:22px}}
