
:root, [data-theme="light"] {
  --pigment: #283ec4;
  --pigment-lift: #5a68da;
  --pigment-ink: #1b2a8f;
  --aqua-forest: #59a686;
  --graphite: #15171a;
  --paper: #ffffff;
  --fog: #f2f2f2;
  --fog-deep: #e8e8e8;
  --signal-red: #dc2828;
  --surface: #f2f2f2;
  --surface-card: #ffffff;
  --surface-container: #e8e8e8;
  --surface-lowest: #f5f5f5;
  --on-surface: #15171a;
  --on-surface-variant: #5b6068;
  --on-surface-dense: #494e56;
  --outline: #e2e2e2;
  --outline-strong: #cbcbcb;
  --control-outline: #7b7c80;
  --disabled: #b4b4b4;
  --rule-ink: #15171a17;
  --rail-ink: #15171a38;
  --hairline: var(--outline);
  --primary: #283ec4;
  --primary-flat: #5a68da;
  --primary-deep: #1b2a8f;
  --on-primary: #ffffff;
  --primary-surface: #e8eaf9;
  --success: #59a686;
  --success-deep: #2a6349;
  --success-surface: #e4f2eb;
  --amber-deep: #8a5a17;
  --indigo-deep: #4e4784;
  --terracotta-deep: #9a4747;
  --danger: #dc2828;
  --danger-deep: #a81d1d;
  --hero-plate: #0b4b88;
  --on-hero-plate: #edf3f9;
  --on-hero-plate-muted: #b9cfe4;
  --on-hero-plate-support: #d6e6f2;
  --success-on-hero: #8ecbaf;
  --hero-figure: rgba(255,255,255,0.12);
  --hero-start: #283ec4;
  --hero-end: #1b2a8f;
  --on-hero: #ffffff;
  --rail-surface: #1e2126;
  --on-rail: #f7f7f8;
  --on-rail-muted: #9aa0a8;
  --rail-active: var(--primary);
  --rail-hairline: #f7f7f81f;
  --shell: #283ec4;
  --on-shell: #ffffff;
  --shell-muted: #ffffffc7;
  --shell-selected: #ffffff29;
  --evidence-fill: rgba(40,62,196,0.08);
  --evidence-halo: rgba(40,62,196,0.12);
  --well: #0e1013;
  --page-ground: #dedede;
  --shadow-whisper: 0 1px 2px rgba(21,23,26,0.035), 0 8px 20px -8px rgba(21,23,26,0.07);
  --shadow-soft: 0 1px 2px rgba(21,23,26,0.04), 0 14px 30px -10px rgba(21,23,26,0.10);
  --shadow-card: 0 2px 4px rgba(21,23,26,0.05), 0 26px 52px -14px rgba(21,23,26,0.14);
  --shadow-float: 0 6px 14px rgba(21,23,26,0.06), 0 40px 76px -22px rgba(21,23,26,0.18);
  --shadow-glow: 0 10px 24px -12px rgba(40,62,196,0.40);
  --ring-selected: inset 0 0 0 1.5px rgba(255,255,255,0.26);
}
[data-theme="root-dark"] {
  --surface: #18191c;
  --surface-card: #232529;
  --surface-container: #121316;
  --surface-lowest: #0e0f11;
  --on-surface: #f7f7f8;
  --on-surface-variant: #a8acb3;
  --on-surface-dense: #bfc3c9;
  --outline: #2e3035;
  --outline-strong: #43464c;
  --control-outline: #82858c;
  --disabled: #5c6067;
  --rule-ink: #f7f7f81f;
  --rail-ink: #f7f7f842;
  --hairline: var(--outline);
  --primary: #8b98ec;
  --primary-flat: #6e7de0;
  --primary-deep: #aeb8f3;
  --on-primary: #0b0e1f;
  --primary-surface: #22253a;
  --success: #59a686;
  --success-deep: #8ecbaf;
  --success-surface: #1a2a23;
  --amber-deep: #e0a472;
  --indigo-deep: #b0a8e0;
  --terracotta-deep: #e09b9b;
  --danger: #e96a6a;
  --danger-deep: #f0908f;
  --hero-plate: #15171a;
  --hero-start: #232a5c;
  --hero-end: #151833;
  --rail-surface: #101215;
  --on-rail: #f7f7f8;
  --on-rail-muted: #8e949c;
  --rail-active: var(--primary);
  --rail-hairline: #f7f7f81f;
  --shell: #18191c;
  --on-shell: #f7f7f8;
  --shell-muted: #a8acb3;
  --shell-selected: #2a2e45;
  --evidence-fill: rgba(139,152,236,0.10);
  --evidence-halo: rgba(139,152,236,0.14);
  --well: #08090b;
  --page-ground: #0c0d0f;
  --shadow-whisper: 0 0 #0000;
  --shadow-soft: 0 0 #0000;
  --shadow-card: 0 24px 48px -12px rgba(0,0,0,0.55);
  --shadow-float: 0 36px 72px -20px rgba(0,0,0,0.6);
  --shadow-glow: 0 0 #0000;
}
:root {
  --sp-0: 0px;
  --sp-2: 2px;
  --sp-4: 4px;
  --sp-8: 8px;
  --sp-12: 12px;
  --sp-16: 16px;
  --sp-24: 24px;
  --sp-32: 32px;
  --sp-40: 40px;
  --sp-48: 48px;
  --sp-56: 56px;
  --sp-64: 64px;
  --sp-tight: 6px;
  --sp-snug: 12px;
  --sp-block: 28px;
  --state-padding: 24px;
  --card-padding: 24px;
  --card-gap: 24px;
  --section-gap: 48px;
  --page-pad: 24px;
  --touch-min: 44px;
  --dock-reserve: 112px;
  --r-sm: 12px;
  --r-base: 18px;
  --r-card: 24px;
  --r-lg: 28px;
  --r-full: 999px;
  --r-zone: 0px;
  --bp-wide: 560px;
  --bp-tablet: 840px;
  --bp-desk: 1120px;
  --canvas-max: 1120px;
  --rail-width: 280px;
  --hc-gutter: 40px;
  --motion-duration: 0ms;
  --motion-ease: cubic-bezier(0.215,0.61,0.355,1);
  --text-3xl: 42px;
  --text-2xl: 33px;
  --text-xl: 27px;
  --text-lg: 21px;
  --text-md: 18px;
  --text-base: 16px;
  --text-sm: 15px;
  --text-xs: 13.5px;
  --text-2xs: 12px;
  --text-3xs: 11px;
  --border-weight: 1px;
  --leading-display: 1.04;
  --leading-tight: 1.14;
  --leading-snug: 1.28;
  --leading-meta: 1.35;
  --leading-body: 1.55;
  --leading-relaxed: 1.62;
  --tracking-display: -0.03em;
  --tracking-title: -0.02em;
  --tracking-eyebrow: 0.13em;
  --tracking-smallcaps: 0.1em;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 800;
  --ring-hairline: inset 0 0 0 1px #E2E2E2;
  --ring-control: inset 0 0 0 1px #7B7C80;
  --ring-focus: 0 0 0 3px color-mix(in oklch, #283EC4 34%, transparent);
  --motion: 0ms linear;
  --lift-hover: none;
  --lift-press: translateY(0);
  --pending-hatch: repeating-linear-gradient(135deg, #E8E8E8 0 6px, #F5F5F5 6px 12px);
  --font-display: "Figtree","DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-body: "Figtree","DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-mono: ui-monospace,SFMono-Regular,Menlo,monospace;
  --text-body: 400 16px/1.55 var(--font-body);
}
.body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0;
}
@font-face {
  font-family: "DM Sans";
  src: url("/design/DMSans-VariableFont_opsz_wght.ttf") format("truetype");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("/design/DMSans-Italic-VariableFont_opsz_wght.ttf") format("truetype");
  font-weight: 100 1000;
  font-style: italic;
  font-display: swap;
}





@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("/design/b4d8c89f-d034-4c2e-8358-9273e78d511e.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url("/design/860f364f-4403-412a-a5c4-1e9d07f93505.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("/design/1a1062da-00ac-4cdb-93f8-f84093cf3031.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("/design/9f7286c2-6215-41dd-9b52-f2d8c183d57b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



@font-face{font-family:"DM Sans";src:url("..//design/DMSans-VariableFont_opsz_wght.ttf") format("truetype");font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:"DM Sans";src:url("..//design/DMSans-Italic-VariableFont_opsz_wght.ttf") format("truetype");font-style:italic;font-weight:100 1000;font-display:swap}



:root{
  color-scheme:light;
}



:root[data-theme="dark"]{
  color-scheme:dark;
}



:root{
}



:root{
}



:root{
  --r-teardrop:24px 14px 14px 14px;
  --r-teardrop-lg:28px 18px 18px 18px;
}



:root{
}



:root{
}
@media (prefers-reduced-motion:reduce){:root{--motion-duration:0ms;  --motion:0ms linear;  --lift-hover:none }}



:root{
}
.hc-ground{background-color:var(--surface)}
.hc-shell-grid{background-color:var(--shell);color:var(--on-shell)}



:root{
}



[data-hc-frame],[data-hc-canvas],[data-hc-scroll],[data-hc-rooms],[data-hc-dock],[data-hc-pane]{container-type:inline-size}
[data-hc-frame]{container-name:hcframe}
[data-hc-canvas]{container-name:hccanvas}

[data-hc-canvas][data-hc-frame]{container-name:hccanvas hcframe}
[data-hc-scroll]{container-name:hcscroll}
[data-hc-dock]{container-name:hcdock}


[data-hc-rooms]{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(240px,47%),1fr))}
@container hcscroll (min-width:560px){[data-hc-rooms]{gap:16px}}
@container hccanvas (min-width:840px){[data-hc-rooms]{gap:16px}}


[data-hc-scroll]{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-y:contain}
@container hcframe (min-width:560px){[data-hc-scroll]{--hc-gutter:32px}}
@container hcframe (min-width:840px){[data-hc-scroll]{--hc-gutter:40px}}
[data-hc-scroll]::-webkit-scrollbar{width:6px}
[data-hc-scroll]::-webkit-scrollbar-thumb{background:var(--rail-ink);border-radius:999px}


[data-hc-rail]{scrollbar-width:none;-ms-overflow-style:none}
[data-hc-rail]::-webkit-scrollbar{display:none}


[data-hc-canvas] [data-hc-pane]{width:min(100%,var(--canvas-max));margin-inline:auto}



[data-hc-cols]{display:grid;gap:24px;align-items:stretch}

[data-hc-stack]{display:grid;gap:24px;align-content:start}
@container hccanvas (min-width:840px){[data-hc-cols]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container hccanvas (min-width:1120px){[data-hc-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}


[data-hc-tiles]{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}
@container hcdock (min-width:640px){[data-hc-tiles]{grid-template-columns:repeat(8,minmax(0,1fr))}}


[data-hc-sheet]{margin-top:auto;width:100%;max-height:88%;border-radius:var(--r-card) var(--r-card) 0 0}
@container hcframe (min-width:840px){
  [data-hc-sheet]{margin-top:0;margin-left:auto;width:min(480px,86%);max-height:100%;height:100%;border-radius:var(--r-card) 0 0 var(--r-card)}
}


[data-hc-touch]{position:relative}
[data-hc-touch]::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,var(--touch-min));height:max(100%,var(--touch-min))}
@media (pointer:fine){[data-hc-touch]::after{display:none}}


[data-hc-entry]:focus-visible{outline:2px solid var(--primary);outline-offset:0;border-radius:8px}


[data-hc-safe]{padding-bottom:calc(var(--dock-reserve) + env(safe-area-inset-bottom,0px))}
[data-hc-safe-top]{padding-top:calc(48px + env(safe-area-inset-top,0px))}



html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--on-surface);background:var(--surface)}
a{color:var(--primary);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--primary-deep);text-decoration-color:var(--primary)}
:where(h1,h2,h3){font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-title);line-height:var(--leading-tight);margin:0}
:where(button,input,select,textarea){font:inherit;color:inherit}
:where(:focus-visible){outline:3px solid color-mix(in oklch, var(--primary) 38%, transparent);outline-offset:3px}
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* Consulting display face, hosted with the portal so it also works offline. */
@font-face {
  font-family: "Fraunces";
  src: url("./Fraunces-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --amber-surface: #fbf0df;
  --indigo-surface: #eeecf8;
  --terracotta-surface: #f8e9e7;
  --r-teardrop: 24px 14px 14px 14px;
  --r-teardrop-lg: 28px 18px 18px 18px;
  --row-pad: 14px;
  --state-measure: 340px;
  --ring-hairline: inset 0 0 0 1px var(--outline);
  --ring-control: inset 0 0 0 1px var(--control-outline);
  --ring-selected: inset 0 0 0 1.5px color-mix(in oklch, var(--on-primary) 26%, transparent);
  --ring-focus: 0 0 0 3px color-mix(in oklch, var(--primary) 34%, transparent);
}
[data-theme="root-dark"] {
  --amber-surface: #352a1b;
  --indigo-surface: #2b2942;
  --terracotta-surface: #3a2423;
}
