@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500;600;700;800&family=Schibsted+Grotesk:wght@800;900&display=swap');
html,body{margin:0;padding:0;}

body{background:hsl(260,28%,97%);}

main#main-content{min-height:calc(100vh - 240px);}




/* ─────────────────────────── TOKENS ─────────────────────────── */
/* Theme: light is the default; <html data-theme="dark"> switches every token.
   Naming is historical: --cx-navy = base surface, --cx-ink = alternate band,
   --cx-paper = contrast band (white in light mode, light lavender in dark). */
:root{
  color-scheme:light;
  --cx-ink:hsl(260,26%,93.5%);
  --cx-navy:hsl(260,28%,97%);
  --cx-panel:#ffffff;
  --cx-line:hsl(260,14%,85%);
  --cx-text:hsl(258,32%,11%);
  --cx-muted:hsl(260,12%,35%);
  --cx-faint:hsl(260,9%,44%);
  --cx-signal:hsl(265,89%,52%);
  --cx-cyan:hsl(190,85%,32%);
  --cx-green:#059669;
  --cx-paper:#ffffff;
  --cx-paper-2:hsl(260,25%,96%);
  --cx-paper-line:hsl(260,14%,86%);
  --cx-ink-text:hsl(258,45%,11%);
  --cx-ink-muted:hsl(258,14%,36%);
  --cx-ink-signal:hsl(265,80%,48%);
  --cx-grid-dot:rgba(90,70,180,.18);
  --cx-grid-line:rgba(90,70,180,.07);
  --cx-paper-grid-dot:rgba(90,70,180,.16);
  --cx-paper-grid-line:rgba(90,70,180,.06);
  --cx-ghost-stroke:hsla(258,45%,11%,.13);
  --cx-overlay:hsla(260,28%,97%,.84);
  --cx-on-signal:#ffffff;
  --cx-glow:
    radial-gradient(900px 600px at 78% 12%,hsla(265,89%,62%,.16) 0%,transparent 60%),
    radial-gradient(700px 500px at 8% 92%,hsla(190,85%,45%,.10) 0%,transparent 60%);
  --cx-aurora:
    radial-gradient(ellipse at 20% 50%,rgba(168,85,247,.9) 0%,transparent 50%),
    radial-gradient(ellipse at 80% 25%,rgba(6,182,212,.8) 0%,transparent 48%),
    radial-gradient(ellipse at 55% 85%,rgba(234,179,8,.75) 0%,transparent 48%),
    radial-gradient(ellipse at 38% 20%,rgba(59,130,246,.75) 0%,transparent 52%),
    hsl(245,65%,28%);
  --cx-aurora-text:
    radial-gradient(ellipse at 20% 50%,rgba(192,132,252,1) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 25%,rgba(34,211,238,1) 0%,transparent 50%),
    radial-gradient(ellipse at 55% 85%,rgba(250,204,21,.95) 0%,transparent 50%),
    radial-gradient(ellipse at 38% 20%,rgba(96,165,250,1) 0%,transparent 55%),
    hsl(262,85%,72%);
  --cx-ease:cubic-bezier(.16,1,.3,1);
  --cx-f-display:'JetBrains Mono',ui-monospace,'Courier New',monospace;
  --cx-f-cond:'JetBrains Mono',ui-monospace,'Courier New',monospace;
  --cx-r-btn:.875rem;
  --cx-f-sans:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --cx-f-mono:'JetBrains Mono',ui-monospace,'Courier New',monospace;
  --cx-hdr-h:72px;
  /* Aurora for text on light surfaces: same hues, yellow swapped for pink so it never reads muddy */
  --cx-aurora-ink:
    radial-gradient(ellipse at 20% 50%,hsl(270,85%,55%) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 25%,hsl(190,90%,40%) 0%,transparent 50%),
    radial-gradient(ellipse at 55% 85%,hsl(322,78%,52%) 0%,transparent 50%),
    radial-gradient(ellipse at 38% 20%,hsl(225,85%,54%) 0%,transparent 55%),
    hsl(262,75%,46%);
  --cx-hl-grad:var(--cx-aurora-ink);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --cx-ink:hsl(258,40%,4%);
  --cx-navy:hsl(256,38%,7%);
  --cx-panel:hsl(256,32%,11%);
  --cx-line:hsl(256,24%,20%);
  --cx-text:hsl(255,60%,97%);
  --cx-muted:hsl(255,18%,72%);
  --cx-faint:hsl(255,13%,58%);
  --cx-signal:hsl(265,89%,72%);
  --cx-cyan:hsl(190,90%,60%);
  --cx-green:#34d399;
  --cx-paper:hsl(260,28%,97%);
  --cx-paper-2:hsl(260,22%,93%);
  --cx-paper-line:hsl(260,18%,85%);
  --cx-grid-dot:rgba(255,255,255,.11);
  --cx-grid-line:rgba(255,255,255,.04);
  --cx-ghost-stroke:hsla(255,40%,80%,.16);
  --cx-overlay:hsla(258,40%,4%,.8);
  --cx-on-signal:hsl(258,40%,4%);
  --cx-hl-grad:var(--cx-aurora-text);
  --cx-glow:
    radial-gradient(900px 600px at 78% 12%,hsla(265,80%,45%,.28) 0%,transparent 60%),
    radial-gradient(700px 500px at 10% 90%,hsla(190,85%,45%,.10) 0%,transparent 60%);
}
@keyframes cx-aurora{0%{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:100% 100%}75%{background-position:0% 100%}100%{background-position:0% 50%}}
@keyframes crux-site-aurora{0%{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:100% 100%}75%{background-position:0% 100%}100%{background-position:0% 50%}}
@keyframes cx-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes cx-stream{to{stroke-dashoffset:-400px}}
@keyframes cx-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes cx-ping{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.6);opacity:0}}

/* ─────────────────────────── BASE ─────────────────────────── */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cx-hdr-h) + 1rem);}
/* Grid background: dots at the intersections of a faint 48px grid. The body and
   every band (.cx-navy/.cx-ink/.cx-paper/.cx-glow) draw it with the --gd / --gl
   colours in scope, so paper bands get their own tint. */
:root{--gd:var(--cx-grid-dot);--gl:var(--cx-grid-line);}
body,.cx-navy,.cx-ink,.cx-paper{background-image:radial-gradient(circle,var(--gd) 1.5px,transparent 1.5px),linear-gradient(var(--gl) 1px,transparent 1px),linear-gradient(90deg,var(--gl) 1px,transparent 1px);background-size:48px 48px;background-position:center top;background-attachment:fixed;}
body{margin:0;padding-top:var(--cx-hdr-h);background-color:var(--cx-navy) !important;transition:background-color .3s;color:var(--cx-text);font-family:var(--cx-f-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
::selection{background:hsla(265,89%,60%,.45);color:#fff;}
.cx-page,.cx-page *{box-sizing:border-box;}
.cx-page{position:relative;overflow-x:clip;font-family:var(--cx-f-sans);color:var(--t);
  --t:var(--cx-text);--tm:var(--cx-muted);--tf:var(--cx-faint);--ln:var(--cx-line);--pn:var(--cx-panel);--sg:var(--cx-signal);}
.cx-page :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0;padding:0;}
.cx-page :where(ul,ol){list-style:none;}
.cx-page img{max-width:100%;display:block;}
.cx-page a{color:inherit;}

/* Section surfaces — each sets the contextual tokens its children read */
.cx-sec{position:relative;padding-block:clamp(5rem,11vw,8.5rem);}
.cx-sec--tight{padding-block:clamp(3.5rem,7vw,5.5rem);}
.cx-navy{background-color:var(--cx-navy);}
.cx-ink{background-color:var(--cx-ink);}
.cx-paper{background-color:var(--cx-paper);color:var(--cx-ink-text);--gd:var(--cx-paper-grid-dot);--gl:var(--cx-paper-grid-line);
  --t:var(--cx-ink-text);--tm:var(--cx-ink-muted);--tf:hsl(258,10%,44%);--ln:var(--cx-paper-line);--pn:var(--cx-paper-2);--sg:var(--cx-ink-signal);}
/* Hero glow: a colour wash layered over the same grid */
.cx-glow{background-color:var(--cx-navy);background-image:radial-gradient(circle,var(--gd) 1.5px,transparent 1.5px),linear-gradient(var(--gl) 1px,transparent 1px),linear-gradient(90deg,var(--gl) 1px,transparent 1px);background-size:48px 48px;background-position:center top;background-attachment:fixed;}
.cx-glow{position:relative;isolation:isolate;}
.cx-glow::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--cx-glow);}
.cx-wrap{position:relative;max-width:80rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
.cx-wrap--narrow{max-width:56rem;}
/* First section of a page tucks under the fixed transparent header */
.cx-hero{padding-top:calc(var(--cx-hdr-h) + clamp(3.5rem,9vw,7rem));margin-top:calc(-1 * var(--cx-hdr-h));}

/* ─────────────────────────── TYPE ─────────────────────────── */
.cx-mono{font-family:var(--cx-f-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.8125rem;line-height:1.5;color:var(--tm);font-weight:500;}
.cx-mono--sm{font-size:.6875rem;}
.cx-mono.is-faint,.cx-faint{color:var(--tf);}
.cx-display{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.055em;line-height:1.02;text-wrap:balance;color:var(--t);}
.cx-d-xl{font-size:clamp(2.4rem,6.4vw,6.25rem);}
.cx-d-l{font-size:clamp(2.1rem,5vw,4.6rem);}
.cx-d-m{font-size:clamp(1.8rem,3.7vw,3.2rem);}
.cx-d-s{font-size:clamp(1.35rem,2.3vw,1.9rem);}
.cx-cond{font-family:var(--cx-f-cond);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--t);font-size:clamp(1.05rem,1.5vw,1.25rem);}
.cx-lead{font-size:clamp(1.075rem,1.6vw,1.25rem);line-height:1.65;color:var(--tm);max-width:40rem;}
.cx-body{font-size:1rem;line-height:1.7;color:var(--tm);}
.cx-body + .cx-body{margin-top:1rem;}
.cx-body strong,.cx-lead strong{color:var(--t);font-weight:600;}
.cx-tnum{font-variant-numeric:tabular-nums;}
.cx-muted{color:var(--tm);}
.cx-signal{color:var(--sg);}
/* Aurora text — the brand highlight, used where the reference uses its accent colour */
.cx-hl{background:var(--cx-hl-grad);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:cx-aurora 10s ease-in-out infinite;}
.cx-paper .cx-hl{background:var(--cx-aurora-ink);background-size:260% 260%;-webkit-background-clip:text;background-clip:text;}
.cx-ghost-muted{color:var(--tf);}

/* Section head: ghost numeral + "01 / Label" + drawn hairline. JS numbers it. */
.cx-head{position:relative;margin-bottom:clamp(2rem,4vw,3rem);}
.cx-head .cx-mono{margin-bottom:1rem;}
.cx-head-n{color:var(--sg);}
.cx-ghost{position:absolute;right:0;top:clamp(-4rem,-5vw,-2.5rem);font-family:var(--cx-f-display);font-size:clamp(5rem,10vw,9rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--cx-ghost-stroke);pointer-events:none;user-select:none;}
.cx-paper .cx-ghost{-webkit-text-stroke:1px hsla(258,45%,11%,.13);}
.cx-rule{height:1px;background:var(--ln);transform-origin:left center;}

/* ─────────────────────────── BUTTONS ─────────────────────────── */
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.95rem 1.75rem;border-radius:var(--cx-r-btn);font-family:var(--cx-f-mono);font-weight:600;font-size:.95rem;letter-spacing:-.01em;line-height:1.1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:filter .2s,transform .2s var(--cx-ease),background-color .2s,border-color .2s,color .2s;white-space:nowrap;}
.cx-btn .cx-arr{display:inline-block;transition:transform .25s var(--cx-ease);}
.cx-btn:hover .cx-arr{transform:translateX(6px);}
.cx-btn--aurora,.crux-cta-btn{color:#fff !important;background:var(--cx-aurora);background-size:300% 300%;animation:cx-aurora 9s ease-in-out infinite;box-shadow:0 6px 28px -8px hsla(265,85%,55%,.65),inset 0 0 0 1px hsla(0,0%,100%,.12);}
.cx-btn--aurora:hover,.crux-cta-btn:hover{filter:brightness(1.15);transform:translateY(-1px);}
.cx-btn--ghost{background:transparent;color:var(--t);border-color:var(--ln);}
.cx-btn--ghost:hover{border-color:var(--tm);background:var(--pn);}
.cx-btn--sm{min-height:40px;padding:.6rem 1.1rem;font-size:.8rem;}
.cx-btns{display:flex;flex-wrap:wrap;gap:.75rem;}
@media(max-width:560px){.cx-btns>.cx-btn{width:100%;}}
.cx-link{font-family:var(--cx-f-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.8125rem;color:var(--sg);text-decoration:none;display:inline-flex;gap:.5rem;align-items:center;}
.cx-link:hover{text-decoration:underline;text-underline-offset:4px;}
.cx-link .cx-arr{transition:transform .25s var(--cx-ease);}
.cx-link:hover .cx-arr{transform:translateX(4px);}

/* ─────────────────────────── BLOCKS ─────────────────────────── */
.cx-card{border:1px solid var(--ln);background:color-mix(in srgb,var(--pn) 55%,transparent);border-radius:2px;padding:clamp(1.25rem,2.5vw,1.75rem);}
.cx-card--solid{background:var(--pn);}
.cx-split{display:grid;gap:clamp(2.5rem,6vw,5rem);}
@media(min-width:1024px){.cx-split{grid-template-columns:1fr 1fr;}.cx-split--center{align-items:center;}.cx-split--start{align-items:start;}}
.cx-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--ln);border-radius:2px;padding:.4rem .75rem;}
.cx-dot{width:7px;height:7px;border-radius:50%;background:var(--cx-green);display:inline-block;position:relative;flex-shrink:0;}
.cx-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:inherit;animation:cx-ping 2s ease-out infinite;}
.cx-check{color:var(--sg);flex-shrink:0;}

/* Numbered rows (01 · Title · Description) with drawn hairlines */
.cx-rows{border-bottom:1px solid var(--ln);}
.cx-row{display:grid;gap:.5rem 2rem;padding-block:clamp(1.5rem,3vw,2rem);position:relative;}
.cx-row>.cx-rule{position:absolute;left:0;right:0;top:0;}
@media(min-width:720px){.cx-row{grid-template-columns:4rem minmax(0,5fr) minmax(0,7fr);align-items:baseline;}}

/* Stat strip */
.cx-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--ln);}
.cx-stats>div{padding:1.5rem clamp(1rem,2vw,1.5rem);border-color:var(--ln);border-style:solid;border-width:0;}
.cx-stats>div:nth-child(odd){border-right-width:1px;}
.cx-stats>div:nth-child(n+3){border-top-width:1px;}
@media(min-width:1024px){.cx-stats{grid-template-columns:repeat(4,minmax(0,1fr));}.cx-stats>div{border-width:0 !important;}.cx-stats>div+div{border-left-width:1px !important;}}
.cx-stat-n{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.05em;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1;color:var(--t);font-variant-numeric:tabular-nums;}
.cx-stat-l{margin-top:.5rem;}

/* Ticker */
.cx-ticker{position:relative;overflow:hidden;border-block:1px solid var(--cx-line);background:var(--cx-ink);padding-block:.85rem;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);}
.cx-ticker-track{display:flex;width:max-content;white-space:nowrap;animation:cx-ticker 45s linear infinite;will-change:transform;}
.cx-ticker:hover .cx-ticker-track{animation-play-state:paused;}
.cx-ticker-item{display:flex;align-items:center;gap:1.5rem;padding-inline:1.5rem;}
.cx-ticker-item::after{content:'·';color:var(--cx-signal);}

/* Big scrubbed / counted number */
.cx-big{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.07em;font-size:clamp(4rem,14vw,13rem);line-height:.9;font-variant-numeric:tabular-nums;color:var(--sg);}
.cx-scrub{position:relative;}
@media(min-width:1024px){.cx-scrub{height:200vh;}.cx-scrub-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;}}

/* Comparison bars */
.cx-bar{height:8px;background:var(--pn);border-radius:1px;overflow:hidden;}
.cx-bar>span{display:block;height:100%;background:var(--sg);transform-origin:left center;transform:scaleX(var(--v,1));}
.cx-bar--dim>span{background:color-mix(in srgb,var(--tf) 45%,transparent);}

