/* SZL Flow Shell v2 — Obsidian Command Fabric
   Accessibility-first, local-only, safe-area aware. No external assets. */
:root{--szl-flow-bg:rgba(3,7,12,.88);--szl-flow-panel:rgba(10,17,27,.84);--szl-flow-panel-strong:rgba(13,22,34,.96);--szl-flow-line:rgba(148,181,210,.19);--szl-flow-line-hot:rgba(87,235,255,.38);--szl-flow-ink:#f5fbff;--szl-flow-sub:#9bb0c4;--szl-flow-accent:#57ebff;--szl-flow-secondary:#7f8cff;--szl-flow-warn:#f2c96d;--szl-flow-danger:#ff6b7a;--szl-flow-radius:18px;--szl-flow-dock-height:72px;--szl-flow-shadow:0 24px 80px rgba(0,0,0,.56),0 0 0 1px rgba(255,255,255,.02) inset;--szl-flow-grid:linear-gradient(rgba(87,235,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(87,235,255,.035) 1px,transparent 1px);--szl-flow-motif:radial-gradient(circle at 14% 16%,rgba(87,235,255,.16),transparent 31%),radial-gradient(circle at 86% 12%,rgba(127,140,255,.13),transparent 30%),radial-gradient(circle at 50% 92%,rgba(87,235,255,.08),transparent 38%),var(--szl-flow-grid)}
html[data-szl-flow-ready="true"]{scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}body[data-szl-flow]{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));background-color:#03070c!important;background-image:radial-gradient(circle at 50% -10%,rgba(87,235,255,.07),transparent 38%)!important;color:var(--szl-flow-ink)!important}body[data-szl-flow]::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--szl-flow-motif);background-size:auto,auto,auto,64px 64px,64px 64px;mask-image:linear-gradient(#000 0%,#000 70%,transparent 100%);opacity:.9}body[data-szl-flow]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(3,7,12,.08),rgba(3,7,12,.7) 82%,#03070c);opacity:.96}
body[data-szl-theme="operator"]{--szl-flow-accent:#57ebff;--szl-flow-secondary:#72ffa4}body[data-szl-theme="atlas"]{--szl-flow-accent:#74c8ff;--szl-flow-secondary:#72ffa4}body[data-szl-theme="anatomy"]{--szl-flow-accent:#57ebff;--szl-flow-secondary:#ff6b7a}body[data-szl-theme="sentinel"]{--szl-flow-accent:#70d9ff;--szl-flow-secondary:#ff6b7a}body[data-szl-theme="weave"]{--szl-flow-accent:#f2c96d;--szl-flow-secondary:#ff9d63}body[data-szl-theme="observatory"]{--szl-flow-accent:#57ebff;--szl-flow-secondary:#7f8cff}body[data-szl-theme="bridge"]{--szl-flow-accent:#7f8cff;--szl-flow-secondary:#ff8c74}body[data-szl-theme="decision"]{--szl-flow-accent:#f2c96d;--szl-flow-secondary:#ff6b7a}body[data-szl-theme="blueprint"]{--szl-flow-accent:#75ccff;--szl-flow-secondary:#f2c96d}body[data-szl-theme="sentry"]{--szl-flow-accent:#72ffa4;--szl-flow-secondary:#f2c96d}body[data-szl-theme="market"]{--szl-flow-accent:#57ebff;--szl-flow-secondary:#f2c96d}body[data-szl-theme="counsel"]{--szl-flow-accent:#f8f5ea;--szl-flow-secondary:#f2c96d}body[data-szl-theme="forensic"]{--szl-flow-accent:#72ffa4;--szl-flow-secondary:#f2c96d}body[data-szl-theme="voyage"]{--szl-flow-accent:#55ded9;--szl-flow-secondary:#7f8cff}
body[data-szl-flow] header,body[data-szl-flow] .nav,body[data-szl-flow] nav{backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}body[data-szl-flow] .card,body[data-szl-flow] .panel,body[data-szl-flow] .tile,body[data-szl-flow] .metric,body[data-szl-flow] section[class*="card"]{border-color:var(--szl-flow-line)!important;background:linear-gradient(180deg,rgba(15,24,37,.84),rgba(8,13,21,.88))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 45px rgba(0,0,0,.18);border-radius:16px!important}body[data-szl-flow] .card:hover,body[data-szl-flow] .panel:hover{border-color:rgba(87,235,255,.31)!important;box-shadow:0 16px 45px rgba(0,0,0,.28),0 0 28px rgba(87,235,255,.035)}body[data-szl-flow] h1{font-weight:650!important;letter-spacing:-.045em!important;text-wrap:balance}body[data-szl-flow] h2,body[data-szl-flow] h3{letter-spacing:-.025em!important}body[data-szl-flow] .kicker,body[data-szl-flow] .eyebrow{color:var(--szl-flow-accent)!important;letter-spacing:.16em!important}body[data-szl-flow] .muted,body[data-szl-flow] .sub,body[data-szl-flow] small{color:var(--szl-flow-sub)!important}body[data-szl-flow] .btn,body[data-szl-flow] button,body[data-szl-flow] [role="button"]{min-height: 44px;border-radius:10px;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}body[data-szl-flow] .btn:hover,body[data-szl-flow] button:hover:not(:disabled){transform:translateY(-1px)}
.szl-flow-progress{position:fixed;top:0;left:0;z-index:9998;width:var(--szl-flow-progress,0%);height:2px;pointer-events:none;background:linear-gradient(90deg,var(--szl-flow-accent),var(--szl-flow-secondary));box-shadow:0 0 20px color-mix(in srgb,var(--szl-flow-accent) 58%,transparent)}
.szl-flow-rail{position:fixed;z-index:9997;left:50%;bottom:max(14px,env(safe-area-inset-bottom,0px));width:min(1180px,calc(100vw - 28px));min-height:var(--szl-flow-dock-height);transform:translateX(-50%);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid var(--szl-flow-line);border-radius:20px;background:linear-gradient(180deg,rgba(11,19,30,.92),rgba(5,10,17,.9));color:var(--szl-flow-ink);box-shadow:var(--szl-flow-shadow);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;isolation:isolate}.szl-flow-rail::before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(115deg,rgba(87,235,255,.42),rgba(255,255,255,.05) 30%,rgba(127,140,255,.28) 72%,rgba(255,255,255,.04));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.szl-flow-rail *,.szl-flow-rail *::before,.szl-flow-rail *::after{box-sizing:border-box}
.szl-flow-origin{min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:0 13px;border-radius:12px;border:1px solid var(--szl-flow-line);background:rgba(255,255,255,.025);white-space:nowrap;font:750 11px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase}.szl-flow-origin::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--szl-flow-accent);box-shadow:0 0 16px var(--szl-flow-accent)}.szl-flow-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-width:0}.szl-flow-actions{display:flex;align-items:center;gap:6px;min-width:0}.szl-flow-link,.szl-flow-switch,.szl-flow-toggle{min-width:44px;min-height:46px;border-radius:11px;border:1px solid transparent;color:var(--szl-flow-sub);background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;text-align:center;text-decoration:none;font:650 12px/1.25 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.szl-flow-link:hover,.szl-flow-link:focus-visible,.szl-flow-switch:hover,.szl-flow-switch:focus-visible,.szl-flow-toggle:hover,.szl-flow-toggle:focus-visible{color:var(--szl-flow-ink);border-color:var(--szl-flow-line-hot);background:rgba(87,235,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.szl-flow-link[aria-current="page"]{color:#dffbff;border-color:rgba(87,235,255,.42);background:linear-gradient(180deg,rgba(87,235,255,.12),rgba(87,235,255,.045));box-shadow:0 0 28px rgba(87,235,255,.05)}.szl-flow-switch{gap:7px;white-space:nowrap;border-color:var(--szl-flow-line);background:rgba(255,255,255,.025)}.szl-flow-switch strong{color:var(--szl-flow-accent);font-weight:800}.szl-flow-toggle{display:none;min-width:48px;min-height:48px}.szl-flow-rail a:focus-visible,.szl-flow-rail button:focus-visible{outline:3px solid var(--szl-flow-accent);outline-offset:3px}
.szl-flow-toggle {
  display: none;
  min-width: 48px;
  min-height: 48px;
  border-radius: 6px;
}
/* Specificity lock: the generic product-button rule resolves to 44px.
   Keep this selector stronger so rounded corners retain a contiguous 44x44 hit region. */
body[data-szl-flow] .szl-flow-toggle {
  min-width: 48px;
  min-height: 48px;
  border-radius: 6px;
}
body[data-szl-flow] button.menu-toggle,
body[data-szl-flow] button.szl-holo-menu {
  min-width: 48px;
  height: 48px;
  min-height: 48px;
  border-radius: 6px;
  box-sizing: border-box;
}
.menu-toggle,.szl-flow-toggle,button.szl-holo-menu,.szl-holo-menu{height:48px!important;min-height:48px!important;min-width:48px!important;border-radius:6px!important;box-sizing:border-box}
.menu-toggle{width:48px!important}
.szl-flow-announcement{position:fixed;z-index:9999;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,14px);opacity:0;pointer-events:none;max-width:min(580px,calc(100vw - 32px));padding:12px 16px;border:1px solid var(--szl-flow-line-hot);border-radius:14px;background:var(--szl-flow-panel-strong);color:var(--szl-flow-ink);box-shadow:var(--szl-flow-shadow);font:600 13px/1.45 ui-sans-serif,sans-serif;transition:opacity .18s ease,transform .18s ease}.szl-flow-announcement[data-open="true"]{opacity:1;transform:translate(-50%,0)}
@media(max-width:820px){.szl-flow-rail{grid-template-columns:auto minmax(0,1fr) auto;width:calc(100vw - 18px);bottom:max(9px,env(safe-area-inset-bottom,0px));border-radius:16px}.szl-flow-origin{padding-inline:10px}.szl-flow-origin span{display:none}.szl-flow-links{display:none;position:absolute;left:7px;right:7px;bottom:calc(100% + 8px);grid-template-columns:1fr;padding:7px;border:1px solid var(--szl-flow-line);border-radius:15px;background:rgba(5,10,17,.98);box-shadow:var(--szl-flow-shadow);backdrop-filter:blur(22px)}.szl-flow-rail[data-open="true"] .szl-flow-links{display:grid}.szl-flow-link{justify-content:flex-start;text-align:left;padding-inline:14px}.szl-flow-toggle{display:inline-flex}}@media(max-width:420px){.szl-flow-switch span{display:none}}@media(prefers-reduced-motion:reduce){body[data-szl-flow] *{scroll-behavior:auto!important}.szl-flow-announcement{transition:none}.szl-flow-progress{box-shadow:none}}@media(forced-colors:active){.szl-flow-rail,.szl-flow-origin,.szl-flow-links,.szl-flow-switch{border:1px solid CanvasText;background:Canvas;color:CanvasText}.szl-flow-origin::before{background:Highlight;box-shadow:none}}@media print{.szl-flow-rail,.szl-flow-progress,.szl-flow-announcement{display:none!important}body[data-szl-flow]{padding-bottom:0}}

/* Keep the shipped Flow-shell override equal to the landing page's 52px
   mobile CTA contract. The short-phone geometry rule below moves the full
   target inside the viewport instead of shrinking or hiding the control. */
@media(max-width:480px){html[data-szl-shell-owner="homepage"] .cta-row .btn{min-height:52px}}

/* The 360x800 live canary showed the third hero action was intrinsically 46px
   but its lower 2.83px sat below the first fold. Compact only the narrow,
   short homepage composition; preserve the control size and every larger
   breakpoint. The doubled document-attribute selector intentionally outranks
   the landing page's later inline mobile spacing rules. */
@media(max-width:380px) and (max-height:820px){
  html[data-szl-shell-owner="homepage"][data-szl-public-experience-v3="true"] .hero .wrap{padding-top:20px!important}
  html[data-szl-shell-owner="homepage"][data-szl-public-experience-v3="true"] .hero .vision-kicker{margin-bottom:10px!important}
  html[data-szl-shell-owner="homepage"][data-szl-public-experience-v3="true"] .hero .eyebrow{margin-bottom:14px!important}
  html[data-szl-shell-owner="homepage"][data-szl-public-experience-v3="true"] .hero p.lede{margin-bottom:18px!important}
}

/* Evidence links are controls too: preserve their text and destination while
   providing a real touch/focus target, including the 768px tablet layout. */
html[data-szl-shell-owner="homepage"] .stat-note a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;vertical-align:middle;}
