/* Shared rhythm and colors for the product story below the interactive home. */
.hs, .hs-foot {
  --hs-brand:#172F38; --hs-teal:#0D9488; --hs-teal-ink:#096C63;
  --hs-canvas:#FAF9F6; --hs-surface:#FFFFFF; --hs-border:#DCE3DF;
  --hs-text:#172F38; --hs-muted:#586A70; --hs-tint:#EFF3F0;
  --hs-warm:#FBF1E3; --hs-warm-ink:#8F4F12; --hs-sleep:#4F46E5; --hs-critical:#C8314F;
  --hs-drita:#E8912D; --hs-attention:#9A4708; --hs-attention-bg:#FDEEDC; --hs-offline:#5B676C; --hs-offline-bg:#EDF0EF;
  --hs-gutter:max(4.5vw,24px);
  color:var(--hs-text);
}
[data-home-theme="night"] .hs, [data-home-theme="night"] .hs-foot {
  --hs-brand:#EDF4F1; --hs-teal:#2DD4BF; --hs-teal-ink:#64DAC6;
  --hs-canvas:#101C24; --hs-surface:#192B34; --hs-border:#2B404B;
  --hs-text:#EDF4F1; --hs-muted:#9DB1B5; --hs-tint:#14262D;
  --hs-warm:#2C2213; --hs-warm-ink:#FCD07A; --hs-sleep:#A5B4FC; --hs-critical:#FB7185;
  --hs-drita:#FBBF24; --hs-attention:#F5A962; --hs-attention-bg:#3A2814; --hs-offline:#A3B1B5; --hs-offline-bg:#22313A;
  color-scheme:dark;
}
[data-home-theme="day"] body { background:#FAF9F6; }
[data-home-theme="night"] body { background:#101C24; }
.hs { background:var(--hs-canvas); padding:clamp(64px,7vw,108px) var(--hs-gutter); scroll-margin-top:80px; transition:background .3s,color .3s; }
.hs--tint { background:var(--hs-tint); }
.hs--last { padding-top:32px; }
.hs-wrap { max-width:1320px; margin:0 auto; }
.hs svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.hs :focus-visible, .hs-foot :focus-visible { outline:2px solid var(--hs-teal); outline-offset:4px; }
.hs-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hs a:not([class]) { color:var(--hs-teal-ink); text-underline-offset:4px; }
.hs-head { max-width:760px; margin:0 0 clamp(32px,4vw,56px); }
.hs-head--flush { margin-bottom:0; }
.hs-eyebrow { margin:0 0 20px; color:var(--hs-teal-ink); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hs h2 { font-family:var(--display); font-weight:650; font-size:clamp(32px,3.6vw,50px); line-height:1.17; letter-spacing:-.055em; color:var(--hs-brand); margin:0; text-wrap:balance; }
.hs h2 em { display:block; font-weight:650; font-style:normal; color:var(--hs-teal-ink); }
.hs-lede { font-size:15px; line-height:1.85; color:var(--hs-muted); margin:24px 0 0; max-width:48ch; }
.hs-fine { font-size:12px; line-height:1.8; color:var(--hs-muted); margin:24px 0 0; max-width:48ch; padding-top:20px; border-top:1px solid var(--hs-border); }
.hs-icon { display:grid; place-items:center; width:42px; height:42px; color:var(--hs-teal-ink); flex-shrink:0; }
.hs-card { background:var(--hs-surface); border:1px solid var(--hs-border); border-radius:8px; padding:28px; }
.hs-card h3 { font-family:var(--display); font-weight:700; font-size:24px; line-height:1.2; letter-spacing:-.04em; color:var(--hs-brand); margin:22px 0 12px; }
.hs-card > p:not(.hs-ping) { font-size:14px; line-height:1.8; color:var(--hs-muted); margin:0 0 30px; }
.hs-signals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.hs-signals .hs-card { display:flex; flex-direction:column; }
.hs-signals .hs-card[hidden] { display:none; }
.hs-signal-selector[hidden] { display:none; }
.hs-signal-selector { display:flex; flex-direction:column; align-self:start; border-top:1px solid var(--hs-border); }
.hs-signal-selector button { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:22px 18px; border:0; border-bottom:1px solid var(--hs-border); background:transparent; color:var(--hs-muted); text-align:left; font:600 15px var(--body); cursor:pointer; transition:color .2s,background .2s; }
.hs-signal-selector button span[aria-hidden="true"] { font-size:20px; transition:transform .2s; }
.hs-signal-selector button:hover { color:var(--hs-teal-ink); }
.hs-signal-selector button[aria-pressed="true"] { color:var(--hs-teal-ink); background:var(--hs-tint); }
.hs-signal-selector button[aria-pressed="true"] span[aria-hidden="true"] { transform:rotate(45deg); }
#signals.is-interactive .hs-wrap { display:grid; grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr); gap:0 64px; }
#signals.is-interactive .hs-head { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 64px; max-width:none; align-items:end; }
#signals.is-interactive .hs-eyebrow { grid-column:1/-1; }
#signals.is-interactive .hs-lede { margin:0; }
#signals.is-interactive .hs-signals { grid-template-columns:1fr; }
#signals.is-interactive .hs-card { padding:30px 36px; min-height:332px; background:var(--hs-tint); border:0; border-radius:6px; }
#signals.is-interactive .hs-card h3 { font-size:32px; margin-top:15px; }
.hs-ping { --tone:var(--hs-teal-ink); display:flex; margin:auto 0 0; padding:17px 20px; background:var(--hs-surface); border:1px solid var(--hs-border); border-left:3px solid var(--tone); border-radius:3px; }
.hs-ping[data-tone="alert"] { --tone:var(--hs-critical); }
.hs-ping[data-tone="attention"] { --tone:var(--hs-attention); }
.hs-ping[data-tone="quiet"] { --tone:var(--hs-sleep); }
.hs-ping-label { display:block; margin-bottom:8px; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tone); }
.hs-ping b { display:block; font-size:13px; font-weight:700; line-height:1.5; color:var(--hs-text); }
.hs-ping b + span { display:block; font-size:12px; line-height:1.5; color:var(--hs-muted); margin-top:3px; }
.hs-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.hs-steps li { padding-top:22px; border-top:1px solid var(--hs-border); }
.hs-step-mark { display:flex; align-items:center; justify-content:space-between; flex-direction:row-reverse; margin-bottom:26px; color:var(--hs-teal-ink); }
.hs-step-mark span { font-size:27px; line-height:1; letter-spacing:-.05em; font-weight:500; font-variant-numeric:tabular-nums; }
.hs-step-mark span::before { content:"0"; }
.hs-step-mark svg { width:26px; height:26px; }
.hs-steps h3 { font-family:var(--display); font-weight:700; font-size:21px; line-height:1.3; letter-spacing:-.04em; color:var(--hs-brand); margin:0 0 14px; }
.hs-steps p { font-size:14px; line-height:1.85; color:var(--hs-muted); margin:0; max-width:38ch; }
.hs-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(40px,6vw,96px); align-items:center; }
.hs-split--report { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.hs-split--faq { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; }
.hs-phone { margin:0; width:100%; padding:24px; background:var(--hs-surface); border:1px solid var(--hs-border); border-radius:8px; }
.hs-phone-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 0 18px; font-size:11px; font-weight:600; color:var(--hs-muted); }
.hs-tag { font-size:9px; font-weight:500; white-space:nowrap; }
.hs-notes { list-style:none; margin:0; padding:0; }
.hs-note { --tone:var(--hs-attention); display:grid; grid-template-columns:auto 1fr; gap:20px; padding:18px 0; border-top:1px solid var(--hs-border); }
.hs-note time { font-size:11px; font-weight:700; color:var(--tone); font-variant-numeric:tabular-nums; padding-top:3px; }
.hs-note h3 { font-family:var(--body); font-size:14px; font-weight:700; line-height:1.4; letter-spacing:-.02em; margin:0 0 5px; color:var(--hs-text); }
.hs-note p { font-size:12px; line-height:1.75; margin:0; color:var(--hs-muted); }
.hs-note--ack, .hs-note--done { --tone:var(--hs-teal-ink); }
.hs-note--done { padding-bottom:0; }
.hs-replay { display:flex; align-items:center; justify-content:space-between; width:100%; padding:0 0 16px; border:0; background:transparent; color:var(--hs-teal-ink); font:600 11px var(--body); cursor:pointer; }
.hs-replay[hidden] { display:none; }
.hs-replay span[aria-hidden="true"] { font-size:20px; }
.hs-js .hs-phone:not(.is-in) .hs-note { opacity:0; transform:translateY(8px); }
.hs-js .hs-phone .hs-note { transition:opacity .5s ease,transform .5s ease; transition-delay:calc(var(--i) * .4s); }
.hs-letter { margin:0; padding:clamp(24px,3vw,38px); background:var(--hs-surface); border:1px solid var(--hs-border); border-radius:6px; }
.hs-letter figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid var(--hs-border); font-size:10px; color:var(--hs-muted); }
.hs-pill { color:var(--hs-teal-ink); font-weight:700; font-size:10px; }
.hs-letter blockquote { margin:0; }
.hs-letter blockquote p { font-family:var(--body); font-weight:400; font-size:14px; line-height:1.9; color:var(--hs-text); margin:0 0 18px; max-width:52ch; }
.hs-letter blockquote p:last-child { margin:0; color:var(--hs-teal-ink); font-weight:700; }
.hs-panel { --hs-brand:#EDF4F1; --hs-text:#EDF4F1; --hs-muted:#B3C7CA; --hs-teal-ink:#74DEC9; --hs-border:#355059; padding:clamp(28px,5vw,64px); background:#172F38; border-radius:8px; }
[data-home-theme="night"] .hs-panel { background:#1A343E; }
.hs-trust { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 36px; }
.hs-trust li { display:flex; gap:12px; align-items:flex-start; padding-top:22px; border-top:1px solid var(--hs-border); }
.hs-trust .hs-icon { width:30px; height:30px; }
.hs-trust h3 { font-family:var(--display); font-weight:650; font-size:17px; line-height:1.4; letter-spacing:-.03em; color:var(--hs-brand); margin:2px 0 9px; }
.hs-trust p { margin:0; font-size:12px; line-height:1.8; color:var(--hs-muted); }
.hs-faq { border-top:1px solid var(--hs-border); }
.hs-faq details { border-bottom:1px solid var(--hs-border); }
.hs-faq summary { cursor:pointer; list-style:none; position:relative; padding:24px 46px 24px 0; font-family:var(--body); font-size:16px; font-weight:600; line-height:1.5; letter-spacing:-.025em; color:var(--hs-brand); }
.hs-faq summary::-webkit-details-marker { display:none; }
.hs-faq summary::before, .hs-faq summary::after { content:""; position:absolute; right:8px; top:50%; width:12px; height:1.5px; margin-top:-.75px; background:var(--hs-teal-ink); transition:transform .2s; }
.hs-faq summary::after { transform:rotate(90deg); }
.hs-faq details[open] summary::after { transform:rotate(0deg); }
.hs-faq summary:hover, .hs-faq details[open] summary { color:var(--hs-teal-ink); }
.hs-faq details p { margin:0; padding:0 40px 24px 0; font-size:14px; line-height:1.85; color:var(--hs-muted); max-width:62ch; }
.hs-cta { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:0 64px; align-items:center; padding:clamp(32px,5vw,72px); background:var(--hs-tint); border-top:1px solid var(--hs-border); border-bottom:1px solid var(--hs-border); }
.hs .hs-cta-label { grid-column:1/-1; margin:0 0 20px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--hs-teal-ink); font-weight:700; }
.hs-cta h2 { grid-column:1; grid-row:2/4; font-size:clamp(30px,3.4vw,46px); }
.hs-cta p:not(.hs-cta-label) { grid-column:2; margin:0 0 24px; font-size:14px; line-height:1.85; color:var(--hs-muted); }
.hs-cta-btn { grid-column:2; justify-self:start; display:inline-flex; align-items:center; gap:24px; padding:14px 20px; background:var(--hs-brand); color:var(--hs-canvas); border-radius:6px; text-decoration:none; font-size:12px; font-weight:700; transition:transform .2s,background .2s; }
.hs-cta-btn:hover { transform:translateY(-2px); background:var(--hs-teal-ink); }
.hs-foot { background:var(--hs-canvas); border-top:1px solid var(--hs-border); padding:32px var(--hs-gutter) 38px; }
.hs-foot-inner { display:flex; justify-content:space-between; align-items:center; gap:24px 48px; flex-wrap:wrap; }
.hs-foot-brand { display:inline-flex; align-items:center; text-decoration:none; --logo-stones:var(--hs-teal); --logo-keystone:var(--hs-drita); --logo-ink:var(--hs-brand); }
.hs-foot-brand .stx-logo { width:136px; height:28px; }
.hs-foot-tagline { margin:10px 0 0; font-size:12px; font-weight:600; line-height:1.5; color:var(--hs-muted); }
.hs-foot-legal { margin:0; max-width:72ch; font-size:10px; line-height:1.85; color:var(--hs-muted); }
@media (max-width:1100px) {
  #signals.is-interactive .hs-wrap { gap:0 36px; }
  #signals.is-interactive .hs-head { gap:0 36px; }
  .hs-trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .hs-split, .hs-split--report, .hs-split--faq { grid-template-columns:1fr; gap:36px; align-items:start; }
  #signals.is-interactive .hs-head { grid-template-columns:1fr; gap:20px; }
  #signals.is-interactive .hs-eyebrow { margin-bottom:0; }
  #signals.is-interactive .hs-wrap { grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr); gap:0 24px; }
  #signals.is-interactive .hs-card { padding:26px; }
  .hs-steps { gap:28px; }
  .hs-steps h3 { font-size:18px; }
  .hs-cta { gap:0 32px; }
}
@media (max-width:600px) {
  .hs, .hs-foot { --hs-gutter:18px; }
  .hs { padding-block:56px; scroll-margin-top:70px; }
  .hs--last { padding-top:8px; }
  .hs h2 { font-size:34px; }
  .hs-eyebrow { font-size:9px; }
  .hs-lede { font-size:14px; margin-top:20px; }
  #signals.is-interactive .hs-wrap { grid-template-columns:1fr; }
  .hs-signal-selector { display:grid; grid-template-columns:1fr 1fr; margin-bottom:20px; }
  .hs-signal-selector button { padding:14px 12px; font-size:11px; min-height:52px; }
  .hs-signal-selector button span[aria-hidden="true"] { font-size:17px; }
  #signals.is-interactive .hs-card { min-height:320px; padding:24px; }
  #signals.is-interactive .hs-card h3 { font-size:28px; }
  .hs-signals, .hs-steps, .hs-trust { grid-template-columns:1fr; }
  .hs-steps { gap:32px; }
  .hs-steps h3 { font-size:21px; }
  .hs-step-mark { margin-bottom:20px; }
  .hs-steps p { max-width:none; }
  .hs-phone { padding:20px; }
  .hs-note { gap:16px; }
  .hs-panel { padding:30px 24px; }
  .hs-panel h2 { font-size:30px; }
  .hs-trust { gap:22px; }
  .hs-faq summary { font-size:14px; padding:22px 35px 22px 0; }
  .hs-cta { grid-template-columns:1fr; padding:32px 24px; gap:24px; }
  .hs .hs-cta-label { margin:0; }
  .hs-cta h2 { grid-column:1; grid-row:auto; font-size:30px; }
  .hs-cta p:not(.hs-cta-label), .hs-cta-btn { grid-column:1; margin:0; }
  .hs-foot-legal { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .hs *, .hs *::after { transition:none!important; animation:none!important; }
  .hs-js .hs-phone:not(.is-in) .hs-note { opacity:1; transform:none; }
}