/* Accordion (buttons) + injected <details> FAQ share one look */
.cx-acc{border-top:1px solid var(--ln);}
.cx-acc-item{border-bottom:1px solid var(--ln);transition:background-color .25s;}
.cx-acc-item.is-open{background:color-mix(in srgb,var(--pn) 60%,transparent);}
.cx-acc-q{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1.4rem .75rem;cursor:pointer;}
.cx-acc-q:focus-visible{outline:2px solid var(--sg);outline-offset:-2px;}
.cx-acc-title{transition:transform .25s var(--cx-ease);display:inline-block;}
.cx-acc-q:hover .cx-acc-title{transform:translateX(4px);}
.cx-plus{width:2rem;height:2rem;border:1px solid var(--ln);border-radius:50%;display:grid;place-items:center;color:var(--sg);font-size:1.1rem;line-height:1;transition:transform .35s var(--cx-ease),border-color .2s;flex-shrink:0;}
.cx-acc-item.is-open .cx-plus{transform:rotate(45deg);border-color:var(--sg);}
.cx-acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--cx-ease);}
.cx-acc-item.is-open .cx-acc-a{grid-template-rows:1fr;}
.cx-acc-a>div{overflow:hidden;}
.cx-acc-a>div>div{padding:0 .75rem 1.5rem;}

/* Injected per-page FAQ (markup from _faq-data.mjs) */
.crux-faq{position:relative;}
@media(min-width:1024px){.crux-faq .cx-split>div:first-child{position:sticky;top:calc(var(--cx-hdr-h) + 2.5rem);}}
.crux-faq-list{border-top:1px solid var(--ln);}
.crux-faq-item{border-bottom:1px solid var(--ln);transition:background-color .25s;}
.crux-faq-item[open]{background:color-mix(in srgb,var(--pn) 60%,transparent);}
.crux-faq-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.4rem .75rem;font-family:var(--cx-f-cond);font-weight:700;letter-spacing:-.03em;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.3;color:var(--t);}
.crux-faq-item summary::-webkit-details-marker{display:none;}
.crux-faq-item summary:focus-visible{outline:2px solid var(--sg);outline-offset:-2px;}
.crux-faq-item summary .crux-faq-n{font-family:var(--cx-f-mono);font-size:.75rem;letter-spacing:.14em;color:var(--tf);font-weight:500;min-width:2.25rem;}
.crux-faq-caret{width:2rem;height:2rem;border:1px solid var(--ln);border-radius:50%;display:grid;place-items:center;color:var(--sg);font-family:var(--cx-f-sans);font-size:1.1rem;line-height:1;transition:transform .35s var(--cx-ease),border-color .2s;}
.crux-faq-item[open] .crux-faq-caret{transform:rotate(45deg);border-color:var(--sg);}
.crux-faq-answer{padding:0 .75rem 1.5rem calc(.75rem + 3.25rem);color:var(--tm);font-size:1rem;line-height:1.7;max-width:48rem;}
.crux-faq-answer p{margin:0 0 .65rem;}
.crux-faq-answer a{color:var(--sg);}
@media(max-width:600px){.crux-faq-answer{padding-left:.75rem;}}

/* Stack builder (click modules → live total) */
.cx-mod{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.25rem 1.4rem;border:1px solid var(--ln);border-radius:2px;cursor:pointer;transition:background-color .2s,border-color .2s;}
.cx-mod+.cx-mod{margin-top:.6rem;}
.cx-mod:hover{background:color-mix(in srgb,var(--pn) 55%,transparent);}
.cx-mod:focus-visible{outline:2px solid var(--sg);outline-offset:2px;}
.cx-mod:disabled{opacity:.42;cursor:not-allowed;}
.cx-mod:disabled:hover{background:transparent;}
.cx-mod[data-group] .cx-box{border-radius:50%;}
.cx-mod-group{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:1.75rem 0 .75rem;}
.cx-mod-group:first-child{margin-top:0;}
.cx-mod[aria-pressed="true"]{border-color:var(--sg);background:color-mix(in srgb,var(--sg) 9%,transparent);}
.cx-box{width:1.25rem;height:1.25rem;border:1px solid var(--ln);border-radius:2px;display:grid;place-items:center;font-size:.75rem;color:transparent;transition:all .2s;}
.cx-mod[aria-pressed="true"] .cx-box{background:var(--sg);border-color:var(--sg);color:var(--cx-on-signal);}
.cx-mod-price{font-family:var(--cx-f-display);font-weight:700;letter-spacing:-.04em;font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--t);white-space:nowrap;font-variant-numeric:tabular-nums;}
.cx-tag{font-family:var(--cx-f-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cx-cyan);border:1px solid hsla(190,90%,60%,.4);border-radius:2px;padding:.15rem .5rem;margin-left:.6rem;vertical-align:middle;white-space:nowrap;}
.cx-total{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.06em;font-size:clamp(2.2rem,4.2vw,3rem);line-height:1;color:var(--t);font-variant-numeric:tabular-nums;}

/* Horizontal snap scroller */
.cx-hscroll{--hs-pad:max(clamp(1rem,4vw,2rem),calc((100vw - 80rem)/2 + 2rem));display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--hs-pad);padding-inline:var(--hs-pad);padding-bottom:1.5rem;scrollbar-width:none;cursor:grab;}
.cx-hscroll::-webkit-scrollbar{display:none;}
.cx-hscroll.is-drag{cursor:grabbing;scroll-snap-type:none;}
.cx-hscroll.is-auto{scroll-snap-type:none;}
.cx-hscroll>*{flex:0 0 auto;width:min(86vw,26rem);scroll-snap-align:start;}
.cx-hs-ctrl{display:flex;gap:.5rem;}
.cx-hs-btn{all:unset;box-sizing:border-box;width:2.75rem;height:2.75rem;border:1px solid var(--ln);border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--t);transition:border-color .2s,background-color .2s;}
.cx-hs-btn:hover{border-color:var(--sg);background:var(--pn);}
.cx-hs-btn:focus-visible{outline:2px solid var(--sg);outline-offset:2px;}

/* Animated SVG stream lines */
.cx-stream{stroke-dasharray:6 14;animation:cx-stream 8s linear infinite;}

/* Page closing CTA band */
.cx-cta-band{text-align:left;}
.cx-cta-band .cx-display{max-width:14ch;}

/* ─────────────────────── MOTION (JS-gated) ─────────────────────── */
/* Hidden states only apply once the head script has added .cx-js, so
   content is always visible with JS off. */
.cx-js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--cx-ease),transform .8s var(--cx-ease);transition-delay:var(--d,0s);}
.cx-js [data-reveal="left"]{transform:translateX(-20px);}
.cx-js [data-reveal="scale"]{transform:scale(.96);}
.cx-js [data-reveal="fade"]{transform:none;}
.cx-js [data-reveal].is-in{opacity:1;transform:none;}
.cx-rise .cx-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em;}
.cx-rise .cx-line>span{display:block;}
.cx-js .cx-rise .cx-line>span{transform:translateY(110%);transition:transform .9s var(--cx-ease);}
.cx-js .cx-rise.is-in .cx-line>span{transform:none;}
.cx-js .cx-rule{transform:scaleX(0);transition:transform 1.2s var(--cx-ease);transition-delay:var(--d,0s);}
.cx-js .cx-rule.is-in{transform:scaleX(1);}
.cx-js .cx-bar>span{transform:scaleX(0);transition:transform 1.3s var(--cx-ease);transition-delay:var(--d,.15s);}
.cx-js .cx-bar.is-in>span{transform:scaleX(var(--v,1));}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .cx-js [data-reveal],.cx-js .cx-rise .cx-line>span,.cx-js .cx-rule,.cx-js .cx-bar>span{opacity:1 !important;transition:none !important;}
  .cx-js .cx-rise .cx-line>span,.cx-js [data-reveal],.cx-js .cx-rule{transform:none !important;}
  .cx-js .cx-bar>span{transform:scaleX(var(--v,1)) !important;}
  .cx-ticker-track,.cx-stream,.cx-hl,.cx-btn--aurora,.crux-cta-btn,.cx-dot::after{animation:none !important;}
  .cx-ticker{overflow-x:auto;}
  [id^="crux-"] *,[id^="crux-"] *::before,[id^="crux-"] *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* Universal keyboard focus indicator */
[id^="crux-"] a:focus-visible,
[id^="crux-"] button:focus-visible,
[id^="crux-"] [role="button"]:focus-visible,
[id^="crux-"] input:focus-visible,
[id^="crux-"] textarea:focus-visible,
[id^="crux-"] select:focus-visible{outline:2px solid var(--cx-signal);outline-offset:3px;}

/* ─────────────────────────── HEADER ─────────────────────────── */
#crux-site-hdr,#crux-site-hdr *{box-sizing:border-box;}
:where(#crux-site-hdr) :where(*){margin:0;padding:0;}
#crux-site-hdr{font-family:var(--cx-f-sans);color:var(--cx-text);
  --t:var(--cx-text);--tm:var(--cx-muted);--tf:var(--cx-faint);--ln:var(--cx-line);--pn:var(--cx-panel);--sg:var(--cx-signal);
  --primary:var(--cx-signal);--muted-fg:var(--cx-muted);--border:var(--cx-line);--secondary:var(--cx-panel);--card:var(--cx-panel);--bg:var(--cx-ink);--accent:var(--cx-cyan);}
