/* Sentinel public design v2. Loaded explicitly by the 29 public templates only.
   No :root changes, no authenticated template inheritance, no global JS hooks. */
body.sp-public{
 --sp-ivory:#faf9f6;--sp-navy:#081b2d;--sp-blue:#2164ab;--sp-ink:#091523;--sp-muted:#435161;--sp-line:#d5dde5;
 --sentinel-sans:Arial,Helvetica,sans-serif;--sentinel-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
 color-scheme:light;background:#faf9f6;color:#091523;margin:0;padding:0;max-width:none;width:auto;
 font-family:Arial,Helvetica,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;
}
.sp-public::before,.sp-public::after{background:none;background-image:none;pointer-events:none}
.sp-public *, .sp-public *::before,.sp-public *::after{box-sizing:border-box}
.sp-public h1,.sp-public h2,.sp-public h3,.sp-public h4{
 font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;letter-spacing:-.035em!important;
}
.sp-public :focus-visible{outline:3px solid #2164ab;outline-offset:4px}
/* Shared navigation/footer use isolated names to avoid page-level nav rules. */
.sp-public .sp-shell{width:min(calc(100% - 72px),1280px);max-width:1280px;margin:0 auto;padding:0}
.sp-public .sp-header{position:relative;z-index:50;background:#faf9f6;border:0;border-bottom:1px solid #d5dde5;max-width:none;width:100%;margin:0;padding:0}
.sp-public .sp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:86px}
.sp-public .sp-brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;white-space:nowrap;color:#091523;text-decoration:none;font-size:17px;font-weight:800!important;letter-spacing:.035em;text-transform:uppercase}
.sp-public .sp-logo{display:block;width:29px;height:29px;object-fit:cover;border:0;border-radius:2px}
.sp-public .sp-nav{display:flex;align-items:center;justify-content:flex-end;gap:28px;position:static;inset:auto;width:auto;max-width:none;min-height:0;margin:0;padding:0;background:transparent;border:0;backdrop-filter:none}
.sp-public .sp-nav a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0;background:none;border:0;border-radius:0;color:#091523;font:600 14px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:0;text-decoration:none;white-space:nowrap}
.sp-public .sp-nav a:hover,.sp-public .sp-nav a[aria-current=page]{color:#2164ab;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.sp-public .sp-menu-button{display:none;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #bbc9d6;border-radius:3px;background:transparent;color:#091523;cursor:pointer}
/* Reuses the original homepage menu indicator. */
.sp-public .sp-menu-lines,.sp-public .sp-menu-lines::before,.sp-public .sp-menu-lines::after{content:"";display:block;width:18px;height:1px;background:currentColor;position:relative}
.sp-public .sp-menu-lines::before{position:absolute;top:-6px}.sp-public .sp-menu-lines::after{position:absolute;top:6px}
.sp-public .sp-footer{background:#faf9f6;border:0;border-top:1px solid #d5dde5;color:#435161;width:100%;max-width:none;margin:0;padding:30px 0 22px;font-size:12px}
.sp-public .sp-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.sp-public .sp-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px;margin:0;padding:0}
.sp-public .sp-footer-links a{display:inline-flex;align-items:center;min-height:44px;color:#435161;font:400 12px/1.5 Arial,Helvetica,sans-serif;text-decoration:none}
.sp-public .sp-footer-links a:hover{color:#2164ab;text-decoration:underline;text-underline-offset:4px}
.sp-public .sp-copyright{text-align:center;margin:20px auto 0;padding:0;color:#526174;font:400 12px/1.6 Arial,Helvetica,sans-serif;max-width:none}
/* Existing homepage sections remain the design reference; only chrome is shared. */
.sp-public:not(.sp-homepage){--bg:#faf9f6;--bg2:#fff;--bg3:#eaf0f7;--bg4:#dce8f5;--surface:#fff;--field:#fff;--panel:#fff;--panel2:#eef3f8;--band:#eef3f8;--text:#091523;--ink:#091523;--muted:#435161;--muted2:#526174;--faint:#526174;--line:#d5dde5;--border:#d5dde5;--border2:#a9bfd4;--cyan:#2164ab;--accent:#2164ab;--accent2:#2164ab;--teal:#2164ab;--teal-soft:#2164ab;--green:#14633a;--gold:#80540d;--red:#9f2337;--sans:Arial,Helvetica,sans-serif}
.sp-public .sp-content{width:min(calc(100% - 72px),1280px);margin:0 auto;padding:0 0 64px;min-width:0}
.sp-public .sp-content>.wrap,.sp-public .sp-content>main.wrap,.sp-public .sp-content>.container{max-width:none;width:100%;margin:0;padding:0}
.sp-public .sp-content>.wrap .wrap{max-width:100%;width:100%;margin-inline:0}
.sp-public .sp-content>header,.sp-public .sp-content>section,.sp-public .sp-content>main{max-width:none;width:100%;margin-inline:0;padding-inline:0}
.sp-public .sp-content>header:first-child:not(.nav),.sp-public .sp-content>.wrap>h1:first-child,.sp-public .sp-content>h1:first-child{padding-top:48px}
.sp-public .sp-content nav,.sp-public .sp-content header.nav{position:relative;inset:auto;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 22px;background:transparent;border:0;border-bottom:1px solid #d5dde5;border-radius:0;min-height:60px;width:100%;max-width:none;margin:0 0 40px;padding:8px 0;backdrop-filter:none}
.sp-public .sp-content nav a,.sp-public .sp-content header.nav a{display:inline-flex;align-items:center;min-height:44px;color:#435161;background:none;border:0;padding:0;border-radius:0;font-size:13px;text-decoration:none}
.sp-public .sp-content nav a:hover,.sp-public .sp-content header.nav a:hover{color:#2164ab;text-decoration:underline;text-underline-offset:4px}
.sp-public .sp-content nav .nav-inner,.sp-public .sp-content header.nav .nav-inner{width:100%;max-width:none;min-height:0;height:auto;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between}
.sp-public .sp-content nav :is(.links,.nav-links){display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;margin:0;padding:0;list-style:none}
.sp-public .sp-content :is(h1,h2,h3,h4){color:#091523}
.sp-public .sp-content h1{font-size:clamp(38px,5.2vw,68px);line-height:1.04!important;letter-spacing:-.045em!important;max-width:1000px;margin:12px 0 24px;overflow-wrap:break-word}
.sp-public .sp-content h2{font-size:clamp(26px,3vw,40px);line-height:1.12!important;margin-bottom:18px}
.sp-public .sp-content h3{font-size:22px;line-height:1.2!important}
.sp-public .sp-content :is(p,li,td){color:#435161;font-size:16px;line-height:1.7}
.sp-public .sp-content :is(.lead,.hero-sub,.hero>p,.developer-intro>p){color:#435161;font-size:19px;line-height:1.65;max-width:850px}
.sp-public .sp-content :is(.eyebrow,.hero-eyebrow,.section-eyebrow,.sector-label){color:#2164ab;font-size:11px;letter-spacing:.14em!important;text-transform:uppercase;font-weight:800!important}
.sp-public .sp-content :is(.hero,.developer-intro){padding:12px 0 44px;margin:0;max-width:none;gap:40px}
.sp-public .sp-content :is(.grid,.two,.pricing-grid,.enterprise-package-grid,.sector-grid){gap:24px}
.sp-public .sp-content :is(.card,.panel,.box,.faq,.term,.sector-card,.proof,.surface,.artifact,.addon,.plan,.enterprise-package){background:#fff;border:1px solid #d5dde5;border-radius:3px;box-shadow:none;padding:26px;min-width:0}
.sp-public .sp-content a.card{display:block;text-decoration:none}
.sp-public .sp-content :is(.card,.panel,.box,.faq,.term,.sector-card,.addon) h2{font-size:26px}
.sp-public .sp-content :is(.card,.panel) strong{color:#091523}
.sp-public .sp-content :is(.card,.panel) :is(.note,.quote){color:#80540d}
.sp-public .sp-content :is(.fact,.step,.result){background:#eef3f8;border-color:#d5dde5;border-radius:3px;min-width:0}
.sp-public .sp-content :is(.fact strong,.score,.price,.enterprise-package strong){color:#091523}
.sp-public .sp-content :is(.caption,.note,.help,.field-help,.section-note,.fine,.back,.scope,.claim-note,.muted,.card span){color:#526174}
.sp-public .sp-content a{color:#2164ab;text-underline-offset:4px}
.sp-public .sp-content :is(code,pre){font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}
.sp-public .sp-content code{background:#edf2f8;color:#164b7f;border:1px solid #d5dde5;border-radius:3px;padding:2px 5px;overflow-wrap:anywhere}
.sp-public .sp-content pre{background:#081b2d;color:#d9eaff;border:1px solid #304357;border-radius:3px;padding:24px;font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
.sp-public .sp-content pre code{background:none;color:inherit;border:0;padding:0}
.sp-public .sp-content table{background:#fff;color:#435161;border:1px solid #d5dde5;width:100%;border-collapse:collapse}
.sp-public .sp-content :is(th,td){border-color:#d5dde5;text-align:left;vertical-align:top;padding:16px}
.sp-public .sp-content th{background:#edf2f8;color:#203850;font-size:13px}
.sp-public .sp-content :is(.sample-warning,.notice,.boundary,.callout){background:#fff6e1;color:#67450d;border-color:#d5b568;border-left:3px solid #b88928;border-radius:3px;padding:18px 22px}
.sp-public .sp-content :is(.sample-warning,.notice,.boundary,.callout) :is(p,li,strong){color:inherit}
.sp-public .sp-content :is(.distinction,.account-note,.addon-payment-note,.enterprise-custom-note){background:#eaf1f9;color:#203850;border-color:#b3c9df;border-radius:3px}
.sp-public .sp-content :is(.distinction,.account-note,.addon-payment-note,.enterprise-custom-note) strong{color:#203850}
.sp-public .sp-content :is(.not-proof,.error,.error-summary){background:#fff0f1;color:#8a2532;border-color:#d18a94}
.sp-public .sp-content :is(.not-proof,.error,.error-summary) :is(p,li,h2){color:inherit}
.sp-public .sp-content .success{background:#edf8f0;color:#175735;border-color:#7cbd91}
.sp-public .sp-content .success :is(p,h2){color:inherit}
.sp-public .sp-content :is(.band,.layer-strip){background:#081b2d;color:#d9eaff;border:1px solid #304357;border-radius:3px;padding:24px}
.sp-public .sp-content :is(.band,.layer-strip) :is(h2,p,li,.layer-strip-label){color:#d9eaff}
.sp-public .sp-content .layer-pill{background:#102b44;color:#d9eaff;border-color:#456079}
.sp-public .sp-content .layer-pill.new-layer{color:#98e5b5}
.sp-public .sp-content .layer-arrow{background:#456079}
.sp-public .sp-content .live-panel{background:#304357;border-radius:3px;overflow:hidden}
.sp-public .sp-content .live-item{background:#081b2d;color:#f4f7fb}
.sp-public .sp-content .live-item span{color:#b4c4d6}
.sp-public .sp-content .live-item strong{color:#fff}
/* Semantic outcomes stay distinct, including dynamically assigned health classes. */
.sp-public .sp-content .badge{color:#175735;background:#dff3e5}
.sp-public .sp-content .badge.warn{background:#fff1c4;color:#704d0d}
.sp-public .sp-content .badge.deny{background:#ffe1e4;color:#8a2532}
.sp-public .sp-content .status{color:#164b7f;background:#e5effb}
.sp-public .sp-content .status.live{color:#175735;background:#dff3e5}
.sp-public .sp-content .status.ops{color:#704d0d;background:#fff1c4}
.sp-public .sp-content .status.roadmap{color:#8a2532;background:#ffe1e4}
.sp-public .sp-content .ok{color:#14633a}.sp-public .sp-content .warn{color:#80540d}
.sp-public .sp-content :is(.btn,.button,.developer-primary,.submit,.cta-solid,.trial-cta,.btn-a,.enterprise-package a,.enterprise-custom-note a){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#2164ab;color:white;border:1px solid #2164ab;border-radius:3px;text-decoration:none;line-height:1.4;font-size:14px;font-weight:700!important;box-shadow:none;white-space:normal;text-align:center}
.sp-public .sp-content :is(.btn,.button,.developer-primary,.submit,.cta-solid,.trial-cta,.btn-a):hover{background:#194f89;color:white;border-color:#194f89}
.sp-public .sp-content :is(.btn.secondary,.button-secondary,.cta-ghost,.btn-b,.cta-gold){background:transparent;color:#2164ab;border:1px solid #91afcc;border-radius:3px;min-height:48px;text-decoration:none}
.sp-public .sp-content :is(.btn.secondary,.button-secondary,.cta-ghost,.btn-b,.cta-gold):hover{background:#eaf1f9;color:#164b7f}
.sp-public .sp-content .developer-secondary{color:#2164ab}
.sp-public .sp-content form{background:#fff;color:#091523;border-color:#d5dde5;border-radius:3px}
.sp-public .sp-content :is(label,legend,.label){color:#091523}
.sp-public .sp-content :is(input:not([type=hidden]),select,textarea){color-scheme:light;background:#fff;color:#091523;border:1px solid #8398ab;border-radius:3px;font:inherit;max-width:100%}
.sp-public .sp-content :is(input,textarea)::placeholder{color:#586a7b;opacity:1}
.sp-public .sp-content :is(input[type=checkbox],input[type=radio]){accent-color:#2164ab}
.sp-public .sp-content input[type=submit],.sp-public .sp-content form button:not([type=button]){background:#2164ab;color:white;border-radius:3px}
.sp-public .sp-content :is(.choice,.confirm){background:#f4f7fa;color:#091523;border-color:#bacbdb;border-radius:3px}
.sp-public .sp-content .eligibility{color:#435161}
.sp-public .sp-content .field-error{color:#9f2337}.sp-public .sp-content .required{color:#80540d}
.sp-public .sp-content :is(.choice,.confirm):focus-within{outline:2px solid #2164ab;outline-offset:2px}
.sp-public .sp-content .hero h1 em{background:none;color:#2164ab;-webkit-text-fill-color:#2164ab}
.sp-public .sp-content .plan.featured{background:#edf3fa;border-color:#2164ab}
.sp-public .sp-content .plan.featured::before,.sp-public .sp-content .plan::before{background:none}
.sp-public .sp-content .plan-badge{background:#2164ab;color:white}
.sp-public .sp-content :is(.trial-bar,.final-cta,.enterprise-packages){background:#eaf1f9;border-color:#bacbdb;border-radius:3px}
.sp-public .sp-content .final-cta::before{background:none}
.sp-public .sp-content .enterprise-packages>p,.sp-public .sp-content .enterprise-package p{color:#435161}
.sp-public .sp-content .enterprise-package span{color:#2164ab}
.sp-public .sp-content .toggle-track{background:#eaf0f7;border-color:#a9bfd4}
.sp-public .sp-content .toggle-btn{color:#435161}
.sp-public .sp-content .toggle-btn.active{background:#2164ab;color:white}
.sp-public .sp-content .save-pill{background:#dff3e5;color:#175735}
.sp-public .sp-content footer{max-width:none;color:#526174;background:none;border-color:#d5dde5;padding:24px 0;margin:32px 0 0;font-size:13px}
.sp-public .sp-content footer :is(a,p){color:#526174;font-size:13px}
.sp-public .sp-content :is(img,video){max-width:100%;height:auto}
.sp-public .sp-content .dashboard-proof figcaption{color:#526174}
.sp-public .sp-content .developer-intro{max-width:1000px;padding-top:8px}
.sp-public .sp-content .developer-intro>p:first-child{font-size:11px;color:#2164ab}
.sp-public.sp-developers .sp-content .grid>.card{border:0;border-bottom:1px solid #d5dde5;background:transparent;padding:30px 0}
.sp-public.sp-developers .sp-content .grid{gap:0 40px}
.sp-public.sp-developers .sp-content .grid>.signed-reference{background:#081b2d;color:#f4f7fb;padding:30px;border-radius:3px;margin:16px 0;--muted:#b4c4d6}
.sp-public.sp-developers .sp-content .signed-reference h2{color:#fff}
.sp-public.sp-developers .sp-content .signed-reference pre{background:#0d243a}
.sp-public.sp-pricing .sp-content .hero{padding-top:20px}
.sp-public.sp-pricing .sp-content .hero-sub{margin-inline:auto}
.sp-public.sp-pricing .sp-content .hero h1{margin-inline:auto}
.sp-public.sp-pricing .sp-content nav .logo-mark{display:none}
/* Documentation/legal pages use the same outer frame with a readable measure. */
.sp-public:is(.sp-privacy,.sp-terms,.sp-refund_policy,.sp-enterprise_sla) .sp-content{max-width:960px;padding-top:48px}
.sp-public:is(.sp-privacy,.sp-terms,.sp-refund_policy) .sp-content>.card{padding:0;background:none;border:0}
.sp-public[class*="sp-learn_"] .sp-content>.wrap{max-width:1000px;margin-inline:auto;padding-top:32px}
.sp-public .sp-content :is(.faq,.term){margin-block:20px}
.sp-public .sp-content .flow:not(.grid){max-width:100%}
.sp-public .sp-content .sp-table-scroll{max-width:100%;overflow-x:auto;border-radius:3px;margin-block:20px}
.sp-public .sp-content .sp-table-scroll table{min-width:650px}
@media(max-width:900px){
 .sp-public .sp-shell,.sp-public .sp-content{width:calc(100% - 40px)}
 .sp-public .sp-header-inner{min-height:74px;gap:16px}
 .sp-public .sp-menu-button{display:inline-flex}
 .sp-public .sp-nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:12px 20px;background:#faf9f6;border-bottom:1px solid #d5dde5;align-items:stretch;gap:0}
 .sp-public .sp-nav[data-open=true]{display:flex;flex-direction:column}
 .sp-public .sp-nav a{min-height:48px;border-bottom:1px solid #e1e7ed}
 .sp-public .sp-nav a:last-child{border-bottom:0}
 .sp-public .sp-footer-inner{flex-direction:column;align-items:flex-start;gap:12px}
 .sp-public .sp-footer-links{justify-content:flex-start;gap:4px 20px}
 .sp-public .sp-content :is(.hero,.two,.grid,.enterprise-package-grid,.sector-grid,.proof-grid,.surfaces,.result-grid){grid-template-columns:1fr}
 .sp-public .sp-content .hero{gap:28px}
 .sp-public .sp-content :is(.pricing-grid,.addons-grid,.faq-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-public .sp-content .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-public .sp-content :is(.hero h1,h1){font-size:clamp(36px,7vw,56px)}
}
@media(max-width:600px){
 .sp-public .sp-shell,.sp-public .sp-content{width:calc(100% - 36px)}
 .sp-public .sp-brand{font-size:15px}.sp-public .sp-content{padding-bottom:40px}
 .sp-public .sp-content nav,.sp-public .sp-content header.nav{margin-bottom:28px;gap:0 18px}
 .sp-public .sp-content :is(.hero,.developer-intro){padding-bottom:30px;gap:24px}
 .sp-public .sp-content :is(.lead,.hero-sub,.hero>p,.developer-intro>p){font-size:17px}
 .sp-public .sp-content :is(.card,.panel,.box,.faq,.term,.sector-card,.proof,.surface,.artifact,.addon,.plan,.enterprise-package){padding:20px}
 .sp-public .sp-content :is(.pricing-grid,.addons-grid,.faq-grid,.flow,.facts,.metric,.proof-strip,.steps,.live-panel){grid-template-columns:1fr}
 .sp-public .sp-content :is(.hero-actions,.actions,.cta){flex-wrap:wrap}
 .sp-public .sp-content :is(.trial-bar,.final-cta,.enterprise-packages){padding:24px}
 .sp-public .sp-content .trial-bar{flex-direction:column;align-items:stretch}
 .sp-public .sp-content .price-val{font-size:48px}
 .sp-public .sp-content .signed-reference{display:block!important}
 .sp-public .sp-content .signed-reference pre{margin-top:20px}
 .sp-public .sp-content pre{padding:18px;font-size:12px}
 .sp-public .sp-content .layers-row{overflow-x:auto}
 .sp-public .sp-content .nav-links{gap:0 16px}
 .sp-public.sp-sectors .sp-content .nav{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.sp-public *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep legacy first-link/button rules out of shared navigation. */
.sp-public .sp-header .sp-nav a{color:#091523!important;background:transparent!important;box-shadow:none!important}
.sp-public .sp-header .sp-nav a:hover,.sp-public .sp-header .sp-nav a[aria-current=page]{color:#2164ab!important}

/* Sentinel mobile hero refinement v1 */
@media (max-width:760px) {
  body.sp-homepage .sp-header-inner {
    min-height:64px;
  }
  body.sp-homepage .hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding:26px 0 30px;
    gap:22px;
  }
  body.sp-homepage .hero > div {
    width:100%;
    min-width:0;
  }
  body.sp-homepage .hero .eyebrow {
    font-size:10px;
    line-height:1.6;
    letter-spacing:.12em;
    margin:0 0 16px;
  }
  body.sp-homepage .hero h1 {
    font-size:clamp(42px,10.5vw,62px);
    line-height:1.02 !important;
    margin:0 0 18px;
  }
  body.sp-homepage .hero-copy {
    font-size:17px;
    line-height:1.55;
    margin:0;
    max-width:36rem;
  }
  body.sp-homepage .hero .hero-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 18px !important;
    margin-top:22px !important;
  }
  body.sp-homepage .hero-actions .button {
    min-height:44px;
    font-size:13px;
  }
  body.sp-homepage .trust-points {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:22px 0 0;
    font-size:13px;
    line-height:1.5;
  }
  body.sp-homepage .hero-art {
    display:block;
    flex:none;
    align-self:stretch;
    width:100%;
    max-width:100%;
    height:clamp(160px,46vw,200px);
    aspect-ratio:auto;
    object-fit:cover;
    object-position:50% 50%;
    margin:0;
  }
}
@media (max-width:380px) {
  body.sp-homepage .hero .hero-actions {
    flex-direction:column;
    align-items:flex-start;
  }
}
