.sift-document { color-scheme:dark; background:#050505; }
.public-site.sift-page { color-scheme:dark; margin:0; padding:0 18px 40px; background:#050505; color:#f4f4f0; --sift-mint:#c2e9d6; --sift-muted:#a5aeaa; --sift-line:#303735; font-family:"Necto Mono",monospace; }
.sift-page * { box-sizing:border-box; }
.sift-shell { width:min(1280px, 100%); margin-inline:auto; border-inline:1px solid var(--line-dark); background:#0b0d0d; }
.sift-shell main { min-width:0; }
.sift-page a { color:inherit; }
.sift-page button,.sift-page input,.sift-page textarea,.sift-page select { font:inherit; }
.sift-page button,.sift-page a { -webkit-tap-highlight-color:transparent; }
.sift-page button { cursor:pointer; }
.sift-page button:disabled { opacity:.45; cursor:wait; }
.sift-page :focus-visible { outline:2px solid var(--sift-mint); outline-offset:5px; }
.sift-page .sift-topbar { margin:0; padding:14px 24px; width:100%; border-bottom:1px solid var(--sift-line); }
.sift-page .editorial-nav a[aria-current="page"] { color:var(--sift-mint); background:#1c2721; border-color:var(--sift-mint); }
.sift-hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; min-height:540px; padding:56px 40px 64px; gap:40px; overflow:hidden; }
.sift-kicker,.sift-mini,.sift-demo-label,.sift-rail a>span { font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.sift-kicker { color:var(--sift-mint); margin:0 0 28px; }
.sift-page h1 { font-size:clamp(40px,4.4vw,64px); line-height:1.04; margin:0; font-weight:500; }
.sift-page h2 { font-size:clamp(34px,3.6vw,52px); line-height:1.08; margin:0; font-weight:500; }
.sift-page em { color:var(--sift-mint); font-style:normal; }
.sift-dek { color:var(--sift-muted); font:17px/1.7 "Avenir Next",sans-serif; margin:28px 0 32px; }
.sift-page .sift-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:46px; padding:14px 20px; background:var(--sift-mint); border:1px solid var(--sift-mint); border-radius:6px; color:#15241b; text-decoration:none; font-size:12px; }
.sift-button:hover { filter:brightness(1.08); }
.sift-hero__visual { position:relative; height:410px; background:radial-gradient(ellipse at center,#29443760,transparent 68%); }
.sift-orbit { width:280px; height:280px; position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); border:1px solid #749c7755; border-radius:50%; display:grid; place-items:center; box-shadow:0 0 0 35px #89aa8b08,0 0 0 36px #89aa8b18,0 0 0 72px #89aa8b06,0 0 0 73px #89aa8b12; }
.sift-orbit span { font-size:49px; letter-spacing:.13em; color:#cee9d6; text-shadow:0 0 40px #b6f6c8aa; }
.sift-floating { position:absolute; z-index:1; border:1px solid #506456; background:#171f1cf5; border-radius:9px; padding:20px; box-shadow:0 16px 45px #0005; }
.sift-floating--input { top:12px; left:0; transform:rotate(-3deg); }
.sift-floating--input p { font-size:13px; margin:12px 0 0; }
.sift-mini { color:#a6b7ad; font-size:9px; }
.sift-floating--output { bottom:45px; right:0; width:86%; transform:rotate(3deg); }
.sift-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.sift-chips span { padding:8px 10px; background:#2a3b31; border:1px solid #4e6858; border-radius:4px; font-size:10px; color:#d0e8d9; }
.sift-visual-caption { position:absolute; bottom:0; width:100%; text-align:center; font-size:9px; color:#85958b; }
.sift-rail { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--sift-line); padding:0; background:#111313; }
.sift-rail a { padding:28px 30px; text-decoration:none; border-right:1px solid var(--sift-line); }
.sift-rail a:last-child { border-right:0; }
.sift-rail a:hover { background:#1c2721; }
.sift-rail a>span { color:var(--sift-muted); font-size:10px; }
.sift-rail strong { display:flex; justify-content:space-between; gap:15px; margin-top:13px; font-size:14px; font-weight:400; }
.sift-rail b { color:var(--sift-mint); }
.sift-section { padding:64px 40px; border-bottom:1px solid var(--sift-line); scroll-margin-top:90px; }
.sift-section-heading { display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:end; margin-bottom:32px; }
.sift-section-heading>p,.sift-voice-intro>p:not(.sift-kicker):not(.sift-note) { color:var(--sift-muted); font:17px/1.8 "Avenir Next",sans-serif; max-width:460px; margin:0; }
.sift-autocomplete-demo { background:#151a17; border:1px solid #47584b; border-radius:9px; padding:28px; }
.sift-demo-label { display:flex; align-items:center; justify-content:space-between; gap:15px; color:#9faf9f; font-size:10px; margin-bottom:24px; }
.sift-search-line { display:flex; align-items:center; gap:20px; }
.sift-search-line>span { font-size:36px; color:var(--sift-mint); }
.sift-search-line input { width:100%; min-width:0; background:transparent; border:0; color:#f4f4f0; padding:18px 0; font:clamp(20px,2.5vw,36px)/1.3 "Avenir Next",sans-serif; }
.sift-search-line button { border:0; background:none; color:#a4b4a9; font-size:27px; padding:10px; }
.sift-progress { height:1px; background:#3c4840; margin-top:14px; }
.sift-progress span { display:block; height:2px; width:0; background:var(--sift-mint); transition:width .15s; }
.sift-status,.sift-note { font-size:11px; line-height:1.7; color:var(--sift-muted); }
.sift-status { min-height:19px; margin:18px 0; }
.sift-status[data-error="true"] { color:#f3b2ad; }
.sift-examples { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:26px; font-size:10px; color:var(--sift-muted); }
.sift-examples button,.sift-text-button { border:1px solid #46534a; background:transparent; color:#d6e5da; padding:10px 13px; border-radius:5px; font-size:11px; }
.sift-examples button:hover,.sift-text-button:hover { background:#28362c; }
.sift-suggestion { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; text-align:left; padding:20px; border:1px solid #5b7864; background:#23382a; color:#e0f1e5; border-radius:5px; }
.sift-footnote { display:flex; justify-content:space-between; gap:18px; margin-top:26px; font-size:10px; color:#87958c; }
.sift-filter-section { background:#101212; }
.sift-workbench { display:grid; grid-template-columns:1fr 1.12fr; border:1px solid #3c4940; border-radius:10px; overflow:hidden; }
.sift-composer,.sift-result-panel { padding:32px; min-width:0; }
.sift-composer { background:#171d19; border-right:1px solid #3c4940; }
.sift-page label:not(.sift-sr) { display:block; font-size:11px; color:#afc1b4; margin:15px 0 10px; }
.sift-page textarea { width:100%; resize:vertical; border:1px solid #46534a; border-radius:6px; color:#f0f5ef; background:#101612; padding:18px; font:19px/1.6 "Avenir Next",sans-serif; }
.sift-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; }
.sift-result-panel { background:#111713; }
.sift-page details { margin-top:25px; border-top:1px solid #35463b; padding-top:18px; font-size:11px; color:#9fb1a4; }
.sift-page summary { cursor:pointer; }
.sift-page pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:320px; overflow:auto; font-size:11px; line-height:1.6; color:#b9cabc; }
.sift-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sift-fields label { margin:0!important; }
.sift-fields input { display:block; width:100%; min-width:0; margin-top:8px; border:1px solid #3f5848; border-radius:5px; padding:11px; color:#dcecdf; background:#1b2920; font-size:12px; }
.sift-field-wide { grid-column:1/-1; }
.sift-tags { display:flex; gap:8px; flex-wrap:wrap; margin:13px 0 24px; }
.sift-tag { display:flex; gap:6px; border:1px solid #496452; border-radius:4px; background:#24382b; padding:7px; max-width:100%; }
.sift-tag input { width:140px; max-width:100%; color:#c7e7d2; background:none; border:0; font-size:11px; }
.sift-tag button { color:#c7e7d2; border:0; background:none; }
.sift-voice-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; background:radial-gradient(ellipse at 10% 50%,#243b2d55,transparent 65%); }
.sift-voice-intro>p:not(.sift-kicker) { margin-top:25px!important; }
.sift-wave { display:flex; align-items:center; gap:7px; height:110px; margin-top:35px; }
.sift-wave i { height:20%; width:5px; border-radius:5px; background:#83af93; }
.sift-wave i:nth-child(3n) { height:65%; }
.sift-wave i:nth-child(4n) { height:90%; }
.sift-wave i:nth-child(5n) { height:45%; }
.sift-voice-demo { padding:32px; border:1px solid #415548; border-radius:10px; background:#151e18; min-width:0; }
.sift-page select { max-width:100%; padding:12px; color:#d3e3d8; background:#1c2b21; border:1px solid #4a6052; border-radius:5px; font-size:11px; }
.sift-empty { padding:24px 0; font-size:13px; color:#90a194; }
.sift-closing { padding:64px 40px; text-align:center; background:#131615; }
.sift-closing .sift-button { margin-top:30px; }
.sift-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 40px; font-size:10px; color:#9aa69e; }
.sift-footer a { text-decoration:none; }
.sift-sr,.sift-skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.sift-skip:focus { display:block; padding:15px; }
@media(max-width:900px) { .sift-hero { grid-template-columns:1fr; padding-top:55px; } .sift-hero__visual { width:100%; max-width:600px; justify-self:center; margin-top:20px; } .sift-section-heading { gap:30px; } .sift-workbench,.sift-voice-section { grid-template-columns:1fr; } .sift-composer { border-right:0; border-bottom:1px solid #3c4940; } .sift-voice-intro { max-width:600px; } .sift-voice-intro h2 br:nth-child(2) { display:none; } .sift-rail a { padding:24px 16px; } }
@media(max-width:600px) { .public-site.sift-page { padding:0 10px 20px; } .sift-page .sift-topbar { flex-wrap:wrap; gap:20px; padding:20px; } .sift-page .editorial-nav { gap:18px; flex-wrap:wrap; } .sift-page .editorial-nav a { font-size:11px; } .sift-hero { padding:48px 20px; } .sift-hero__visual { height:350px; } .sift-floating { padding:15px; } .sift-floating--input p { font-size:11px; } .sift-floating--output { width:95%; } .sift-orbit { width:210px; height:210px; } .sift-section { padding:60px 20px; } .sift-section-heading { grid-template-columns:1fr; margin-bottom:30px; } .sift-rail { padding:0; grid-template-columns:1fr; } .sift-rail a,.sift-rail a:first-child { border:0; border-bottom:1px solid var(--sift-line); padding:20px; } .sift-rail strong { margin-top:8px; } .sift-autocomplete-demo,.sift-composer,.sift-result-panel,.sift-voice-demo { padding:22px 18px; } .sift-footnote { flex-direction:column; gap:10px; } .sift-fields { grid-template-columns:1fr; } .sift-footer { flex-wrap:wrap; padding:25px 20px; } .sift-footer>span { order:3; width:100%; } .sift-page .sift-button { gap:12px; } }
@media(prefers-reduced-motion:reduce) { .sift-page * { transition:none!important; scroll-behavior:auto!important; } }
.sift-suggestion + .sift-suggestion { margin-top:10px; }
.sift-suggestion>span:first-child { min-width:0; overflow-wrap:anywhere; }
.sift-suggestion>span:last-child { flex-shrink:0; font-size:10px; }
.sift-fields input[type="checkbox"] { width:20px; height:20px; accent-color:var(--sift-mint); }
.sift-completion { margin-top:18px; }
.sift-completion>.sift-mini { display:block; margin-bottom:9px; }
.sift-completion-prefix { color:#a1b5a7; }
.sift-completion strong { font-weight:400; color:#e1f5e7; }
@media(max-width:600px) { .sift-completion .sift-suggestion { align-items:flex-start; flex-direction:column; gap:12px; } }

/* Explicit surface/text pairs isolate SIFT controls from global light form defaults. */
.public-site.sift-page :is(input, textarea, select) {
  color-scheme:dark;
  background-color:#111713;
  color:#edf4ef;
  caret-color:#c2e9d6;
}
.public-site.sift-page :is(input, textarea)::placeholder { color:#a5b3aa; opacity:1; }
.public-site.sift-page .sift-search-line input { background-color:#151a17; }
.public-site.sift-page .sift-tag input { background-color:#24382b; color:#e1f1e6; }
.public-site.sift-page .sift-fields input { background-color:#1b2920; }
.public-site.sift-page input:autofill { background-color:#1b2920; color:#edf4ef; }
.public-site.sift-page input:-webkit-autofill {
  -webkit-text-fill-color:#edf4ef;
  box-shadow:0 0 0 1000px #1b2920 inset;
}
.sift-page .sift-orbit { background-color:#111b15; }
.sift-page .sift-orbit span { color:#d3efdf; }
.sift-page .sift-hero__copy,.sift-page .sift-section-heading>div { min-width:0; }
.sift-page h1,.sift-page h2 { overflow-wrap:break-word; }

/* Shared with the homepage: neutral surfaces, open sections and fine rules. */
.public-site.sift-page {
  --sift-mint:#deded7;
  --sift-muted:#aaa9a4;
  --sift-line:#333;
  background:#050505;
  font-family:"Avenir Next","Inter","Segoe UI",sans-serif;
}
.sift-shell { background:#0b0b0b; border-inline:1px solid var(--sift-line); }
.sift-page .sift-topbar { padding:22px 32px; background:#0b0b0b; }
.sift-page .editorial-nav a[aria-current="page"] { background:#202020; border-color:#777; }
.sift-page h1,.sift-page h2 { font-family:"Avenir Next","Inter","Segoe UI",sans-serif; font-weight:550; letter-spacing:-.035em; text-wrap:balance; }
.sift-page h1 { font-size:clamp(42px,6vw,76px); line-height:1; }
.sift-page h2 { font-size:clamp(32px,4vw,52px); line-height:1.04; }
.sift-page em { color:#aaa9a4; font-weight:650; }
.sift-kicker,.sift-mini,.sift-demo-label,.sift-rail a>span,.sift-footnote { font-family:"SFMono-Regular",Menlo,monospace; }
.sift-kicker { color:#aaa9a4; }
.sift-hero { min-height:560px; padding:64px 48px; gap:32px; background:#0b0b0b; }
.sift-hero__visual { height:auto; min-width:0; background:none; }
.sift-hero-art { display:block; width:100%; height:auto; }
.sift-visual-caption { position:static; display:block; margin-top:12px; color:var(--sift-muted); font-size:10px; text-align:center; }
.sift-rail { margin:0; border-block:1px solid var(--sift-line); background:#111; }
.sift-rail a:hover { background:#1c1c1c; }
.sift-section { margin:0; padding:64px 48px; border:0; border-bottom:1px solid var(--sift-line); border-radius:0; background:#0b0b0b; }
.sift-filter-section { background:#111; }
.sift-demo-intro { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-bottom:36px; }
.sift-demo-intro .sift-section-heading { display:block; margin:0; }
.sift-demo-intro .sift-section-heading>p { margin-top:24px; }
.sift-demo-art { min-width:0; margin:0; }
.sift-demo-art img { display:block; width:100%; height:auto; }
.sift-demo-art figcaption { margin-top:10px; color:var(--sift-muted); font:10px/1.6 "SFMono-Regular",Menlo,monospace; text-align:center; }
.sift-hero-art,.sift-demo-art img { filter:grayscale(1); }
.sift-voice-intro .sift-demo-art { margin-top:24px; }
.sift-autocomplete-demo,.sift-workbench,.sift-voice-demo { background:transparent; border:0; border-radius:0; box-shadow:none; }
.sift-autocomplete-demo,.sift-voice-demo { padding:0; }
.sift-workbench { gap:40px; overflow:visible; }
.sift-composer,.sift-result-panel { background:transparent; border:0; padding:0; }
.sift-demo-label { color:#aaa9a4; border:0; padding-bottom:0; }
.public-site.sift-page :is(input,textarea,select),.public-site.sift-page .sift-fields input { background:#191919; color:#f0f0eb; border-color:#444; caret-color:#f0f0eb; border-radius:3px; }
.public-site.sift-page .sift-search-line input { background:transparent; }
.public-site.sift-page :is(input,textarea)::placeholder { color:#999; }
.public-site.sift-page input:autofill { background:#191919; color:#f0f0eb; }
.public-site.sift-page input:-webkit-autofill { -webkit-text-fill-color:#f0f0eb; box-shadow:0 0 0 1000px #191919 inset; }
.sift-page .sift-button { background:#e8e8e0; color:#111; border-color:#e8e8e0; border-radius:3px; }
.sift-text-button,.sift-examples button { border-color:transparent; color:#ddd; border-radius:3px; }
.sift-text-button:hover,.sift-examples button:hover { background:#242424; }
.sift-suggestion { background:transparent; border:0; border-bottom:1px solid #333; color:#eee; border-radius:0; padding:18px 0; }
.sift-suggestion:hover { background:#191919; }
.sift-completion-prefix { color:#aaa; }
.sift-completion strong { color:#eee; }
.sift-tag { background:#242424; border-color:transparent; border-radius:3px; }
.public-site.sift-page .sift-tag input { background:#242424; color:#eee; }
.sift-tag button { color:#ddd; }
.sift-page label:not(.sift-sr),.sift-empty { color:#aaa9a4; }
.sift-page details { color:#aaa9a4; border-color:#333; }
.sift-page pre { color:#ccc; }
.sift-progress { background:#444; }
.sift-closing { margin:0; padding:64px 48px; text-align:left; background:#111; border-bottom:1px solid var(--sift-line); }
.sift-footer { color:#aaa9a4; }
@media(max-width:900px) {
 .sift-hero { grid-template-columns:1fr 1fr; padding:48px 32px; gap:24px; min-height:480px; }
 .sift-section { padding:48px 32px; }
 .sift-demo-intro { gap:24px; }
 .sift-voice-intro .sift-demo-art { max-width:480px; }
}
@media(max-width:600px) {
 .sift-page .sift-topbar { padding:20px; }
 .sift-page .editorial-nav { gap:8px; }
 .sift-hero { grid-template-columns:1fr; padding:44px 22px 32px; }
 .sift-hero__visual { height:auto; max-width:440px; margin-top:8px; }
 .sift-section { padding:40px 22px; }
 .sift-demo-intro { grid-template-columns:1fr; gap:24px; }
 .sift-demo-art { width:100%; max-width:440px; margin-inline:auto; }
 .sift-closing { padding:40px 22px; }
}

/* Fields carry their own affordance; no extra frame around the workbench. */
.public-site.sift-page textarea,
.public-site.sift-page .sift-fields input:not([type="checkbox"]) {
  background:#181818; border:0; border-bottom:1px solid #555; border-radius:0;
}
.public-site.sift-page .sift-search-line input { border:0; }
.sift-voice-demo { align-self:center; }
@media(max-width:900px) { .sift-result-panel { padding-top:24px; border-top:1px solid #333; } }

/* Stepped grey backgrounds distinguish the two text demos. */
.sift-page .sift-autocomplete { background:#252525; }
.sift-page .sift-filter-section { background:#1b1b1b; }