#crux-site-hdr .crux-skip{position:fixed;top:.5rem;left:.5rem;z-index:9999;background:var(--cx-signal);color:var(--cx-on-signal);padding:.65rem 1rem;border-radius:2px;font-family:var(--cx-f-mono);font-size:.85rem;font-weight:600;text-decoration:none;transform:translateY(-200%);transition:transform .2s;}
#crux-site-hdr .crux-skip:focus,#crux-site-hdr .crux-skip:focus-visible{transform:translateY(0);outline:2px solid #fff;outline-offset:2px;}
#crux-site-hdr .crux-hdr{position:fixed;top:0;left:0;right:0;z-index:9000;border-bottom:1px solid transparent;background:transparent;transition:background-color .3s,border-color .3s,padding .3s,backdrop-filter .3s;padding-block:.9rem;}
#crux-site-hdr .crux-hdr.is-scrolled{background:var(--cx-overlay);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-bottom-color:var(--cx-line);padding-block:.55rem;}
#crux-site-hdr .crux-hdr-inner{max-width:80rem;margin:0 auto;padding-inline:clamp(1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;}
#crux-site-hdr .crux-logo,#crux-site-hdr .crux-mob-nav-logo{font-family:'Schibsted Grotesk',sans-serif;font-weight:900;font-size:1.3rem;text-decoration:none;letter-spacing:-.03em;display:inline-block;background:var(--cx-hl-grad);background-size:300% 300%;animation:crux-site-aurora 8s ease-in-out infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(168,85,247,.35));}
#crux-site-hdr .crux-hdr-right{display:flex;align-items:center;gap:.5rem;margin-left:auto;}
#crux-site-hdr .crux-nav{display:none;gap:.15rem;align-items:center;margin-right:.75rem;}
@media(min-width:900px){#crux-site-hdr .crux-nav{display:flex;}}
#crux-site-hdr .crux-nav a{position:relative;font-family:var(--cx-f-mono);font-size:.85rem;font-weight:500;letter-spacing:-.01em;color:var(--cx-muted);text-decoration:none;padding:.55rem .8rem;transition:color .2s;white-space:nowrap;}
#crux-site-hdr .crux-nav a::after{content:'';position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:1px;background:var(--cx-aurora);background-size:300% 300%;animation:crux-site-aurora 9s ease-in-out infinite;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--cx-ease);}
#crux-site-hdr .crux-nav a:hover,#crux-site-hdr .crux-nav a.active{color:var(--cx-text);}
#crux-site-hdr .crux-nav a:hover::after,#crux-site-hdr .crux-nav a.active::after{transform:scaleX(1);}
#crux-site-hdr .crux-hdr .crux-cta-btn{display:none;}
@media(min-width:560px){#crux-site-hdr .crux-hdr .crux-cta-btn{display:inline-flex;}}
#crux-site-hdr .crux-theme-btn{display:grid;place-items:center;width:44px;height:44px;background:none;border:1px solid var(--cx-line);border-radius:var(--cx-r-btn);color:var(--cx-text);cursor:pointer;transition:border-color .2s,background-color .2s;margin-left:.25rem;}
#crux-site-hdr .crux-theme-btn:hover{border-color:var(--cx-signal);background:var(--cx-panel);}
#crux-site-hdr .crux-theme-btn .i-sun{display:none;}
:root[data-theme="dark"] #crux-site-hdr .crux-theme-btn .i-sun{display:block;}
:root[data-theme="dark"] #crux-site-hdr .crux-theme-btn .i-moon{display:none;}
#crux-site-hdr .crux-menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;background:none;border:1px solid var(--cx-line);border-radius:var(--cx-r-btn);color:var(--cx-text);min-height:44px;min-width:44px;margin-left:.25rem;}
#crux-site-hdr .crux-menu-btn span{display:block;width:18px;height:1.5px;background:currentColor;}
@media(min-width:900px){#crux-site-hdr .crux-menu-btn{display:none;}}

/* Mobile nav */
#crux-site-hdr .crux-mob-nav{position:fixed;inset:0;background:var(--cx-ink);z-index:9500;display:flex;flex-direction:column;padding:1rem clamp(1rem,4vw,2rem) 2rem;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s var(--cx-ease),visibility 0s .3s;overflow-y:auto;}
#crux-site-hdr .crux-mob-nav::before{content:'';position:absolute;inset:0;background:radial-gradient(700px 500px at 90% 0%,hsla(265,80%,45%,.3),transparent 60%);pointer-events:none;}
#crux-site-hdr .crux-mob-nav.open{opacity:1;pointer-events:all;visibility:visible;transition:opacity .3s var(--cx-ease);}
#crux-site-hdr .crux-mob-nav-hdr{position:relative;display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:2rem;border-bottom:1px solid var(--cx-line);}
#crux-site-hdr .crux-mob-close{background:none;border:1px solid var(--cx-line);border-radius:var(--cx-r-btn);width:44px;height:44px;cursor:pointer;display:grid;place-items:center;color:var(--cx-text);font-size:1.1rem;}
#crux-site-hdr .crux-mob-links{position:relative;display:flex;flex-direction:column;flex:1;}
#crux-site-hdr .crux-mob-links a{display:flex;align-items:baseline;gap:1rem;font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.05em;font-size:clamp(1.9rem,8vw,3rem);line-height:1.05;color:var(--cx-text);text-decoration:none;padding:.9rem 0;border-bottom:1px solid var(--cx-line);opacity:0;transform:translateY(16px);transition:opacity .5s var(--cx-ease),transform .5s var(--cx-ease),color .2s;}
#crux-site-hdr .crux-mob-links a span{font-family:var(--cx-f-mono);font-size:.75rem;letter-spacing:.14em;color:var(--cx-signal);}
#crux-site-hdr .crux-mob-nav.open .crux-mob-links a{opacity:1;transform:none;}
#crux-site-hdr .crux-mob-nav.open .crux-mob-links a:nth-child(2){transition-delay:.05s;}
#crux-site-hdr .crux-mob-nav.open .crux-mob-links a:nth-child(3){transition-delay:.1s;}
#crux-site-hdr .crux-mob-nav.open .crux-mob-links a:nth-child(4){transition-delay:.15s;}
#crux-site-hdr .crux-mob-links a:hover{color:var(--cx-signal);}
#crux-site-hdr .crux-mob-cta{position:relative;margin-top:2rem;}
#crux-site-hdr .crux-mob-cta .crux-cta-btn{width:100%;}
#crux-site-hdr .crux-mob-meta{position:relative;margin-top:1.25rem;display:flex;align-items:center;gap:.6rem;}

/* Section dock — floating note that follows the section in view */
#crux-site-hdr .cx-dock{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom,0px));z-index:8800;display:flex;align-items:center;gap:1rem;max-width:min(40rem,calc(100vw - 2rem));width:max-content;padding:.5rem .5rem .5rem 1.1rem;background:var(--cx-overlay);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--cx-line);border-radius:2px;box-shadow:0 20px 50px -20px rgba(20,10,50,.35);transform:translate(-50%,calc(100% + 2rem));opacity:0;visibility:hidden;transition:transform .5s var(--cx-ease),opacity .4s,visibility 0s .5s;}
#crux-site-hdr .cx-dock.is-on{transform:translate(-50%,0);opacity:1;visibility:visible;transition:transform .5s var(--cx-ease),opacity .4s;}
#crux-site-hdr .cx-dock-note{font-family:var(--cx-f-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cx-muted);line-height:1.35;transition:opacity .25s,transform .25s;min-width:0;}
#crux-site-hdr .cx-dock-note.is-swap{opacity:0;transform:translateY(4px);}
@media(max-width:600px){#crux-site-hdr .cx-dock{left:.75rem;right:.75rem;width:auto;max-width:none;transform:translateY(calc(100% + 2rem));}#crux-site-hdr .cx-dock.is-on{transform:none;}#crux-site-hdr .cx-dock-note{font-size:.65rem;}}

/* Cookie consent */
#crux-site-hdr .crux-cookie-bar{position:fixed;left:1rem;bottom:1rem;z-index:9200;max-width:360px;background:var(--cx-panel);border:1px solid var(--cx-line);box-shadow:0 12px 40px rgba(20,10,50,.25);padding:.75rem .85rem;border-radius:2px;transform:translateY(calc(100% + 2rem));opacity:0;transition:transform .35s var(--cx-ease),opacity .35s;color:var(--cx-text);}
#crux-site-hdr .crux-cookie-bar.show{transform:translateY(0);opacity:1;}
#crux-site-hdr .crux-cookie-inner{display:flex;align-items:center;gap:.6rem;}
#crux-site-hdr .crux-cookie-body{font-size:.75rem;color:var(--cx-muted);line-height:1.4;flex:1;margin:0;}
#crux-site-hdr .crux-cookie-body a{color:var(--cx-signal);text-decoration:underline;text-underline-offset:2px;}
#crux-site-hdr .crux-cookie-actions{display:flex;gap:.3rem;flex-shrink:0;align-items:center;}
#crux-site-hdr .crux-cookie-btn{padding:.45rem .75rem;border-radius:.6rem;border:1px solid var(--cx-line);background:transparent;color:var(--cx-text);font-family:var(--cx-f-mono);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-height:32px;transition:filter .15s,background .15s;white-space:nowrap;}
#crux-site-hdr .crux-cookie-btn:hover{filter:brightness(1.15);}
#crux-site-hdr .crux-cookie-btn-primary{background:var(--cx-signal);color:var(--cx-on-signal);border-color:var(--cx-signal);}
#crux-site-hdr .crux-cookie-btn-ghost{background:var(--cx-ink);}
#crux-site-hdr .crux-cookie-btn-link{border:none;background:transparent;color:var(--cx-signal);text-decoration:underline;padding:.35rem .3rem;}
#crux-site-hdr .crux-cookie-close{background:none;border:none;color:var(--cx-muted);cursor:pointer;padding:0 .2rem;font-size:1.15rem;line-height:1;flex-shrink:0;}
#crux-site-hdr .crux-cookie-close:hover{color:var(--cx-text);}
@media(max-width:480px){#crux-site-hdr .crux-cookie-bar{left:.5rem;right:.5rem;max-width:none;}}

/* Privacy choices modal */
#crux-site-hdr .crux-privacy-modal{position:fixed;inset:0;background:rgba(3,2,8,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9400;display:none;align-items:center;justify-content:center;padding:1.25rem;}
#crux-site-hdr .crux-privacy-modal.open{display:flex;}
#crux-site-hdr .crux-privacy-modal-card{background:var(--cx-navy);border:1px solid var(--cx-line);color:var(--cx-text);border-radius:2px;max-width:32rem;width:100%;padding:2rem 2.25rem;position:relative;max-height:85vh;overflow-y:auto;}
#crux-site-hdr .crux-privacy-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--cx-line);background:transparent;color:var(--cx-muted);font-size:1.25rem;cursor:pointer;display:grid;place-items:center;}
#crux-site-hdr .crux-privacy-modal-title{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.04em;font-size:1.6rem;line-height:1;margin-bottom:.75rem;}
#crux-site-hdr .crux-privacy-modal-sub{font-size:.875rem;color:var(--cx-muted);line-height:1.6;margin-bottom:1.25rem;}
#crux-site-hdr .crux-privacy-gpc{font-family:var(--cx-f-mono);font-size:.75rem;color:var(--cx-cyan);background:hsla(190,90%,60%,.08);border:1px solid hsla(190,90%,60%,.25);border-radius:2px;padding:.5rem .75rem;margin-bottom:1rem;line-height:1.4;}
#crux-site-hdr .crux-privacy-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 0;border-top:1px solid var(--cx-line);}
#crux-site-hdr .crux-privacy-row-info{flex:1;}
#crux-site-hdr .crux-privacy-row-title{font-weight:600;font-size:.9rem;margin-bottom:.25rem;}
#crux-site-hdr .crux-privacy-row-desc{font-size:.8rem;color:var(--cx-muted);line-height:1.5;}
#crux-site-hdr .crux-privacy-toggle{position:relative;width:44px;height:24px;flex-shrink:0;cursor:pointer;margin-top:.15rem;}
#crux-site-hdr .crux-privacy-toggle input{opacity:0;width:0;height:0;position:absolute;}
#crux-site-hdr .crux-privacy-toggle span{position:absolute;inset:0;background:var(--cx-line);border-radius:9999px;transition:background .2s;}
#crux-site-hdr .crux-privacy-toggle span::before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:9999px;transition:transform .2s;}
#crux-site-hdr .crux-privacy-toggle input:checked + span{background:var(--cx-signal);}
#crux-site-hdr .crux-privacy-toggle input:checked + span::before{transform:translateX(20px);}
#crux-site-hdr .crux-privacy-toggle input:focus-visible + span{outline:2px solid var(--cx-signal);outline-offset:3px;}
#crux-site-hdr .crux-privacy-toggle-locked{opacity:.6;cursor:not-allowed;}
#crux-site-hdr .crux-privacy-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--cx-line);}



#crux-site-ftr,#crux-site-ftr *{box-sizing:border-box;}
:where(#crux-site-ftr) :where(*){margin:0;padding:0;}
#crux-site-ftr{position:relative;background:var(--cx-ink);color:var(--cx-text);font-family:var(--cx-f-sans);
  --t:var(--cx-text);--tm:var(--cx-muted);--tf:var(--cx-faint);--ln:var(--cx-line);--pn:var(--cx-panel);--sg:var(--cx-signal);}
#crux-site-ftr ul{list-style:none;}
#crux-site-ftr .ftr-band{border-top:1px solid var(--cx-line);position:relative;overflow:hidden;}
#crux-site-ftr .ftr-band::before{content:'';position:absolute;inset:0;background:radial-gradient(800px 400px at 85% 0%,hsla(265,80%,45%,.22),transparent 60%);pointer-events:none;}
#crux-site-ftr .ftr-band-inner{display:flex;flex-direction:column;gap:2rem;justify-content:space-between;padding-block:clamp(3rem,6vw,4.5rem);}
@media(min-width:1024px){#crux-site-ftr .ftr-band-inner{flex-direction:row;align-items:center;}}
#crux-site-ftr .ftr-band h2{margin-top:.75rem;}
#crux-site-ftr .ftr-band .cx-mono.is-faint{margin-top:.9rem;}
#crux-site-ftr .ftr-stats-wrap{border-top:1px solid var(--cx-line);}
#crux-site-ftr .ftr-stats-wrap .cx-stats{border-top:0;border-bottom:0;}
#crux-site-ftr .ftr-cols{display:grid;gap:2.5rem;padding-block:clamp(3rem,6vw,4rem);border-top:1px solid var(--cx-line);}
@media(min-width:768px){#crux-site-ftr .ftr-cols{grid-template-columns:2fr 1fr 1fr;}}
#crux-site-ftr .crux-ftr-logo{font-family:'Schibsted Grotesk',sans-serif;font-weight:900;font-size:1.5rem;text-decoration:none;letter-spacing:-.03em;display:inline-block;margin-bottom:1rem;background:var(--cx-hl-grad);background-size:300% 300%;animation:crux-site-aurora 8s ease-in-out infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(168,85,247,.35));}
#crux-site-ftr .ftr-tagline{font-size:.925rem;color:var(--cx-muted);line-height:1.65;max-width:26rem;margin-bottom:1.25rem;}
#crux-site-ftr .ftr-col-h{margin-bottom:1rem;}
#crux-site-ftr .crux-ftr-links{display:flex;flex-direction:column;gap:.7rem;}
#crux-site-ftr .crux-ftr-links a{font-size:.925rem;color:var(--cx-muted);text-decoration:none;transition:color .2s;display:inline-flex;gap:.4rem;}
#crux-site-ftr .crux-ftr-links a:hover,#crux-site-ftr .crux-ftr-links a.active{color:var(--cx-text);}
#crux-site-ftr .crux-ftr-bottom{border-top:1px solid var(--cx-line);padding-block:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
#crux-site-ftr .crux-ftr-legal{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;}
#crux-site-ftr .crux-ftr-legal a{font-family:var(--cx-f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cx-faint);text-decoration:none;transition:color .2s;display:inline-flex;align-items:center;}
#crux-site-ftr .crux-ftr-legal a:hover,#crux-site-ftr .crux-ftr-legal a:focus-visible{color:var(--cx-text);}
#crux-site-ftr .crux-privacy-choices{white-space:nowrap;}
#crux-site-ftr .ftr-status{display:flex;align-items:center;gap:.55rem;}
#crux-site-ftr a:focus-visible{outline:2px solid var(--cx-signal);outline-offset:3px;}



/* Hero */
#crux-home .home-hero{min-height:min(100vh,62rem);display:flex;flex-direction:column;justify-content:center;padding-bottom:clamp(3rem,6vw,5rem);}
#crux-home .home-hero-grid{display:grid;gap:3rem;align-items:center;}
@media(min-width:1100px){#crux-home .home-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);}}
#crux-home .home-h1{font-size:clamp(2rem,3.9vw,4rem);}
#crux-home .home-hero .cx-lead{margin-top:2rem;}
#crux-home .home-hero .cx-btns{margin-top:2.5rem;}
#crux-home .home-hero .home-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-home .home-hero .home-under{margin-top:1.5rem;}
#crux-home .hub{width:100%;max-width:520px;margin-inline:auto;display:block;}
#crux-home .hub .ring1{stroke:hsla(265,89%,72%,.45);transform-origin:250px 250px;animation:home-spin 40s linear infinite;stroke-dasharray:2 8;}
#crux-home .hub .ring2{stroke:hsla(190,90%,60%,.3);transform-origin:250px 250px;animation:home-spin 60s linear infinite reverse;stroke-dasharray:1 10;}
#crux-home .hub .center-ring-el{stroke:url(#home-hub-grad);}
#crux-home .hub .tool-node{opacity:0;animation:home-pop .7s cubic-bezier(.16,1,.3,1) forwards;transform-box:fill-box;transform-origin:center;}
@keyframes home-spin{to{transform:rotate(360deg)}}
@keyframes home-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@media(max-width:1099px){#crux-home .hub-wrap{max-width:380px;margin-inline:auto;}}

/* Scrub section */
#crux-home .scrub-row{display:flex;align-items:flex-end;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap;}
#crux-home .scrub-side{max-width:30rem;padding-bottom:clamp(.5rem,2vw,2rem);}
#crux-home .scrub-side .cx-lead{margin-top:1rem;}
#crux-home .cx-scrub .cx-big{transition:color .4s;}
#crux-home .cx-scrub.is-done .cx-big{color:var(--cx-green);}

/* Problem */
#crux-home .problem .cx-lead{margin-top:2rem;margin-bottom:clamp(2.5rem,5vw,4rem);}
#crux-home .problem-close{margin-top:3rem;max-width:44rem;font-size:clamp(1.4rem,2.4vw,1.9rem);}

/* Service cards */
#crux-home .svc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem;}
#crux-home .svc-card{display:flex;flex-direction:column;border:1px solid var(--ln);background:color-mix(in srgb,var(--pn) 45%,transparent);border-radius:2px;padding:1.75rem;min-height:26rem;transition:border-color .3s,transform .4s cubic-bezier(.16,1,.3,1),background-color .3s;user-select:none;}
#crux-home .svc-card:hover{border-color:hsla(265,89%,72%,.6);transform:translateY(-4px);background:var(--pn);}
#crux-home .svc-icon{width:3rem;height:3rem;border-radius:2px;display:grid;place-items:center;margin:1.75rem 0 1.5rem;}
#crux-home .svc-card .cx-cond{font-size:clamp(1.5rem,2.4vw,1.9rem);}
#crux-home .svc-card .cx-body{margin-top:.9rem;font-size:.95rem;}
#crux-home .svc-card .svc-price{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--ln);}
#crux-home .svc-next{display:grid;place-items:center;text-align:center;border:1px solid hsla(265,89%,72%,.45);background:var(--cx-ink);border-radius:2px;padding:2.5rem;min-height:26rem;}
#crux-home .svc-next .cx-btn{margin-top:1.75rem;}
#crux-home .svc-hint{margin-top:.5rem;text-align:center;}

/* Direct-access thread panel */
#crux-home .thread{border:1px solid var(--ln);background:var(--cx-navy);border-radius:2px;overflow:hidden;}
#crux-home .thread-row{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;}
#crux-home .thread-row + .thread-row{border-top:1px solid var(--ln);}
#crux-home .thread-row p + p{margin-top:.35rem;}
#crux-home .thread-msg{color:var(--t);font-weight:500;line-height:1.5;}
#crux-home .thread-mid{padding:2rem 1.5rem;border-top:1px solid var(--ln);background:radial-gradient(400px 200px at 50% 100%,hsla(265,80%,45%,.18),transparent 70%);}
#crux-home .thread-mid .cx-big{font-size:clamp(4rem,9vw,6.5rem);color:var(--t);}
#crux-home .thread-mid .cx-big .cx-hl{display:inline-block;}
#crux-home .access-stat{margin-top:2rem;border-left:2px solid var(--cx-signal);padding-left:1.25rem;}
#crux-home .access-stat .cx-display{font-size:clamp(2.25rem,4vw,3rem);}
#crux-home .access-copy .cx-lead{margin-top:1.5rem;}

/* How it works */
#crux-home .steps{display:grid;gap:0 2rem;margin-top:clamp(2.5rem,5vw,4rem);}
@media(min-width:640px){#crux-home .steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1100px){#crux-home .steps{grid-template-columns:repeat(5,minmax(0,1fr));}}
#crux-home .step{position:relative;padding:1.75rem 0 2rem;}
#crux-home .step>.cx-rule{position:absolute;top:0;left:0;right:0;background:var(--cx-ink-text);height:2px;}
#crux-home .step-n{font-family:var(--cx-f-display);font-weight:800;font-size:2.2rem;line-height:1.08;color:transparent;-webkit-text-stroke:1px hsla(258,45%,11%,.35);margin-bottom:1rem;letter-spacing:-.05em;}
#crux-home .step .cx-body{margin-top:.6rem;font-size:.95rem;}

/* About */
#crux-home .about-graphic{width:100%;max-width:440px;margin-inline:auto;display:block;}
#crux-home .about .cx-body{margin-top:1.25rem;max-width:36rem;}
#crux-home .about .cx-stats{margin-top:2.5rem;}
@media(min-width:1024px){#crux-home .about .cx-stats{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1023px){#crux-home .about .cx-stats>div:last-child{grid-column:1/-1;border-top-width:1px;border-right-width:0;}}

/* Stack builder */
#crux-home .stack-total{margin-top:2.5rem;max-width:28rem;}
#crux-home .stack-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;}
#crux-home .stack-total .cx-total small{font-family:var(--cx-f-mono);font-size:.8rem;color:var(--tm);letter-spacing:.1em;margin-left:.25rem;}
#crux-home .stack-total .cx-btn{width:100%;margin-top:1.25rem;}
#crux-home .stack-total .stack-alt{margin-top:.9rem;display:block;text-align:center;}
#crux-home .stack-base{border:1px solid var(--ln);background:var(--pn);border-radius:2px;padding:1.4rem;margin-bottom:.6rem;}
#crux-home .stack-base-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;}
#crux-home .stack-base .cx-body{margin-top:.5rem;font-size:.925rem;}
#crux-home .stack-base .base-price{font-family:var(--cx-f-display);font-size:1.12rem;color:var(--cx-green);white-space:nowrap;font-weight:800;letter-spacing:-.05em;}
#crux-home .stack-base .base-price s{color:var(--tf);font-size:1rem;margin-right:.35rem;}
#crux-home [data-stack]:not(.has-picks) .base-free{display:none;}
#crux-home [data-stack].has-picks .base-paid{display:none;}
#crux-home .cx-mod .mod-desc{display:block;font-size:.875rem;color:var(--tm);margin-top:.3rem;text-transform:none;font-family:var(--cx-f-sans);font-weight:400;letter-spacing:0;line-height:1.5;}
#crux-home .stack-hint{margin-top:1rem;text-align:center;}
#crux-home .home-top-tier{border-color:hsla(265,89%,60%,.55);background:linear-gradient(135deg,hsla(265,89%,60%,.08),hsla(190,85%,45%,.06));}
#crux-home .home-top-tier .cx-mod-price{background:var(--cx-hl-grad);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
#crux-home [data-stack].is-exclusive .base-price{visibility:hidden;}
@media(min-width:1024px){#crux-home [data-stack]>div:first-child{position:sticky;top:calc(var(--cx-hdr-h) + 2rem);}}
#crux-home .stack-mob-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem;padding:1rem 1.4rem;border:1px solid var(--sg);border-radius:2px;background:color-mix(in srgb,var(--sg) 8%,transparent);}
#crux-home .stack-mob-total .cx-total{font-size:2rem;}
#crux-home .stack-mob-total small{font-family:var(--cx-f-mono);font-size:.75rem;color:var(--tm);margin-left:.2rem;}
@media(min-width:1024px){#crux-home .stack-mob-total{display:none;}}



/* Hero */
#crux-services .svc-hero{padding-bottom:clamp(3rem,6vw,5rem);}
#crux-services .svc-hero-grid{display:grid;gap:3rem;align-items:end;}
@media(min-width:1100px){#crux-services .svc-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);}}
#crux-services .svc-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-services .svc-h1{font-size:clamp(3rem,7vw,6.5rem);}
#crux-services .svc-hero .cx-lead{margin-top:2rem;}
#crux-services .svc-hero .svc-lead-2{margin-top:1rem;max-width:40rem;}
#crux-services .svc-hero .cx-btns{margin-top:2.5rem;}

/* Hero index — jump links to each service */
#crux-services .svc-index-label{margin-bottom:.75rem;}
#crux-services .svc-index{border-top:1px solid var(--ln);}
#crux-services .svc-index a{display:grid;grid-template-columns:2.75rem 1fr auto;align-items:baseline;gap:.5rem;padding:.85rem .25rem;border-bottom:1px solid var(--ln);text-decoration:none;transition:background-color .2s,padding .3s var(--cx-ease);}
#crux-services .svc-index a:hover{background:color-mix(in srgb,var(--pn) 60%,transparent);padding-left:.75rem;}
#crux-services .svc-index .cx-cond{font-size:clamp(1.1rem,1.6vw,1.3rem);}
#crux-services .svc-index .cx-arr{color:var(--sg);transition:transform .25s var(--cx-ease);}
#crux-services .svc-index a:hover .cx-arr{transform:translateX(4px);}
#crux-services .svc-stats{margin-top:clamp(3rem,6vw,4.5rem);}

/* Service blocks */
#crux-services .svc{position:relative;padding-block:clamp(2.75rem,5vw,4.25rem);scroll-margin-top:calc(var(--cx-hdr-h) + 1rem);}
#crux-services .svc:first-of-type{padding-top:.5rem;}
#crux-services .svc:last-child{padding-bottom:0;}
#crux-services .svc>.cx-rule{position:absolute;left:0;right:0;top:0;}
#crux-services .svc-grid{display:grid;gap:2.5rem;}
@media(min-width:1024px){
  #crux-services .svc-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(3rem,5vw,5rem);align-items:center;}
  #crux-services .svc--flip .svc-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);}
  #crux-services .svc--flip .svc-art{order:-1;}
}
#crux-services .svc-num{display:flex;align-items:center;gap:.75rem;}
#crux-services .svc-num .svc-n{color:var(--sg);}
#crux-services .svc-title{font-size:clamp(2.4rem,4.6vw,4rem);margin:.9rem 0 1.25rem;}
#crux-services .svc .cx-lead{font-size:clamp(1.02rem,1.4vw,1.15rem);}
#crux-services .svc-sub{margin-top:2rem;margin-bottom:.5rem;}
#crux-services .svc-bullets li{display:grid;grid-template-columns:1.75rem 1fr;gap:.25rem;padding:.8rem 0;border-top:1px solid var(--ln);color:var(--t);font-size:.98rem;line-height:1.55;}
#crux-services .svc-bullets li:last-child{border-bottom:1px solid var(--ln);}
#crux-services .svc-bullets li::before{content:'\2192';color:var(--sg);font-family:var(--cx-f-mono);}
#crux-services .svc-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem;}
#crux-services .svc-tags li{border:1px solid var(--ln);border-radius:2px;padding:.3rem .6rem;}

/* Figure panel — always dark, even inside paper bands */
#crux-services .svc-art{--t:var(--cx-text);--tm:var(--cx-muted);--tf:var(--cx-faint);--ln:var(--cx-line);--sg:var(--cx-signal);
  border:1px solid var(--cx-line);border-radius:2px;overflow:hidden;color:var(--cx-text);
  background:radial-gradient(420px 260px at 75% 0%,hsla(265,80%,45%,.2),transparent 70%),var(--cx-navy);}
#crux-services .cx-navy .svc-art{background:radial-gradient(420px 260px at 75% 0%,hsla(265,80%,45%,.2),transparent 70%),var(--cx-ink);}
#crux-services .svc-art-hd{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--cx-line);}
#crux-services .svc-art-hd span:last-child{display:inline-flex;align-items:center;gap:.5rem;}
#crux-services .svc-art svg{display:block;width:100%;height:auto;padding:clamp(.75rem,2vw,1.5rem);}
#crux-services .svc-art-ft{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--cx-line);}
#crux-services .svc-art-ft li{padding:.8rem 1rem;line-height:1.35;}
#crux-services .svc-art-ft li+li{border-left:1px solid var(--cx-line);}
@media(max-width:560px){#crux-services .svc-art-ft li{padding:.7rem .6rem;font-size:.6rem;letter-spacing:.1em;}}

/* Closing CTA */
#crux-services .svc-cta .cx-display{max-width:none;}
#crux-services .svc-cta .cx-lead{margin-top:1.75rem;}
#crux-services .svc-cta .cx-btns{margin-top:2.5rem;}



/* Hero */
#crux-dash .dash-hero{padding-bottom:clamp(4rem,8vw,6.5rem);}
#crux-dash .dash-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:3.5rem;align-items:center;}
#crux-dash .dash-hero-grid>*{min-width:0;}
@media(min-width:1100px){#crux-dash .dash-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:4rem;}}
#crux-dash .dash-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-dash .dash-h1{font-size:clamp(3.1rem,7.4vw,7rem);}
#crux-dash .dash-hero .cx-lead{margin-top:2rem;}
#crux-dash .dash-hero .cx-btns{margin-top:2.5rem;}
#crux-dash .dash-under{margin-top:1.5rem;}

/* Mockup panel (illustrative) */
#crux-dash .dm{border:1px solid var(--ln);background:hsla(256,38%,7%,.82);border-radius:2px;position:relative;box-shadow:0 40px 90px -40px hsla(265,85%,40%,.55);}
#crux-dash .dm::before{content:'';position:absolute;inset:-1px;border-radius:2px;pointer-events:none;background:linear-gradient(135deg,hsla(265,89%,72%,.55),transparent 35%,transparent 70%,hsla(190,90%,60%,.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:1px;}
#crux-dash .dm-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--ln);}
#crux-dash .dm-url{display:flex;align-items:center;gap:.6rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
#crux-dash .dm-url b{color:var(--t);font-weight:500;}
#crux-dash .dm-tags{display:flex;gap:.5rem;align-items:center;flex-shrink:0;}
#crux-dash .dm-tag{font-family:var(--cx-f-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ln);color:var(--tf);border-radius:2px;padding:.15rem .45rem;white-space:nowrap;}
#crux-dash .dm-tag--live{color:var(--cx-green);border-color:hsla(160,70%,50%,.35);display:inline-flex;gap:.4rem;align-items:center;}
#crux-dash .dm-tag--live .cx-dot{width:5px;height:5px;}
#crux-dash .dm-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
@media(min-width:560px){#crux-dash .dm-score{grid-template-columns:repeat(4,minmax(0,1fr));}}
#crux-dash .dm-score>div{padding:1rem;border-bottom:1px solid var(--ln);}
#crux-dash .dm-score>div:nth-child(odd){border-right:1px solid var(--ln);}
@media(min-width:560px){#crux-dash .dm-score>div{border-right:1px solid var(--ln);}#crux-dash .dm-score>div:last-child{border-right:0;}}
#crux-dash .dm-n{font-family:var(--cx-f-display);font-size:clamp(1.2rem,1.92vw,1.6rem);line-height:1.08;color:var(--t);margin-top:.5rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.05em;}
#crux-dash .dm-d{font-family:var(--cx-f-mono);font-size:.625rem;letter-spacing:.1em;color:var(--cx-green);margin-top:.4rem;}
#crux-dash .dm-body{display:grid;}
@media(min-width:560px){#crux-dash .dm-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}#crux-dash .dm-body>div+div{border-left:1px solid var(--ln);}}
@media(max-width:559px){#crux-dash .dm-body>div+div{border-top:1px solid var(--ln);}}
#crux-dash .dm-cell{padding:1rem;}
#crux-dash .dm-cell-h{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.9rem;}
#crux-dash .dm-spark{width:100%;height:auto;display:block;margin-bottom:.9rem;}
#crux-dash .dm-spark .sp-line{fill:none;stroke:var(--cx-signal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2s var(--cx-ease) .4s;}
#crux-dash .dm-spark .sp-prev{fill:none;stroke:var(--tf);stroke-opacity:.6;stroke-width:1.5;stroke-dasharray:3 5;}
#crux-dash .dm-spark .sp-fill{fill:url(#dash-spark-grad);opacity:0;transition:opacity 1.2s ease 1.2s;}
#crux-dash .dm.is-in .sp-line{stroke-dashoffset:0;}
#crux-dash .dm.is-in .sp-fill{opacity:1;}
#crux-dash .dm-cmp{display:grid;gap:.55rem;}
#crux-dash .dm-cmp-row{display:grid;grid-template-columns:4.5rem 1fr;gap:.75rem;align-items:center;}
#crux-dash .dm-cmp-row .cx-bar{height:6px;}
#crux-dash .dm-cmp-row .cx-bar+.cx-bar{margin-top:3px;}
#crux-dash .dm-legend{display:flex;gap:1rem;margin-top:.8rem;}
#crux-dash .dm-legend span::before{content:'';display:inline-block;width:.6rem;height:2px;background:var(--sg);vertical-align:middle;margin-right:.4rem;}
#crux-dash .dm-legend span+span::before{background:var(--tf);}
#crux-dash .dm-items{display:grid;}
#crux-dash .dm-item{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:center;padding:.6rem 0;border-top:1px solid var(--ln);font-size:.8125rem;color:var(--tm);line-height:1.35;}
#crux-dash .dm-pri{font-family:var(--cx-f-mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;padding:.15rem .4rem;border:1px solid;}
#crux-dash .dm-pri--h{color:#f87171;border-color:hsla(0,90%,70%,.4);}
#crux-dash .dm-pri--m{color:#fbbf24;border-color:hsla(45,90%,60%,.4);}
#crux-dash .dm-pri--l{color:var(--cx-cyan);border-color:hsla(190,90%,60%,.4);}
#crux-dash .dm-msg{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--ln);}
#crux-dash .dm-msg-in{flex:1;min-width:0;border:1px solid var(--ln);border-radius:2px;padding:.55rem .75rem;font-size:.8125rem;color:var(--tf);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#crux-dash .dm-msg-send{font-family:var(--cx-f-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--cx-aurora);background-size:300% 300%;animation:cx-aurora 9s ease-in-out infinite;border-radius:.5rem;padding:.6rem .8rem;white-space:nowrap;}
#crux-dash .dm-caption{margin-top:.9rem;text-align:right;}
@media(max-width:480px){#crux-dash .dm-bar .dm-tag:not(.dm-tag--live){display:none;}}

/* Live demo */
#crux-dash .demo-top{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem;}
#crux-dash .demo-top .cx-lead{margin-top:1.25rem;}
#crux-dash .demo-frame{border:1px solid var(--ln);border-radius:2px;background:var(--cx-ink);overflow:hidden;}
#crux-dash .demo-frame .dm-bar{background:var(--pn);}
#crux-dash .demo-embed{width:100%;aspect-ratio:16/9;}
@media(max-width:720px){#crux-dash .demo-embed{aspect-ratio:3/4;}}
#crux-dash .demo-embed{position:relative;}
#crux-dash .demo-embed iframe{width:100%;height:100%;border:0;display:block;}
#crux-dash .demo-poster{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1.5rem;
  background:radial-gradient(600px 360px at 50% 60%,hsla(265,80%,45%,.22),transparent 70%),
  linear-gradient(hsla(255,60%,80%,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,hsla(255,60%,80%,.05) 1px,transparent 1px) 0 0/48px 48px,var(--cx-ink);}
#crux-dash .demo-poster .cx-display{margin-top:1rem;}
#crux-dash .demo-poster .cx-btns{justify-content:center;margin-top:1.75rem;}
#crux-dash .demo-poster .cx-body{margin:1rem auto 0;max-width:30rem;}
#crux-dash .demo-embed.is-loaded .demo-poster{display:none;}

/* Features */
#crux-dash .feat .cx-lead{margin-top:2rem;margin-bottom:clamp(2.5rem,5vw,4rem);}
#crux-dash .feat-t{display:flex;align-items:center;gap:.85rem;}
#crux-dash .feat-ico{width:2.25rem;height:2.25rem;border:1px solid var(--ln);border-radius:2px;display:grid;place-items:center;flex-shrink:0;}
#crux-dash .feat-ico svg{stroke:var(--sg);}

/* Channel streams */
#crux-dash .flow{display:grid;gap:clamp(2.5rem,5vw,4rem);}
@media(min-width:1024px){#crux-dash .flow{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;}}
#crux-dash .flow .cx-lead{margin-top:1.5rem;}
#crux-dash .flow-list{margin-top:2rem;border-top:1px solid var(--ln);}
#crux-dash .flow-list li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--ln);}
#crux-dash .flow-list li span:last-child{color:var(--t);}
#crux-dash .flow-svg{width:100%;height:auto;display:block;}
#crux-dash .flow-svg--m{display:none;max-width:420px;margin-inline:auto;}
@media(max-width:700px){#crux-dash .flow-svg--d{display:none;}#crux-dash .flow-svg--m{display:block;}#crux-dash .flow-svg.flow-svg--m .src text{font-size:12px;letter-spacing:.03em;}}
#crux-dash .flow-svg .src rect{fill:hsl(256,32%,11%);stroke:var(--cx-line);}
#crux-dash .flow-svg .src text{font-family:var(--cx-f-mono);font-size:15px;letter-spacing:.1em;fill:var(--cx-muted);text-transform:uppercase;}
#crux-dash .flow-svg .hubbox{fill:hsl(256,38%,7%);stroke:var(--cx-signal);stroke-opacity:.7;}
#crux-dash .flow-svg .hub-t{font-family:var(--cx-f-display);font-size:25.6px;fill:var(--cx-text);font-weight:800;letter-spacing:-.05em;}
#crux-dash .flow-svg .hub-s{font-family:var(--cx-f-mono);font-size:12px;letter-spacing:.16em;fill:var(--cx-signal);}
#crux-dash .flow-svg .sk{fill:var(--cx-line);}
#crux-dash .flow-svg .sk-a{fill:var(--cx-signal);fill-opacity:.8;}
#crux-dash .flow-svg .sk-c{fill:var(--cx-cyan);fill-opacity:.7;}

/* Task board */
#crux-dash .board-head{display:grid;gap:1.5rem;margin-bottom:clamp(2rem,4vw,3rem);}
@media(min-width:1024px){#crux-dash .board-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;}}
#crux-dash .board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ln);border-radius:2px;background:color-mix(in srgb,var(--pn) 45%,transparent);}
#crux-dash .board-col{padding:clamp(.75rem,2vw,1.5rem);min-width:0;}
#crux-dash .board-col+.board-col{border-left:1px dashed var(--ln);}
#crux-dash .board-col-h{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding-bottom:.9rem;margin-bottom:1rem;border-bottom:1px solid var(--ln);}
#crux-dash .board-card{border:1px solid var(--ln);border-radius:2px;padding:clamp(.65rem,1.5vw,1rem);position:relative;}
#crux-dash .board-card+.board-card{margin-top:.75rem;}
#crux-dash .board-card i{display:block;height:6px;border-radius:1px;background:var(--ln);}
#crux-dash .board-card i+i{margin-top:.55rem;opacity:.7;}
#crux-dash .board-col--prog .board-card{border-color:hsla(265,89%,72%,.45);background:hsla(265,89%,60%,.07);animation:dash-card 2.2s ease-in-out infinite;}
#crux-dash .board-col--prog .board-card+.board-card{animation-delay:.4s;}
#crux-dash .board-col--prog .board-card i{background:hsla(265,89%,72%,.55);}
#crux-dash .board-col--done .board-card{border-color:hsla(160,70%,50%,.3);background:hsla(160,70%,45%,.06);padding-right:2.25rem;}
#crux-dash .board-col--done .board-card i{background:hsla(160,70%,50%,.45);}
#crux-dash .board-ok{position:absolute;top:.55rem;right:.55rem;width:1.2rem;height:1.2rem;border-radius:2px;display:grid;place-items:center;font-size:.7rem;color:var(--cx-green);border:1px solid hsla(160,70%,50%,.4);}
@keyframes dash-card{0%,100%{border-color:hsla(265,89%,72%,.35)}50%{border-color:hsla(265,89%,72%,.85)}}
#crux-dash .board-note{margin-top:1.25rem;}
@media(max-width:560px){#crux-dash .board-col-h .cx-mono{font-size:.5625rem;letter-spacing:.08em;}#crux-dash .board-col-h .dm-tag{display:none;}}

/* Pricing */
#crux-dash .price-grid{display:grid;border:1px solid var(--ln);border-radius:2px;margin-top:clamp(2.5rem,5vw,3.5rem);}
@media(min-width:800px){#crux-dash .price-grid{grid-template-columns:1fr 1fr;}#crux-dash .price-grid>div+div{border-left:1px solid var(--ln);}}
@media(max-width:799px){#crux-dash .price-grid>div+div{border-top:1px solid var(--ln);}}
#crux-dash .price-cell{padding:clamp(1.5rem,3.5vw,2.5rem);position:relative;}
#crux-dash .price-cell--hl{background:color-mix(in srgb,var(--sg) 7%,transparent);}
#crux-dash .price-n{font-family:var(--cx-f-display);font-size:clamp(3.2rem,7.2vw,5.6rem);line-height:1.08;color:var(--t);margin-top:1rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.05em;}
#crux-dash .price-n small{font-family:var(--cx-f-mono);font-size:.875rem;letter-spacing:.14em;color:var(--tm);margin-left:.4rem;}
#crux-dash .price-n s{font-size:.45em;color:var(--tf);margin-right:.6rem;text-decoration-thickness:2px;vertical-align:.5em;}
#crux-dash .price-cell .cx-body{margin-top:1rem;max-width:30rem;}
#crux-dash .price-svcs{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;}
#crux-dash .price-foot{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:2rem;}

/* CTA */
#crux-dash .cta .cx-display{max-width:none;}
#crux-dash .cta .cx-lead{margin-top:1.75rem;}
#crux-dash .cta .cx-btns{margin-top:2.5rem;}



/* Hero */
#crux-builder .pb-hero{padding-bottom:clamp(3.5rem,7vw,5.5rem);}
#crux-builder .pb-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-builder .pb-h1{font-size:clamp(2.9rem,6.4vw,6rem);}
#crux-builder .pb-hero .cx-lead{margin-top:2rem;}
#crux-builder .pb-hero .cx-btns{margin-top:2.5rem;}
#crux-builder .pb-hero-facts{margin-top:2.75rem;display:flex;flex-wrap:wrap;gap:.6rem;}

/* Builder layout */
#crux-builder .pb-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,3.5rem);}
#crux-builder .pb-intro .cx-lead{max-width:30rem;}
#crux-builder .pb-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:start;}
@media(min-width:1024px){#crux-builder .pb-shell{grid-template-columns:minmax(0,1fr) 23rem;gap:3rem;}}
@media(min-width:1280px){#crux-builder .pb-shell{grid-template-columns:minmax(0,1fr) 25rem;gap:4rem;}}
#crux-builder .pb-left{display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,3.5rem);min-width:0;}

/* Group heads */
#crux-builder .svc-group-head{display:grid;gap:.5rem;margin-bottom:1.25rem;padding-top:1.25rem;border-top:1px solid var(--ln);}
#crux-builder .svc-group-head .cx-mono b{color:var(--sg);font-weight:600;}
#crux-builder .svc-group-title{font-size:clamp(1.6rem,2.6vw,2.1rem);}
#crux-builder .svc-group-sub{font-size:.975rem;line-height:1.65;color:var(--tm);max-width:44rem;}
#crux-builder .svc-group-title,#crux-builder .svc-group-sub{transition:opacity .3s;}

/* Fractional — premium tier */
#crux-builder .fractional-card{position:relative;border:2px solid transparent;border-radius:2px;padding:clamp(1.5rem,3vw,2.25rem);cursor:pointer;
  background:linear-gradient(var(--cx-ink),var(--cx-ink)) padding-box,var(--cx-aurora) border-box;background-size:100% 100%,300% 300%;animation:cx-aurora 9s ease-in-out infinite;transition:box-shadow .3s;}
#crux-builder .fractional-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 300px at 90% 0%,hsla(265,80%,45%,.22),transparent 65%);}
#crux-builder .fractional-card>*{position:relative;}
#crux-builder .fractional-card:hover{box-shadow:0 0 0 1px hsla(265,89%,72%,.25),0 24px 60px -30px hsla(265,85%,55%,.7);}
#crux-builder .fractional-card.selected{box-shadow:0 0 0 3px hsla(265,89%,72%,.35),0 24px 60px -24px hsla(265,85%,55%,.8);}
#crux-builder .fractional-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1.5rem;}
#crux-builder .fractional-tag{margin:0;white-space:normal;line-height:1.5;}
#crux-builder .fractional-badge{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--cx-f-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cx-ink);background:var(--cx-signal);padding:.35rem .7rem;border-radius:2px;font-weight:600;white-space:nowrap;}
#crux-builder .fractional-title{font-size:clamp(2.1rem,4.2vw,3.4rem);}
#crux-builder .fractional-sub{margin-top:1rem;max-width:44rem;}
#crux-builder .fractional-price-row{display:flex;align-items:baseline;gap:.75rem 1.25rem;flex-wrap:wrap;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--ln);}
#crux-builder .fractional-price{font-family:var(--cx-f-display);font-size:clamp(2.2rem,4vw,3rem);line-height:1.08;color:var(--t);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.05em;}
#crux-builder .fractional-price small{font-family:var(--cx-f-mono);font-size:.8rem;letter-spacing:.1em;color:var(--tm);margin-left:.3rem;}
#crux-builder .fractional-includes{margin-top:1.75rem;border:1px solid var(--ln);border-radius:2px;background:color-mix(in srgb,var(--pn) 55%,transparent);padding:1.25rem 1.4rem;}
#crux-builder .fractional-includes ul{display:grid;grid-template-columns:1fr;gap:.55rem 1.5rem;margin-top:1rem;}
@media(min-width:640px){#crux-builder .fractional-includes ul{grid-template-columns:1fr 1fr;}}
#crux-builder .fractional-includes li{position:relative;padding-left:1.4rem;font-size:.9rem;line-height:1.5;color:var(--tm);}
#crux-builder .fractional-includes li strong{color:var(--t);font-weight:600;}
#crux-builder .fractional-includes li::before{content:'\2713';position:absolute;left:0;color:var(--sg);font-weight:700;}
#crux-builder .fractional-cta-btn{width:100%;margin-top:1.5rem;}
#crux-builder .fractional-card.selected .fractional-cta-btn{background:transparent;animation:none;box-shadow:none;border-color:var(--sg);color:var(--sg) !important;}
#crux-builder .fractional-card.selected .fractional-cta-btn:hover{filter:none;transform:none;background:color-mix(in srgb,var(--sg) 10%,transparent);}
#crux-builder .fractional-locked-note{display:none;font-family:var(--cx-f-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cx-cyan);border:1px dashed hsla(190,90%,60%,.4);border-radius:2px;padding:.7rem 1rem;text-align:center;margin-top:-1.25rem;}
#crux-builder.fractional-on .fractional-locked-note{display:block;}

/* Service tiles — 2px bordered rows with square box, condensed name, Anton price */
#crux-builder .svc-tile{position:relative;border:2px solid var(--ln);border-radius:2px;padding:1.2rem 1.4rem 1.3rem;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .3s,filter .3s;}
#crux-builder .svc-tile+.svc-tile{margin-top:.6rem;}
#crux-builder .svc-tile:hover{background:color-mix(in srgb,var(--pn) 60%,transparent);border-color:hsla(265,89%,72%,.45);}
#crux-builder .svc-tile.selected{border-color:var(--sg);background:color-mix(in srgb,var(--sg) 8%,transparent);}
#crux-builder .tile-main{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;cursor:pointer;}
@supports selector(:has(*)){
  #crux-builder .tile-main:focus-visible{outline:none !important;}
  #crux-builder .svc-tile:has(.tile-main:focus-visible){outline:2px solid var(--sg);outline-offset:3px;}
}
#crux-builder .tile-box{width:1.4rem;height:1.4rem;border:2px solid var(--ln);border-radius:2px;display:grid;place-items:center;color:transparent;transition:background-color .2s,border-color .2s,color .2s;flex-shrink:0;}
#crux-builder .tile-box svg{display:block;}
#crux-builder .svc-tile:hover .tile-box{border-color:var(--tm);}
#crux-builder .svc-tile.selected .tile-box{background:var(--sg);border-color:var(--sg);color:var(--cx-ink);}
#crux-builder .tile-box--radio::after{content:'';width:.5rem;height:.5rem;background:var(--cx-ink);border-radius:1px;transform:scale(0);transition:transform .2s var(--cx-ease);}
#crux-builder .svc-tile.selected .tile-box--radio::after{transform:scale(1);}
#crux-builder .tile-name{font-family:var(--cx-f-cond);font-weight:700;line-height:1.1;font-size:clamp(1rem,1.52vw,1.2rem);color:var(--t);letter-spacing:-.03em;}
#crux-builder .tile-price{font-family:var(--cx-f-display);font-size:clamp(1.08rem,1.6vw,1.32rem);line-height:1.08;color:var(--t);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;font-weight:800;letter-spacing:-.05em;}
#crux-builder .tile-price small{font-family:var(--cx-f-mono);font-size:.68rem;letter-spacing:.1em;color:var(--tm);margin-left:.2rem;text-transform:uppercase;}
#crux-builder .tile-price .tile-pre{font-family:var(--cx-f-mono);font-size:.68rem;letter-spacing:.1em;color:var(--tm);margin-right:.35rem;text-transform:uppercase;}
#crux-builder .tile-price .tile-sub{display:block;margin:.3rem 0 0;}
#crux-builder .tile-tag{display:inline-block;font-family:var(--cx-f-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:.15rem .45rem;margin-left:.5rem;vertical-align:.2em;white-space:nowrap;font-weight:500;line-height:1.4;}
#crux-builder .tile-tag--pop{color:var(--sg);border-color:color-mix(in srgb,var(--sg) 55%,transparent);}
#crux-builder .tile-tag--free{color:var(--cx-green);border-color:rgba(52,211,153,.5);font-family:var(--cx-f-display);font-size:1.08rem;padding:.1rem .55rem;margin:0;vertical-align:baseline;font-weight:800;letter-spacing:-.05em;}
#crux-builder .tile-body{padding-left:calc(1.4rem + 1rem);}
#crux-builder .tile-desc{margin-top:.65rem;font-size:.94rem;line-height:1.65;color:var(--tm);max-width:46rem;}
#crux-builder .tile-features{display:grid;grid-template-columns:1fr;gap:.45rem 1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ln);}
@media(min-width:720px){#crux-builder .tile-features{grid-template-columns:1fr 1fr;}}
#crux-builder .tile-features li{position:relative;padding-left:1.25rem;font-size:.85rem;line-height:1.5;color:var(--tm);}
#crux-builder .tile-features li::before{content:'\2713';position:absolute;left:0;color:var(--sg);font-weight:700;}
#crux-builder .tile-expand{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;min-height:32px;font-family:var(--cx-f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sg);cursor:pointer;}
#crux-builder .tile-expand:hover{text-decoration:underline;text-underline-offset:4px;}
#crux-builder .tile-expand .cx-arr{transition:transform .25s var(--cx-ease);}
#crux-builder .tile-expand:hover .cx-arr{transform:translateX(4px);}
#crux-builder .tile-expand:focus-visible{outline:2px solid var(--sg);outline-offset:3px;}
#crux-builder .tile-none{padding-block:1rem;}
#crux-builder .tile-none .tile-name{color:var(--tm);}
@media(max-width:600px){
  #crux-builder .svc-tile{padding:1rem 1rem 1.1rem;}
  #crux-builder .tile-main{gap:.75rem;}
  #crux-builder .tile-body{padding-left:0;}
  #crux-builder .tile-tag--pop{display:table;margin:.4rem 0 0;}
}

/* Fractional lock: everything below is included */
#crux-builder.fractional-on .svc-tile{opacity:.4;pointer-events:none;filter:grayscale(.4);}
#crux-builder.fractional-on .svc-group-title,#crux-builder.fractional-on .svc-group-sub{opacity:.5;}

/* Ledger price panel */
#crux-builder .price-panel{position:sticky;top:calc(var(--cx-hdr-h) + 1.25rem);border:1px solid var(--ln);border-radius:2px;background:var(--cx-ink);}
#crux-builder .price-panel::before{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--cx-aurora);background-size:300% 300%;animation:cx-aurora 9s ease-in-out infinite;}
#crux-builder .pp-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--ln);}
#crux-builder .pp-head .cx-mono{margin:0;}
#crux-builder .pp-price-area{padding:1.5rem 1.4rem 1.35rem;border-bottom:1px solid var(--ln);background:radial-gradient(420px 200px at 100% 0%,hsla(265,80%,45%,.18),transparent 70%);}
#crux-builder .pp-monthly-row{display:flex;align-items:baseline;gap:.4rem;margin-top:.6rem;}
#crux-builder .pp-amount{font-family:var(--cx-f-display);font-size:clamp(2.6rem,4vw,3.4rem);line-height:1.08;color:var(--t);font-variant-numeric:tabular-nums;display:inline-block;font-weight:800;letter-spacing:-.05em;}
#crux-builder .pp-per{font-family:var(--cx-f-mono);font-size:.8rem;letter-spacing:.12em;color:var(--tm);text-transform:uppercase;}
#crux-builder .pp-onetime{margin-top:.6rem;font-family:var(--cx-f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-cyan);}
@keyframes pb-bump{0%{opacity:.55;transform:translateY(5px)}100%{opacity:1;transform:none}}
#crux-builder .pp-amount.bump{animation:pb-bump .35s var(--cx-ease);}
#crux-builder .pp-breakdown{padding:.6rem 1.4rem 1rem;}
#crux-builder .pp-line{display:flex;align-items:baseline;gap:.5rem;padding:.55rem 0;font-size:.875rem;color:var(--tm);border-bottom:1px dashed color-mix(in srgb,var(--ln) 80%,transparent);}
#crux-builder .pp-line-name{flex:0 1 auto;min-width:0;}
#crux-builder .pp-line::after{content:'';order:1;flex:1 1 1rem;}
#crux-builder .pp-line-val{order:2;font-family:var(--cx-f-mono);font-size:.8rem;letter-spacing:.04em;color:var(--t);white-space:nowrap;font-variant-numeric:tabular-nums;}
#crux-builder .pp-line-free .pp-line-val,#crux-builder .pp-free{color:var(--cx-green) !important;}
#crux-builder .pp-line-sub{font-size:.75rem;color:var(--tf);}
#crux-builder .pp-line-sub .pp-line-val{color:var(--tf);}
#crux-builder .pp-line.pp-total{border-bottom:0;border-top:3px double var(--ln);margin-top:.4rem;padding-top:.75rem;color:var(--t);font-family:var(--cx-f-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;}
#crux-builder .pp-line.pp-total .pp-line-val{font-size:.9rem;color:var(--sg);font-weight:600;}
#crux-builder .pp-empty{padding:1.5rem 0 .75rem;color:var(--tf);font-size:.9rem;line-height:1.6;display:flex;gap:.75rem;align-items:flex-start;}
#crux-builder .pp-empty-icon{font-family:var(--cx-f-mono);color:var(--sg);}
#crux-builder .pp-foot{padding:0 1.4rem 1.4rem;}
#crux-builder .pp-cta{display:none;width:100%;}
#crux-builder .pp-cta.show{display:flex;}
#crux-builder .pp-note{margin-top:.9rem;text-align:center;}

/* Pricing rules (paper) */
#crux-builder .rules .cx-stats{margin-top:clamp(2.5rem,5vw,3.5rem);}
#crux-builder .rules .cx-rows{margin-top:clamp(2.5rem,5vw,3.5rem);}
#crux-builder .rules .cx-body a{color:var(--sg);}

/* Modals */
#crux-builder .pb-modal{position:fixed;inset:0;z-index:9600;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(3,2,8,.74);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .3s var(--cx-ease),visibility 0s .3s;}
#crux-builder .pb-modal.open{opacity:1;visibility:visible;transition:opacity .3s var(--cx-ease);}
#crux-builder .pb-modal-card{position:relative;width:100%;max-width:32rem;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;background:var(--cx-navy);border:1px solid var(--cx-line);border-radius:2px;padding:clamp(1.5rem,4vw,2.25rem);transform:translateY(18px);transition:transform .4s var(--cx-ease);color:var(--cx-text);}
#crux-builder .pb-modal-card--wide{max-width:40rem;}
#crux-builder .pb-modal-card::before{content:'';position:sticky;display:block;top:calc(-1 * clamp(1.5rem,4vw,2.25rem));margin:calc(-1 * clamp(1.5rem,4vw,2.25rem)) calc(-1 * clamp(1.5rem,4vw,2.25rem)) calc(clamp(1.5rem,4vw,2.25rem) - 2px);height:2px;background:var(--cx-aurora);background-size:300% 300%;animation:cx-aurora 9s ease-in-out infinite;z-index:2;}
#crux-builder .pb-modal.open .pb-modal-card{transform:none;}
#crux-builder .modal-close{position:absolute;top:1rem;right:1rem;z-index:3;width:2.5rem;height:2.5rem;border:1px solid var(--cx-line);border-radius:50%;background:var(--cx-navy);color:var(--cx-muted);font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:border-color .2s,color .2s;}
#crux-builder .modal-close:hover{border-color:var(--cx-signal);color:var(--cx-text);}
#crux-builder .modal-label{margin-bottom:.6rem;padding-right:3rem;}
#crux-builder .modal-plan{font-family:var(--cx-f-display);font-weight:800;font-size:clamp(1.4rem,3.2vw,1.92rem);line-height:1.08;color:var(--cx-text);padding-right:2.5rem;overflow-wrap:anywhere;letter-spacing:-.05em;}
#crux-builder .modal-plan:focus{outline:none;}
#crux-builder .modal-form{display:grid;gap:1.1rem;margin-top:1.75rem;}
#crux-builder .modal-field{display:grid;gap:.45rem;}
#crux-builder .modal-field label{font-family:var(--cx-f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cx-muted);}
#crux-builder .modal-field label span{color:var(--cx-faint);}
#crux-builder .modal-field input,#crux-builder .modal-field textarea{width:100%;background:var(--cx-ink);border:1px solid var(--cx-line);border-radius:2px;padding:.8rem .95rem;font:inherit;font-size:1rem;color:var(--cx-text);transition:border-color .2s,box-shadow .2s;}
#crux-builder .modal-field input::placeholder,#crux-builder .modal-field textarea::placeholder{color:var(--cx-faint);}
#crux-builder .modal-field input:focus,#crux-builder .modal-field textarea:focus{outline:none;border-color:var(--cx-signal);box-shadow:0 0 0 3px hsla(265,89%,72%,.18);}
#crux-builder .modal-field textarea{resize:vertical;min-height:90px;}
#crux-builder .modal-submit{width:100%;margin-top:.35rem;}
#crux-builder .modal-submit[disabled]{opacity:.7;cursor:progress;}
#crux-builder .modal-err{font-size:.875rem;line-height:1.5;color:#fca5a5;border:1px solid rgba(248,113,113,.4);border-radius:2px;padding:.7rem .9rem;}
#crux-builder .modal-err a{color:inherit;}
#crux-builder .modal-success{display:none;padding:.5rem 0;}
#crux-builder .modal-success.show{display:block;}
#crux-builder .modal-success-icon{width:3rem;height:3rem;border:1px solid var(--cx-green);border-radius:2px;display:grid;place-items:center;color:var(--cx-green);font-size:1.3rem;margin-bottom:1.25rem;}
#crux-builder .modal-success h3{font-family:var(--cx-f-display);font-weight:800;font-size:clamp(1.52rem,3.2vw,2rem);line-height:1.08;margin-bottom:.9rem;letter-spacing:-.05em;}
#crux-builder .modal-success h3:focus{outline:none;}
#crux-builder .modal-success p{color:var(--cx-muted);line-height:1.65;}

/* Details modal content */
#crux-builder .det-price{font-family:var(--cx-f-display);font-size:clamp(1.28rem,2.4vw,1.6rem);line-height:1.08;color:var(--cx-signal);margin:.85rem 0 1.25rem;font-weight:800;letter-spacing:-.05em;}
#crux-builder .det-desc{font-size:.975rem;line-height:1.7;color:var(--cx-muted);margin-bottom:1.5rem;}
#crux-builder .det-section-label{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.7rem;}
#crux-builder .det-section-label::after{content:'';flex:1;height:1px;background:var(--cx-line);}
#crux-builder .det-features{display:grid;gap:.6rem;margin-bottom:1.5rem;}
#crux-builder .det-feature{display:grid;grid-template-columns:1.25rem 1fr;gap:.5rem;font-size:.9rem;line-height:1.55;color:var(--cx-muted);}
#crux-builder .det-feature--out{color:var(--cx-text);font-weight:500;}
#crux-builder .det-check{color:var(--cx-signal);font-weight:700;}
#crux-builder .det-note{font-size:.85rem;line-height:1.65;color:var(--cx-muted);border-left:2px solid var(--cx-signal);background:var(--cx-panel);padding:.9rem 1rem;border-radius:0 2px 2px 0;}
#crux-builder .det-select-btn{width:100%;margin-top:1.5rem;}
#crux-builder .det-select-btn.already{background:transparent;animation:none;box-shadow:none;border-color:var(--cx-line);color:var(--cx-muted) !important;cursor:default;}
#crux-builder .det-select-btn.already:hover{filter:none;transform:none;}



/* Hero */
#crux-c .c-hero{padding-bottom:clamp(4rem,8vw,6.5rem);}
#crux-c .c-grid{display:grid;gap:clamp(2.5rem,5vw,4rem);align-items:start;}
@media(min-width:1024px){#crux-c .c-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);}}
#crux-c .c-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-c .c-h1{font-size:clamp(3.25rem,8vw,7.5rem);}
#crux-c .c-hero .cx-lead{margin-top:1.75rem;}

/* Info ledger (response time + process) */
#crux-c .c-ledger{margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--ln);}
#crux-c .c-ledger-row{display:grid;gap:.6rem 1.5rem;padding-block:1.25rem;border-bottom:1px solid var(--ln);}
@media(min-width:560px){#crux-c .c-ledger-row{grid-template-columns:8rem minmax(0,1fr);align-items:baseline;}}
#crux-c .c-resp{display:flex;align-items:center;gap:.65rem;font-family:var(--cx-f-cond);font-weight:700;font-size:1.12rem;line-height:1.1;color:var(--t);letter-spacing:-.03em;}
#crux-c .c-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem;}
@media(min-width:560px){#crux-c .c-flow{grid-template-columns:repeat(4,auto);justify-content:start;column-gap:clamp(1.25rem,2.5vw,2rem);}}
#crux-c .c-flow li{position:relative;font-family:var(--cx-f-cond);font-weight:700;font-size:1.04rem;line-height:1.1;color:var(--t);letter-spacing:-.03em;}
#crux-c .c-flow li .cx-mono{display:block;font-size:.65rem;color:var(--sg);margin-bottom:.35rem;}
#crux-c .c-flow li .cx-mono::after{content:'\2192';margin-left:.5rem;color:var(--tf);}
#crux-c .c-flow li:last-child .cx-mono::after{content:none;}

/* Form panel */
#crux-c .c-panel{position:relative;border:1px solid var(--ln);background:var(--cx-panel);border-radius:2px;padding:clamp(1.5rem,3.5vw,2.5rem);}
#crux-c .c-panel::before{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--cx-aurora);background-size:300% 300%;animation:cx-aurora 9s ease-in-out infinite;}
#crux-c .c-panel-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;padding-bottom:1.25rem;margin-bottom:1.75rem;border-bottom:1px solid var(--ln);}
#crux-c .form-row{display:grid;gap:0 1.25rem;}
@media(min-width:640px){#crux-c .form-row{grid-template-columns:1fr 1fr;}}
#crux-c .form-group{margin-bottom:1.4rem;}
#crux-c .form-label{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.55rem;color:var(--tm);}
#crux-c .form-label .c-opt{color:var(--tf);}
#crux-c .form-input{display:block;width:100%;background:var(--cx-ink);border:1px solid var(--ln);border-radius:2px;padding:.85rem 1rem;color:var(--t);font-family:var(--cx-f-sans);font-size:1rem;line-height:1.5;min-height:48px;transition:border-color .2s,background-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;}
#crux-c .form-input::placeholder{color:var(--tf);opacity:1;}
#crux-c .form-input:hover{border-color:hsl(256,20%,30%);}
#crux-c .form-input:focus{border-color:var(--sg);background:hsl(258,40%,5%);box-shadow:0 0 0 3px hsla(265,89%,72%,.18);}
#crux-c .form-input:user-invalid{border-color:hsl(350,85%,65%);}
#crux-c textarea.form-input{resize:vertical;min-height:9rem;}
#crux-c .btn-submit{width:100%;margin-top:.4rem;border:0;font-size:1.0625rem;}
#crux-c .btn-submit:disabled{cursor:progress;filter:saturate(.6) brightness(.9);transform:none;}
#crux-c .c-fine{margin-top:1.1rem;text-align:center;}
#crux-c .c-fine a{color:var(--tm);text-underline-offset:3px;}

/* Success (kept for parity with the original; redirect to /thank-you is the live behavior) */
#crux-c .success{display:none;flex-direction:column;align-items:flex-start;gap:1rem;border:1px solid var(--ln);background:var(--cx-panel);border-radius:2px;padding:clamp(1.5rem,3.5vw,2.5rem);}
#crux-c .success.show{display:flex;}
#crux-c .success-icon{width:3rem;height:3rem;border:1px solid var(--cx-green);border-radius:2px;display:grid;place-items:center;color:var(--cx-green);font-size:1.25rem;}



/* Channel colours — dark-on-light by default, bright on dark surfaces */
#crux-chiro{--ch-ads:hsl(20,85%,44%);--ch-seo:hsl(190,85%,32%);--ch-ai:hsl(265,80%,50%);}
:root[data-theme="dark"] #crux-chiro{--ch-ads:hsl(24,95%,62%);--ch-seo:hsl(190,90%,60%);--ch-ai:hsl(265,89%,74%);}
:root[data-theme="dark"] #crux-chiro .cx-paper{--ch-ads:hsl(20,85%,44%);--ch-seo:hsl(190,85%,32%);--ch-ai:hsl(265,80%,50%);}
:root[data-theme="dark"] #crux-chiro .cx-paper .ch-fig{--ch-ads:hsl(24,95%,62%);--ch-seo:hsl(190,90%,60%);--ch-ai:hsl(265,89%,74%);}

/* Hero */
#crux-chiro .ch-hero{padding-bottom:clamp(3rem,6vw,5rem);}
#crux-chiro .ch-hero-grid{display:grid;gap:3rem;align-items:center;}
@media(min-width:1100px){#crux-chiro .ch-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);}}
#crux-chiro .ch-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-chiro .ch-h1{font-size:clamp(2rem,3.6vw,3.75rem);}
@media(max-width:700px){#crux-chiro .ch-h1{font-size:clamp(1.6rem,7.2vw,2.4rem);}}
#crux-chiro .ch-hero .cx-lead{margin-top:2rem;}
#crux-chiro .ch-hero .ch-lead-2{margin-top:1rem;max-width:40rem;}
#crux-chiro .ch-hero .cx-btns{margin-top:2.5rem;}
#crux-chiro .ch-under{margin-top:1.5rem;}
#crux-chiro .ch-hub{width:100%;max-width:520px;margin-inline:auto;display:block;}
#crux-chiro .ch-hub .ring1{stroke:hsla(265,89%,72%,.45);transform-origin:250px 250px;animation:crux-chiro-spin 40s linear infinite;stroke-dasharray:2 8;}
#crux-chiro .ch-hub .ring2{stroke:hsla(190,90%,60%,.3);transform-origin:250px 250px;animation:crux-chiro-spin 60s linear infinite reverse;stroke-dasharray:1 10;}
#crux-chiro .ch-hub .center-ring-el{stroke:url(#ch-hub-grad);}
#crux-chiro .ch-hub .tool-node{opacity:0;animation:crux-chiro-pop .7s cubic-bezier(.16,1,.3,1) forwards;transform-box:fill-box;transform-origin:center;}
@keyframes crux-chiro-spin{to{transform:rotate(360deg)}}
@keyframes crux-chiro-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@media(max-width:1099px){#crux-chiro .ch-hub-wrap{max-width:380px;margin-inline:auto;}}

/* About */
#crux-chiro .ch-photo{position:relative;max-width:30rem;margin-inline:auto;border:1px solid var(--ln);border-radius:2px;overflow:hidden;background:var(--pn);}
#crux-chiro .ch-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;}
#crux-chiro .ch-photo figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--ln);}
#crux-chiro .ch-about .cx-body{margin-top:1.25rem;max-width:36rem;}
#crux-chiro .ch-about .cx-stats{margin-top:2.5rem;grid-template-columns:repeat(2,minmax(0,1fr));}
#crux-chiro .ch-about .cx-stats>div{border-width:0 !important;}
#crux-chiro .ch-about .cx-stats>div:nth-child(odd){border-right-width:1px !important;}
#crux-chiro .ch-about .cx-stats>div:nth-child(n+3){border-top-width:1px !important;}

/* How it works */
#crux-chiro .ch-steps{display:grid;gap:0 2rem;margin-top:clamp(2.5rem,5vw,4rem);}
@media(min-width:640px){#crux-chiro .ch-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1100px){#crux-chiro .ch-steps{grid-template-columns:repeat(5,minmax(0,1fr));}}
#crux-chiro .ch-step{position:relative;padding:1.75rem 0 2rem;}
#crux-chiro .ch-step>.cx-rule{position:absolute;top:0;left:0;right:0;background:var(--t);height:2px;}
#crux-chiro .ch-step-n{font-family:var(--cx-f-display);font-weight:800;font-size:2.2rem;line-height:1.08;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--t) 38%,transparent);margin-bottom:1rem;letter-spacing:-.05em;}
#crux-chiro .ch-step .cx-body{margin-top:.6rem;font-size:.95rem;}

/* Strategy */
#crux-chiro .ch-intro{display:grid;gap:1.5rem 4rem;align-items:end;}
@media(min-width:1024px){#crux-chiro .ch-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}}
#crux-chiro .ch-chan{display:grid;gap:1rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
@media(min-width:900px){#crux-chiro .ch-chan{grid-template-columns:repeat(3,minmax(0,1fr));}}
#crux-chiro .ch-chan .cx-card{position:relative;border-top:2px solid var(--c);display:flex;flex-direction:column;gap:.85rem;}
#crux-chiro .ch-chan .ch-tag{color:var(--c);}
#crux-chiro .ch-chan .cx-cond{font-size:clamp(1.4rem,2.2vw,1.75rem);}
#crux-chiro .ch-chan .cx-body{font-size:.95rem;}
#crux-chiro .ch-tl{margin-top:1rem;}
#crux-chiro .ch-tl-title{margin-bottom:1.5rem;}
#crux-chiro .ch-tl-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;align-items:center;}
#crux-chiro .ch-tl-row+.ch-tl-row{margin-top:.75rem;}
#crux-chiro .ch-tl-lbl{font-family:var(--cx-f-mono);font-weight:700;font-size:.85rem;letter-spacing:-.01em;color:var(--c);}
#crux-chiro .ch-tl .cx-bar{position:relative;height:2rem;border:1px solid var(--ln);background:color-mix(in srgb,var(--pn) 70%,transparent);border-radius:2px;}
#crux-chiro .ch-tl .cx-bar>span{background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,transparent),var(--c));}
#crux-chiro .ch-tl-txt{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-family:var(--cx-f-mono);font-size:.72rem;font-weight:600;color:#fff;font-style:normal;white-space:nowrap;pointer-events:none;}
#crux-chiro .ch-tl-months{display:flex;justify-content:space-between;}
#crux-chiro .ch-tl-row--m{margin-top:.6rem !important;}
@media(max-width:560px){#crux-chiro .ch-tl-row{grid-template-columns:5.25rem minmax(0,1fr);gap:.6rem;}#crux-chiro .ch-tl-lbl{font-size:.75rem;}#crux-chiro .ch-tl-txt{font-size:.62rem;left:.5rem;}}

/* Economics / LTV model */
#crux-chiro .ch-econ .cx-body{margin-top:1.25rem;max-width:34rem;}
#crux-chiro .ch-ltv{padding:0;overflow:hidden;}
#crux-chiro .ch-ltv-hd{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ln);}
#crux-chiro .ch-ltv-hd .cx-tag{margin:0;}
#crux-chiro .ch-ltv table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
#crux-chiro .ch-ltv th{font-family:var(--cx-f-mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--tf);text-align:right;padding:.85rem 1.25rem;border-bottom:1px solid var(--ln);}
#crux-chiro .ch-ltv th:first-child,#crux-chiro .ch-ltv td:first-child{text-align:left;}
#crux-chiro .ch-ltv td{padding:1rem 1.25rem;border-bottom:1px solid var(--ln);color:var(--tm);font-size:.95rem;text-align:right;}
#crux-chiro .ch-ltv td:not(:first-child){font-family:var(--cx-f-mono);font-weight:600;color:var(--t);white-space:nowrap;}
#crux-chiro .ch-ltv tr.is-total td{background:color-mix(in srgb,var(--sg) 8%,transparent);color:var(--t);font-weight:600;border-bottom:0;}
#crux-chiro .ch-ltv tr.is-total td:not(:first-child){font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.04em;font-size:clamp(1.15rem,2vw,1.5rem);color:var(--sg);}
#crux-chiro .ch-ltv-note{padding:1rem 1.25rem;border-top:1px solid var(--ln);font-size:.85rem;line-height:1.6;color:var(--tf);}
@media(max-width:560px){#crux-chiro .ch-ltv th,#crux-chiro .ch-ltv td{padding:.8rem .6rem;font-size:.82rem;}#crux-chiro .ch-ltv th{font-size:.58rem;letter-spacing:.08em;}}

/* Channel deep-dives (same rhythm as the services page) */
#crux-chiro .ch-svc{position:relative;padding-block:clamp(2.75rem,5vw,4.25rem);}
#crux-chiro .ch-svc:first-of-type{padding-top:.5rem;}
#crux-chiro .ch-svc:last-child{padding-bottom:0;}
#crux-chiro .ch-svc>.cx-rule{position:absolute;left:0;right:0;top:0;}
#crux-chiro .ch-svc-grid{display:grid;gap:2.5rem;}
@media(min-width:1024px){
  #crux-chiro .ch-svc-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(3rem,5vw,5rem);align-items:center;}
  #crux-chiro .ch-svc--flip .ch-svc-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);}
  #crux-chiro .ch-svc--flip .ch-fig{order:-1;}
}
#crux-chiro .ch-svc-num{display:flex;align-items:center;gap:.75rem;}
#crux-chiro .ch-svc-num .ch-n{color:var(--c);}
#crux-chiro .ch-svc-title{font-size:clamp(1.9rem,3.4vw,3rem);margin:.9rem 0 1.25rem;}
#crux-chiro .ch-svc .cx-lead{font-size:clamp(1.02rem,1.4vw,1.15rem);}
#crux-chiro .ch-svc .cx-lead strong{color:var(--t);font-weight:600;}
#crux-chiro .ch-bullets{margin-top:1.75rem;}
#crux-chiro .ch-bullets li{display:grid;grid-template-columns:1.75rem 1fr;gap:.25rem;padding:.85rem 0;border-top:1px solid var(--ln);color:var(--tm);font-size:.98rem;line-height:1.55;}
#crux-chiro .ch-bullets li:last-child{border-bottom:1px solid var(--ln);}
#crux-chiro .ch-bullets li::before{content:'\2192';color:var(--c);font-family:var(--cx-f-mono);}
#crux-chiro .ch-bullets strong{color:var(--t);font-weight:600;}
#crux-chiro .ch-svc .cx-link{margin-top:1.75rem;color:var(--c);}

/* Figure panels — follow the theme surface, framed like the services page */
#crux-chiro .ch-fig{--t:var(--cx-text);--tm:var(--cx-muted);--tf:var(--cx-faint);--ln:var(--cx-line);--pn:var(--cx-panel);--sg:var(--cx-signal);
  border:1px solid var(--cx-line);border-radius:2px;overflow:hidden;color:var(--cx-text);
  background:radial-gradient(420px 260px at 75% 0%,hsla(265,80%,45%,.16),transparent 70%),var(--cx-navy);}
#crux-chiro .ch-fig-hd{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--ln);}
#crux-chiro .ch-fig-hd span:last-child{display:inline-flex;align-items:center;gap:.5rem;}
#crux-chiro .ch-fig-body{padding:clamp(1rem,2.5vw,1.5rem);}
#crux-chiro .ch-fig-ft{padding:.85rem 1rem;border-top:1px solid var(--ln);font-size:.85rem;line-height:1.55;color:var(--tm);}

#crux-chiro .ch-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ln);}
#crux-chiro .ch-kpis>div{padding:1rem .9rem;}
#crux-chiro .ch-kpis>div+div{border-left:1px solid var(--ln);}
#crux-chiro .ch-kpi-v{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.05em;font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1;color:var(--t);font-variant-numeric:tabular-nums;}
#crux-chiro .ch-kpi-l{margin-top:.5rem;}
#crux-chiro .ch-kpi-c{margin-top:.35rem;font-family:var(--cx-f-mono);font-size:.75rem;font-weight:600;color:var(--cx-green);}
#crux-chiro .ch-cmp{margin-top:1.5rem;}
#crux-chiro .ch-cmp-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 3rem;gap:.75rem;align-items:center;margin-top:.75rem;}
#crux-chiro .ch-cmp-row .cx-bar{height:10px;}
#crux-chiro .ch-cmp-row .cx-bar>span{background:var(--c,var(--sg));}
#crux-chiro .ch-cmp-row .cx-bar--dim>span{background:color-mix(in srgb,var(--tf) 45%,transparent);}
#crux-chiro .ch-cmp-p{font-family:var(--cx-f-mono);font-weight:700;font-size:.9rem;text-align:right;color:var(--t);}
#crux-chiro .ch-cmp-p.is-dim{color:var(--tf);}
@media(max-width:560px){#crux-chiro .ch-cmp-row{grid-template-columns:6.25rem minmax(0,1fr) 2.75rem;gap:.5rem;}#crux-chiro .ch-kpis>div{padding:.85rem .6rem;}}

#crux-chiro .ch-rank{width:100%;border-collapse:collapse;font-size:.9rem;}
#crux-chiro .ch-rank th{font-family:var(--cx-f-mono);font-size:.66rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--tf);text-align:left;padding:0 .5rem .75rem;border-bottom:1px solid var(--ln);}
#crux-chiro .ch-rank td{padding:.8rem .5rem;border-bottom:1px solid var(--ln);font-family:var(--cx-f-mono);font-size:.82rem;white-space:nowrap;}
#crux-chiro .ch-rank td:first-child{font-family:var(--cx-f-sans);font-size:.9rem;color:var(--t);white-space:normal;}
#crux-chiro .ch-rank tr:last-child td{border-bottom:0;}
#crux-chiro .ch-rank .r-bad{color:var(--tf);}
#crux-chiro .ch-rank .r-mid{color:var(--tm);}
#crux-chiro .ch-rank .r-good{color:var(--cx-green);font-weight:700;}
#crux-chiro .ch-rank .r-map{display:inline-block;padding:.15rem .45rem;border:1px solid var(--cx-green);border-radius:2px;color:var(--cx-green);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
@media(max-width:560px){#crux-chiro .ch-rank th,#crux-chiro .ch-rank td{padding-inline:.3rem;}#crux-chiro .ch-rank td:first-child{font-size:.82rem;}}

#crux-chiro .ch-ai{display:grid;gap:1rem;}
@media(min-width:560px){#crux-chiro .ch-ai{grid-template-columns:repeat(2,minmax(0,1fr));}}
#crux-chiro .ch-ai-panel{border:1px solid var(--ln);border-radius:2px;padding:1rem;background:color-mix(in srgb,var(--pn) 60%,transparent);}
#crux-chiro .ch-ai-panel>.cx-mono{margin-bottom:.85rem;}
#crux-chiro .ch-ai-res{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem 0;}
#crux-chiro .ch-ai-res+.ch-ai-res{border-top:1px solid var(--ln);}
#crux-chiro .ch-pin{width:.6rem;height:.6rem;border-radius:50%;margin-top:.35rem;flex-shrink:0;background:var(--tf);}
#crux-chiro .ch-pin.is-you{background:var(--ch-seo);box-shadow:0 0 0 3px color-mix(in srgb,var(--ch-seo) 25%,transparent);}
#crux-chiro .ch-ai-name{font-weight:600;font-size:.9rem;color:var(--t);}
#crux-chiro .ch-ai-sub{font-family:var(--cx-f-mono);font-size:.7rem;color:var(--tf);margin-top:.15rem;}
#crux-chiro .ch-bubble{font-size:.9rem;line-height:1.6;color:var(--tm);padding:.85rem;border:1px solid color-mix(in srgb,var(--ch-ai) 45%,transparent);background:color-mix(in srgb,var(--ch-ai) 8%,transparent);border-radius:2px;}
#crux-chiro .ch-bubble strong{color:var(--t);}
#crux-chiro .ch-src{display:flex;align-items:center;gap:.45rem;margin-top:.75rem;}

/* Reporting grid */
#crux-chiro .ch-metrics{display:grid;gap:1rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
@media(min-width:640px){#crux-chiro .ch-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1024px){#crux-chiro .ch-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}
#crux-chiro .ch-metric{display:flex;flex-direction:column;gap:.75rem;transition:border-color .3s,background-color .3s;}
#crux-chiro .ch-metric:hover{border-color:color-mix(in srgb,var(--sg) 55%,transparent);background:var(--pn);}
#crux-chiro .ch-metric-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;}
#crux-chiro .ch-ico{width:2.75rem;height:2.75rem;border-radius:2px;display:grid;place-items:center;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);}
#crux-chiro .ch-ico svg{width:20px;height:20px;}
#crux-chiro .ch-metric .cx-body{font-size:.95rem;}

/* Results */
#crux-chiro .ch-cases{display:grid;gap:1rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
@media(min-width:1024px){#crux-chiro .ch-cases{grid-template-columns:repeat(3,minmax(0,1fr));}}
#crux-chiro .ch-case{padding:0;}
#crux-chiro .ch-case-hd{min-height:3.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ln);display:flex;align-items:center;gap:.6rem;}
#crux-chiro .ch-case-stat{padding:1.25rem;}
#crux-chiro .ch-case-stat+.ch-case-stat{border-top:1px solid var(--ln);}
#crux-chiro .ch-case-v{font-family:var(--cx-f-display);font-weight:800;letter-spacing:-.05em;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1;color:var(--t);font-variant-numeric:tabular-nums;}
#crux-chiro .ch-case-l{margin-top:.5rem;font-size:.93rem;line-height:1.55;color:var(--tm);}
#crux-chiro .ch-disclaim{margin-top:1.5rem;font-size:.85rem;}

/* Fit */
#crux-chiro .ch-fit{display:grid;gap:1.5rem 3rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
@media(min-width:900px){#crux-chiro .ch-fit{grid-template-columns:repeat(2,minmax(0,1fr));}}
#crux-chiro .ch-fit-col>.cx-mono{display:flex;align-items:center;gap:.6rem;padding-bottom:1rem;}
#crux-chiro .ch-fit-list li{display:grid;grid-template-columns:2rem 1fr;gap:.25rem;padding:1.1rem 0;border-top:1px solid var(--ln);font-size:1rem;line-height:1.6;color:var(--t);}
#crux-chiro .ch-fit-list li:last-child{border-bottom:1px solid var(--ln);}
#crux-chiro .ch-fit-list .ch-mark{font-family:var(--cx-f-mono);font-weight:700;color:var(--sg);}
#crux-chiro .ch-fit-col.is-no .ch-fit-list li{color:var(--tm);}
#crux-chiro .ch-fit-col.is-no .ch-mark{color:var(--tf);}

/* Closing CTA */
#crux-chiro .ch-cta .cx-display{max-width:none;}
#crux-chiro .ch-cta .cx-lead{margin-top:1.75rem;max-width:44rem;}
#crux-chiro .ch-cta .cx-btns{margin-top:2.5rem;}
#crux-chiro .ch-cta-list{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-top:2rem;}
#crux-chiro .ch-cta-list li{display:flex;align-items:center;gap:.5rem;}
#crux-chiro .ch-cta-list li::before{content:'\2713';color:var(--sg);font-weight:700;}



#crux-ty .ty-hero{min-height:min(82vh,52rem);display:flex;align-items:center;padding-bottom:clamp(3rem,6vw,5rem);}
#crux-ty .ty-grid{display:grid;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
@media(min-width:1024px){#crux-ty .ty-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}}
#crux-ty .ty-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.75rem;}
#crux-ty .ty-h1{font-size:clamp(2.6rem,6vw,5.5rem);}
#crux-ty .cx-lead{margin-top:1.75rem;}
#crux-ty .cx-btns{margin-top:2.25rem;}

/* Check mark that draws itself */
#crux-ty .ty-check{width:clamp(7rem,14vw,10rem);height:auto;display:block;margin-bottom:2rem;}
#crux-ty .ty-check circle{stroke:var(--ln);}
#crux-ty .ty-check .ty-ring{stroke:var(--cx-green);stroke-dasharray:302;stroke-dashoffset:302;transform:rotate(-90deg);transform-origin:50% 50%;}
#crux-ty .ty-check .ty-tick{stroke:var(--cx-green);stroke-dasharray:60;stroke-dashoffset:60;}
.cx-js #crux-ty .ty-check.is-in .ty-ring{animation:ty-draw 1s cubic-bezier(.16,1,.3,1) .2s forwards;}
.cx-js #crux-ty .ty-check.is-in .ty-tick{animation:ty-draw .6s cubic-bezier(.16,1,.3,1) .9s forwards;}
html:not(.cx-js) #crux-ty .ty-check .ty-ring,html:not(.cx-js) #crux-ty .ty-check .ty-tick{stroke-dashoffset:0;}
@keyframes ty-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){#crux-ty .ty-check .ty-ring,#crux-ty .ty-check .ty-tick{stroke-dashoffset:0 !important;animation:none !important;}}

/* What happens next */
#crux-ty .ty-next{border:1px solid var(--ln);background:color-mix(in srgb,var(--pn) 70%,transparent);border-radius:2px;}
#crux-ty .ty-next-h{padding:1.1rem 1.4rem;border-bottom:1px solid var(--ln);display:flex;justify-content:space-between;align-items:center;gap:1rem;}
#crux-ty .ty-step{display:grid;grid-template-columns:2.5rem 1fr;gap:.25rem 1rem;padding:1.25rem 1.4rem;}
#crux-ty .ty-step + .ty-step{border-top:1px solid var(--ln);}
#crux-ty .ty-step .cx-mono{padding-top:.2rem;}
#crux-ty .ty-step .cx-body{grid-column:2;font-size:.95rem;margin-top:.25rem;}
#crux-ty .ty-step.is-done .cx-mono{color:var(--cx-green);}

/* Meanwhile links */
#crux-ty .ty-links{display:grid;gap:1rem;margin-top:clamp(2rem,4vw,3rem);}
@media(min-width:768px){#crux-ty .ty-links{grid-template-columns:repeat(3,minmax(0,1fr));}}
#crux-ty .ty-link{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;border:1px solid var(--ln);border-radius:2px;text-decoration:none;color:var(--t);background:color-mix(in srgb,var(--pn) 45%,transparent);transition:border-color .25s,transform .35s cubic-bezier(.16,1,.3,1),background-color .25s;}
#crux-ty .ty-link:hover{border-color:var(--sg);transform:translateY(-3px);background:var(--pn);}
#crux-ty .ty-link .cx-body{font-size:.925rem;}
#crux-ty .ty-link .cx-link{margin-top:auto;padding-top:.5rem;}



/* Hero */
#crux-privacy .lg-hero{padding-bottom:clamp(3rem,6vw,4.5rem);}
#crux-privacy .lg-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem;}
#crux-privacy .lg-kicker::before{content:'';width:1.5rem;height:1px;background:var(--sg);}
#crux-privacy .lg-h1{font-size:clamp(3rem,7vw,6.5rem);}
#crux-privacy .lg-updated{margin-top:1.75rem;}
#crux-privacy .lg-hero .cx-lead{margin-top:1.5rem;max-width:44rem;}

/* Body band */
#crux-privacy .lg-body{padding-block:clamp(3.5rem,8vw,6rem) clamp(4.5rem,9vw,7rem);}
#crux-privacy .lg-grid{display:grid;gap:2.5rem;}
@media(min-width:1100px){#crux-privacy .lg-grid{grid-template-columns:15rem minmax(0,46rem);justify-content:center;column-gap:clamp(3rem,5vw,5rem);align-items:start;}}

/* Table of contents */
#crux-privacy .lg-toc{border:1px solid var(--ln);border-radius:2px;padding:1.25rem 1.25rem .9rem;background:var(--pn);max-width:46rem;}
#crux-privacy .lg-toc-h{margin-bottom:.6rem;color:var(--tf);}
#crux-privacy .lg-toc ol{display:grid;column-gap:1.5rem;}
@media(min-width:640px) and (max-width:1099px){#crux-privacy .lg-toc ol{grid-template-columns:1fr 1fr;}}
#crux-privacy .lg-toc a{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.25rem;padding:.4rem 0;font-size:.875rem;line-height:1.35;color:var(--tm);text-decoration:none;transition:color .2s;}
#crux-privacy .lg-toc a .lg-toc-n{font-family:var(--cx-f-mono);font-size:.7rem;letter-spacing:.08em;color:var(--tf);padding-top:.12em;transition:color .2s;}
#crux-privacy .lg-toc a:hover,#crux-privacy .lg-toc a.is-active{color:var(--t);}
#crux-privacy .lg-toc a:hover .lg-toc-n,#crux-privacy .lg-toc a.is-active .lg-toc-n{color:var(--sg);}
@media(min-width:1100px){
  #crux-privacy .lg-toc{position:sticky;top:calc(var(--cx-hdr-h) + 1.5rem);background:transparent;border:0;border-left:1px solid var(--ln);border-radius:0;padding:0 0 0 1.25rem;max-height:calc(100vh - var(--cx-hdr-h) - 3rem);overflow-y:auto;scrollbar-width:thin;}
  #crux-privacy .lg-toc a{position:relative;}
  #crux-privacy .lg-toc a.is-active::before{content:'';position:absolute;left:calc(-1.25rem - 1px);top:.35rem;bottom:.35rem;width:2px;background:var(--sg);}
}

/* Document */
#crux-privacy .lg-doc{min-width:0;max-width:46rem;font-size:1.05rem;line-height:1.75;color:var(--t);}
#crux-privacy .lg-doc p{margin:0 0 1.1rem;}
#crux-privacy .lg-doc ul{margin:0 0 1.25rem;padding:0;}
#crux-privacy .lg-doc ul li{position:relative;padding-left:1.5rem;margin-bottom:.6rem;}
#crux-privacy .lg-doc ul li::before{content:'';position:absolute;left:0;top:.87em;width:.7rem;height:1px;background:var(--sg);}
#crux-privacy .lg-doc a{color:var(--sg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;}
#crux-privacy .lg-doc a:hover{text-decoration-thickness:2px;}
#crux-privacy .lg-doc strong{font-weight:600;color:var(--t);}
#crux-privacy .lg-doc code{font-family:var(--cx-f-mono);font-size:.84em;background:var(--pn);border:1px solid var(--ln);border-radius:2px;padding:.05em .35em;overflow-wrap:anywhere;}
#crux-privacy .lg-doc > .cx-rule{margin:3.25rem 0 1.75rem;}
#crux-privacy .lg-doc > .cx-rule:first-child{margin-top:0;}
#crux-privacy .lg-doc h2{font-family:var(--cx-f-cond);font-weight:700;font-size:clamp(1.28rem,2.08vw,1.68rem);line-height:1.05;color:var(--t);margin:0 0 1.1rem;letter-spacing:-.03em;}
#crux-privacy .lg-doc h2:focus{outline:none;}
#crux-privacy .lg-doc h2 .lg-n{display:block;font-family:var(--cx-f-mono);font-weight:500;font-size:.75rem;letter-spacing:.14em;color:var(--sg);margin-bottom:.65rem;}
#crux-privacy .lg-doc h3{font-family:var(--cx-f-cond);font-weight:700;font-size:1.04rem;line-height:1.15;color:var(--t);margin:2rem 0 .6rem;letter-spacing:-.03em;}
#crux-privacy .lg-doc h3 .lg-n{font-family:var(--cx-f-mono);font-weight:500;font-size:.75rem;letter-spacing:.1em;color:var(--sg);margin-right:.5rem;}

/* Tables */
#crux-privacy .lg-table{overflow-x:auto;margin:1.25rem 0 1.75rem;border:1px solid var(--ln);border-radius:2px;background:hsl(0,0%,100%,.55);}
#crux-privacy .lg-table table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.9rem;}
#crux-privacy .lg-table th,#crux-privacy .lg-table td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--ln);line-height:1.55;}
#crux-privacy .lg-table th{font-family:var(--cx-f-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tm);background:var(--pn);}
#crux-privacy .lg-table tr:last-child td{border-bottom:0;}

/* Callout boxes */
#crux-privacy .contact-card,#crux-privacy .rights-list{border:1px solid var(--ln);border-left:2px solid var(--sg);border-radius:2px;background:var(--pn);padding:1.4rem clamp(1.1rem,3vw,1.75rem);margin:1.5rem 0;}
#crux-privacy .contact-card > :last-child,#crux-privacy .rights-list ul,#crux-privacy .rights-list li:last-child{margin-bottom:0;}
#crux-privacy .arb-box{border:2px solid var(--sg);border-radius:2px;background:hsl(0,0%,100%,.6);padding:clamp(1.25rem,3vw,1.9rem);margin:0 0 1.5rem;}
#crux-privacy .arb-box .arb-label{font-family:var(--cx-f-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;line-height:1.5;color:var(--sg);margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--ln);}
#crux-privacy .arb-box > :last-child{margin-bottom:0;}
#crux-privacy .sla{display:inline-block;font-family:var(--cx-f-mono);font-size:.8rem;line-height:1.5;letter-spacing:.02em;color:var(--sg);border:1px solid var(--sg);border-radius:2px;padding:.4rem .7rem;}



/* Hero */
#crux-terms .lg-hero{padding-bottom:clamp(3rem,6vw,4.5rem);}
#crux-terms .lg-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem;}
#crux-terms .lg-kicker::before{content:'';width:1.5rem;height:1px;background:var(--sg);}
#crux-terms .lg-h1{font-size:clamp(3rem,7vw,6.5rem);}
#crux-terms .lg-updated{margin-top:1.75rem;}
#crux-terms .lg-hero .cx-lead{margin-top:1.5rem;max-width:44rem;}

/* Body band */
#crux-terms .lg-body{padding-block:clamp(3.5rem,8vw,6rem) clamp(4.5rem,9vw,7rem);}
#crux-terms .lg-grid{display:grid;gap:2.5rem;}
@media(min-width:1100px){#crux-terms .lg-grid{grid-template-columns:15rem minmax(0,46rem);justify-content:center;column-gap:clamp(3rem,5vw,5rem);align-items:start;}}

/* Table of contents */
#crux-terms .lg-toc{border:1px solid var(--ln);border-radius:2px;padding:1.25rem 1.25rem .9rem;background:var(--pn);max-width:46rem;}
#crux-terms .lg-toc-h{margin-bottom:.6rem;color:var(--tf);}
#crux-terms .lg-toc ol{display:grid;column-gap:1.5rem;}
@media(min-width:640px) and (max-width:1099px){#crux-terms .lg-toc ol{grid-template-columns:1fr 1fr;}}
#crux-terms .lg-toc a{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.25rem;padding:.4rem 0;font-size:.875rem;line-height:1.35;color:var(--tm);text-decoration:none;transition:color .2s;}
#crux-terms .lg-toc a .lg-toc-n{font-family:var(--cx-f-mono);font-size:.7rem;letter-spacing:.08em;color:var(--tf);padding-top:.12em;transition:color .2s;}
#crux-terms .lg-toc a:hover,#crux-terms .lg-toc a.is-active{color:var(--t);}
#crux-terms .lg-toc a:hover .lg-toc-n,#crux-terms .lg-toc a.is-active .lg-toc-n{color:var(--sg);}
@media(min-width:1100px){
  #crux-terms .lg-toc{position:sticky;top:calc(var(--cx-hdr-h) + 1.5rem);background:transparent;border:0;border-left:1px solid var(--ln);border-radius:0;padding:0 0 0 1.25rem;max-height:calc(100vh - var(--cx-hdr-h) - 3rem);overflow-y:auto;scrollbar-width:thin;}
  #crux-terms .lg-toc a{position:relative;}
  #crux-terms .lg-toc a.is-active::before{content:'';position:absolute;left:calc(-1.25rem - 1px);top:.35rem;bottom:.35rem;width:2px;background:var(--sg);}
}

/* Document */
#crux-terms .lg-doc{min-width:0;max-width:46rem;font-size:1.05rem;line-height:1.75;color:var(--t);}
#crux-terms .lg-doc p{margin:0 0 1.1rem;}
#crux-terms .lg-doc ul{margin:0 0 1.25rem;padding:0;}
#crux-terms .lg-doc ul li{position:relative;padding-left:1.5rem;margin-bottom:.6rem;}
#crux-terms .lg-doc ul li::before{content:'';position:absolute;left:0;top:.87em;width:.7rem;height:1px;background:var(--sg);}
#crux-terms .lg-doc a{color:var(--sg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;}
#crux-terms .lg-doc a:hover{text-decoration-thickness:2px;}
#crux-terms .lg-doc strong{font-weight:600;color:var(--t);}
#crux-terms .lg-doc code{font-family:var(--cx-f-mono);font-size:.84em;background:var(--pn);border:1px solid var(--ln);border-radius:2px;padding:.05em .35em;overflow-wrap:anywhere;}
#crux-terms .lg-doc > .cx-rule{margin:3.25rem 0 1.75rem;}
#crux-terms .lg-doc > .cx-rule:first-child{margin-top:0;}
#crux-terms .lg-doc h2{font-family:var(--cx-f-cond);font-weight:700;font-size:clamp(1.28rem,2.08vw,1.68rem);line-height:1.05;color:var(--t);margin:0 0 1.1rem;letter-spacing:-.03em;}
#crux-terms .lg-doc h2:focus{outline:none;}
#crux-terms .lg-doc h2 .lg-n{display:block;font-family:var(--cx-f-mono);font-weight:500;font-size:.75rem;letter-spacing:.14em;color:var(--sg);margin-bottom:.65rem;}
#crux-terms .lg-doc h3{font-family:var(--cx-f-cond);font-weight:700;font-size:1.04rem;line-height:1.15;color:var(--t);margin:2rem 0 .6rem;letter-spacing:-.03em;}
#crux-terms .lg-doc h3 .lg-n{font-family:var(--cx-f-mono);font-weight:500;font-size:.75rem;letter-spacing:.1em;color:var(--sg);margin-right:.5rem;}

/* Tables */
#crux-terms .lg-table{overflow-x:auto;margin:1.25rem 0 1.75rem;border:1px solid var(--ln);border-radius:2px;background:hsl(0,0%,100%,.55);}
#crux-terms .lg-table table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.9rem;}
#crux-terms .lg-table th,#crux-terms .lg-table td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--ln);line-height:1.55;}
#crux-terms .lg-table th{font-family:var(--cx-f-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tm);background:var(--pn);}
#crux-terms .lg-table tr:last-child td{border-bottom:0;}

/* Callout boxes */
#crux-terms .contact-card,#crux-terms .rights-list{border:1px solid var(--ln);border-left:2px solid var(--sg);border-radius:2px;background:var(--pn);padding:1.4rem clamp(1.1rem,3vw,1.75rem);margin:1.5rem 0;}
#crux-terms .contact-card > :last-child,#crux-terms .rights-list ul,#crux-terms .rights-list li:last-child{margin-bottom:0;}
#crux-terms .arb-box{border:2px solid var(--sg);border-radius:2px;background:hsl(0,0%,100%,.6);padding:clamp(1.25rem,3vw,1.9rem);margin:0 0 1.5rem;}
#crux-terms .arb-box .arb-label{font-family:var(--cx-f-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;line-height:1.5;color:var(--sg);margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--ln);}
#crux-terms .arb-box > :last-child{margin-bottom:0;}
#crux-terms .sla{display:inline-block;font-family:var(--cx-f-mono);font-size:.8rem;line-height:1.5;letter-spacing:.02em;color:var(--sg);border:1px solid var(--sg);border-radius:2px;padding:.4rem .7rem;}



/* Hero */
#crux-a11y .lg-hero{padding-bottom:clamp(3rem,6vw,4.5rem);}
#crux-a11y .lg-kicker{display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem;}
#crux-a11y .lg-kicker::before{content:'';width:1.5rem;height:1px;background:var(--sg);}
#crux-a11y .lg-h1{font-size:clamp(3rem,7vw,6.5rem);}
#crux-a11y .lg-updated{margin-top:1.75rem;}
#crux-a11y .lg-hero .cx-lead{margin-top:1.5rem;max-width:44rem;}

/* Body band */
#crux-a11y .lg-body{padding-block:clamp(3.5rem,8vw,6rem) clamp(4.5rem,9vw,7rem);}
#crux-a11y .lg-grid{display:grid;gap:2.5rem;}
@media(min-width:1100px){#crux-a11y .lg-grid{grid-template-columns:15rem minmax(0,46rem);justify-content:center;column-gap:clamp(3rem,5vw,5rem);align-items:start;}}

/* Table of contents */
#crux-a11y .lg-toc{border:1px solid var(--ln);border-radius:2px;padding:1.25rem 1.25rem .9rem;background:var(--pn);max-width:46rem;}
#crux-a11y .lg-toc-h{margin-bottom:.6rem;color:var(--tf);}
#crux-a11y .lg-toc ol{display:grid;column-gap:1.5rem;}
@media(min-width:640px) and (max-width:1099px){#crux-a11y .lg-toc ol{grid-template-columns:1fr 1fr;}}
#crux-a11y .lg-toc a{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.25rem;padding:.4rem 0;font-size:.875rem;line-height:1.35;color:var(--tm);text-decoration:none;transition:color .2s;}
#crux-a11y .lg-toc a .lg-toc-n{font-family:var(--cx-f-mono);font-size:.7rem;letter-spacing:.08em;color:var(--tf);padding-top:.12em;transition:color .2s;}
#crux-a11y .lg-toc a:hover,#crux-a11y .lg-toc a.is-active{color:var(--t);}
#crux-a11y .lg-toc a:hover .lg-toc-n,#crux-a11y .lg-toc a.is-active .lg-toc-n{color:var(--sg);}
@media(min-width:1100px){
  #crux-a11y .lg-toc{position:sticky;top:calc(var(--cx-hdr-h) + 1.5rem);background:transparent;border:0;border-left:1px solid var(--ln);border-radius:0;padding:0 0 0 1.25rem;max-height:calc(100vh - var(--cx-hdr-h) - 3rem);overflow-y:auto;scrollbar-width:thin;}
  #crux-a11y .lg-toc a{position:relative;}
  #crux-a11y .lg-toc a.is-active::before{content:'';position:absolute;left:calc(-1.25rem - 1px);top:.35rem;bottom:.35rem;width:2px;background:var(--sg);}
}

/* Document */
#crux-a11y .lg-doc{min-width:0;max-width:46rem;font-size:1.05rem;line-height:1.75;color:var(--t);}
#crux-a11y .lg-doc p{margin:0 0 1.1rem;}
#crux-a11y .lg-doc ul{margin:0 0 1.25rem;padding:0;}
#crux-a11y .lg-doc ul li{position:relative;padding-left:1.5rem;margin-bottom:.6rem;}
#crux-a11y .lg-doc ul li::before{content:'';position:absolute;left:0;top:.87em;width:.7rem;height:1px;background:var(--sg);}
#crux-a11y .lg-doc a{color:var(--sg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;}
#crux-a11y .lg-doc a:hover{text-decoration-thickness:2px;}
#crux-a11y .lg-doc strong{font-weight:600;color:var(--t);}
#crux-a11y .lg-doc code{font-family:var(--cx-f-mono);font-size:.84em;background:var(--pn);border:1px solid var(--ln);border-radius:2px;padding:.05em .35em;overflow-wrap:anywhere;}
#crux-a11y .lg-doc > .cx-rule{margin:3.25rem 0 1.75rem;}
#crux-a11y .lg-doc > .cx-rule:first-child{margin-top:0;}
#crux-a11y .lg-doc h2{font-family:var(--cx-f-cond);font-weight:700;font-size:clamp(1.28rem,2.08vw,1.68rem);line-height:1.05;color:var(--t);margin:0 0 1.1rem;letter-spacing:-.03em;}
#crux-a11y .lg-doc h2:focus{outline:none;}
#crux-a11y .lg-doc h2 .lg-n{display:block;font-family:var(--cx-f-mono);font-weight:500;font-size:.75rem;letter-spacing:.14em;color:var(--sg);margin-bottom:.65rem;}
#crux-a11y .lg-doc h3{font-family:var(--cx-f-cond);font-weight:700;font-size:1.04rem;line-height:1.15;color:var(--t);margin:2rem 0 .6rem;letter-spacing:-.03em;}
#crux-a11y .lg-doc h3 .lg-n{font-family:var(--cx-f-mono);font-weight:500;font-size:.75rem;letter-spacing:.1em;color:var(--sg);margin-right:.5rem;}

/* Tables */
#crux-a11y .lg-table{overflow-x:auto;margin:1.25rem 0 1.75rem;border:1px solid var(--ln);border-radius:2px;background:hsl(0,0%,100%,.55);}
#crux-a11y .lg-table table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.9rem;}
#crux-a11y .lg-table th,#crux-a11y .lg-table td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--ln);line-height:1.55;}
#crux-a11y .lg-table th{font-family:var(--cx-f-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tm);background:var(--pn);}
#crux-a11y .lg-table tr:last-child td{border-bottom:0;}

/* Callout boxes */
#crux-a11y .contact-card,#crux-a11y .rights-list{border:1px solid var(--ln);border-left:2px solid var(--sg);border-radius:2px;background:var(--pn);padding:1.4rem clamp(1.1rem,3vw,1.75rem);margin:1.5rem 0;}
#crux-a11y .contact-card > :last-child,#crux-a11y .rights-list ul,#crux-a11y .rights-list li:last-child{margin-bottom:0;}
#crux-a11y .arb-box{border:2px solid var(--sg);border-radius:2px;background:hsl(0,0%,100%,.6);padding:clamp(1.25rem,3vw,1.9rem);margin:0 0 1.5rem;}
#crux-a11y .arb-box .arb-label{font-family:var(--cx-f-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;line-height:1.5;color:var(--sg);margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--ln);}
#crux-a11y .arb-box > :last-child{margin-bottom:0;}
#crux-a11y .sla{display:inline-block;font-family:var(--cx-f-mono);font-size:.8rem;line-height:1.5;letter-spacing:.02em;color:var(--sg);border:1px solid var(--sg);border-radius:2px;padding:.4rem .7rem;}
