/* The reference's stable selector/visual frame, adapted to reversible scrolling. */
.problem-scroll{position:relative;background:#0e1410;--problem-progress:0;--problem-beat:0;scroll-margin-top:0}
.problem-stage{position:relative;padding:100px 0 50px}
.problem-stage>.section-label{margin-bottom:24px;font:10px/1.5 ui-monospace,monospace;letter-spacing:.1em;color:#a8b39e}
.problem-stage>.section-label a{color:#a8b39e;letter-spacing:0;min-height:32px;display:flex;align-items:center}
.problem-stage>h2{font-size:clamp(36px,3.6vw,54px);line-height:1.04;margin-bottom:32px;flex-shrink:0}
.problem-stage>h2 span{color:#a6b59a}
.problem-experience{position:relative;isolation:isolate;border:1px solid #c9dfb51c;border-radius:14px;overflow:hidden;background:radial-gradient(circle at var(--pointer-x,35%) var(--pointer-y,50%),#b8d08313,transparent 38%),radial-gradient(#c9dfb518 .7px,transparent .8px);background-size:auto,6px 6px;display:grid;grid-template-columns:42% 58%;min-height:390px}
.problem-selector{padding:28px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.problem-selector button{position:relative;width:100%;display:flex;align-items:flex-start;gap:14px;text-align:left;padding:22px 18px;border:1px solid transparent;border-radius:8px;background:transparent;color:#a6b59a;min-height:76px;transition:border-color .25s,background .25s,color .25s}
.problem-selector button:hover{border-color:#cee1b849;background:#111a1399}
.problem-selector button:focus-visible,.problem-stage a:focus-visible{outline:2px solid #d6edac;outline-offset:-3px}
.problem-selector button[aria-pressed='true']{border-color:#d6eac461;background:#182317df;color:#ebeee4}
.problem-selector strong{display:block;font:400 clamp(19px,1.55vw,24px)/1.2 'Space Grotesk',sans-serif;letter-spacing:-.035em}
.problem-selector small{display:block;font:12px/1.6 'Space Grotesk',sans-serif;margin-top:10px;max-width:260px;color:#b5c0ac}
.problem-step-number{font:10px/1.6 ui-monospace,monospace;color:#a6b991;padding-top:4px}
.problem-step-arrow{margin-left:auto;font-size:18px;opacity:0}
[aria-pressed='true'] .problem-step-arrow{opacity:1}
.problem-visuals{position:relative;isolation:isolate;overflow:hidden;border-radius:9px;margin:10px;min-width:0;min-height:440px;background:#273e29}
.problem-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 65%;z-index:-2;transform:scale(1.12);filter:saturate(.75) brightness(.76)}
.problem-photo-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(#18251620,#10241122 45%,#101b13bb)}
.problem-visual-label{position:absolute;top:20px;left:24px;z-index:4;font:8px ui-monospace,monospace;letter-spacing:.1em;color:#e5ebdb}
.problem-scene{padding:62px 30px 28px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:440px;gap:24px}
.problem-glass{background:linear-gradient(125deg,#13231fe8,#23392cdc);border:1px solid #e2ebd331;box-shadow:0 20px 65px #07110944;backdrop-filter:blur(12px);border-radius:10px;color:#e8eee2}
.signal-glass{width:100%;max-width:470px;padding:24px}
.problem-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font:9px/1.4 ui-monospace,monospace;letter-spacing:.05em;color:#afc1a5}
.problem-live-dot,.connection-status-dot{width:5px;height:5px;border-radius:50%;background:#dcb48c;display:inline-block;box-shadow:0 0 0 4px #dcb48c15}
.problem-glass h3{font-size:25px;line-height:1.2;margin:19px 0 16px}
.problem-plot{position:relative;padding-top:12px}
.problem-plot svg{display:block;width:100%;overflow:visible}
.problem-chart-grid{stroke:#d4e5c918;stroke-width:1;fill:none}
.problem-chart-average{stroke:#d4ae82;stroke-width:2;stroke-dasharray:6 5;fill:none}
.problem-chart-detail{stroke:#d4e9c7;stroke-width:2;fill:none}
.problem-spike{fill:#e7bd8e;stroke:#e7bd8e22;stroke-width:12}
.spike-label{position:absolute;left:53%;top:0;color:#dec2a0;font:9px 'Space Grotesk',sans-serif}
.problem-plot-key{display:flex;gap:18px;font-size:10px;color:#c1cfb9;margin-top:14px}
.problem-plot-key span{display:flex;align-items:center;gap:7px}
.problem-plot-key i{width:12px;height:2px;background:#d4e9c7}
.problem-plot-key span+span i{background:#d4ae82}
.problem-scene-caption{font-size:13px;line-height:1.5;text-align:center;color:#eef1e8;text-shadow:0 1px 12px #06150b;margin:0}
.site-comparison{width:100%;max-width:430px;position:relative;padding-right:36px}
.site-card{padding:20px 24px;position:relative;width:100%}
.site-card h3{font-size:22px;margin:12px 0 8px}
.site-card svg{display:block;width:100%;height:70px;overflow:visible}
.site-card-b{margin-top:-10px;margin-left:36px;background:linear-gradient(130deg,#233329ee,#2b3b2ee6)}
.site-generic{stroke:#dfe7d06b;stroke-width:1.5;stroke-dasharray:5 5;fill:none}
.site-actual{fill:none;stroke:#bbd79b;stroke-width:2}
.site-card-b .site-actual{stroke:#deb991}
.site-environment{font-size:10px;color:#bfcab4}
.connection-demo{width:100%;max-width:470px;display:grid;grid-template-columns:1fr 58px 1fr;align-items:center}
.connection-endpoint{padding:28px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}
.connection-endpoint svg{width:46px;height:46px;stroke:#d5e7c0;stroke-width:1.4;fill:none}
.connection-endpoint strong{font-size:16px;font-weight:400}
.connection-endpoint>span{font-size:9px;line-height:1.5;color:#bbc9af}
.cloud-endpoint{border-style:dashed;background:#22352ace}
.cloud-endpoint svg{stroke:#bcbda6}
.connection-path{position:relative}
.connection-path svg{width:100%;display:block;overflow:visible}
.connection-path path{stroke:#e5c5a6;stroke-width:1.5;stroke-dasharray:4 5;fill:none}
.connection-packet{fill:#e1e9c8}
.connection-path>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#323a28;color:#e3b68c;font-size:20px;line-height:1;border-radius:50%;padding:3px 6px}
.connection-message{grid-column:1/-1;justify-self:center;margin-top:30px;padding:12px 18px;border:1px solid #efd4b43b;border-radius:30px;background:#18271de8;color:#d6c4aa;font-size:10px;display:flex;gap:10px;align-items:center}
.problem-stage-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;font-size:11px;color:#a9b69e}
.problem-stage-bottom p{margin:0}.problem-scroll-cue{display:flex;align-items:center;gap:18px}.problem-counter{font:10px ui-monospace,monospace}
.problem-progress{height:1px;margin-top:20px;background:#d2e9ba1a}
.problem-progress>span{display:block;height:100%;width:100%;background:#b4cb99;transform-origin:left;transform:scaleX(var(--problem-progress))}
/* JS opt-in; reduced motion, no JS and short windows show all three scenes. */
.problem-scroll[data-interactive='true']{height:300svh}
[data-interactive='true'] .problem-stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;padding-top:115px;padding-bottom:28px}
[data-interactive='true'] .problem-experience{flex:1;min-height:0}
[data-interactive='true'] .problem-visuals{min-height:0}
[data-interactive='true'] .problem-scene{position:absolute;inset:0;min-height:0;opacity:0;visibility:hidden;transform:translateY(22px) scale(.97);transition:opacity .35s,transform .5s,visibility .35s;will-change:opacity,transform}
[data-interactive='true'] .problem-scene.is-active{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
[data-interactive='true'] .problem-landscape{transform:translateX(calc(var(--problem-progress)*-3%)) scale(calc(1.08 + var(--problem-progress)*.1))}
[data-interactive='true'] .site-card-a{transform:translateX(calc(var(--problem-beat)*-12px))}
[data-interactive='true'] .site-card-b{transform:translateX(calc(var(--problem-beat)*12px))}
.problem-scroll:not([data-interactive='true']) .problem-selector,.problem-scroll:not([data-interactive='true']) .problem-scroll-cue,.problem-scroll:not([data-interactive='true']) .problem-counter,.problem-scroll:not([data-interactive='true']) .problem-progress{display:none}
.problem-scroll:not([data-interactive='true']) .problem-experience{display:block}
.problem-scroll:not([data-interactive='true']) .problem-visuals{display:grid;grid-template-columns:repeat(3,1fr)}
.problem-scroll:not([data-interactive='true']) .problem-scene{padding-inline:18px}
@media(min-width:801px) and (max-height:800px){[data-interactive='true'] .problem-stage{padding-top:104px;padding-bottom:20px}.problem-stage>h2{font-size:38px;margin-bottom:20px}.problem-stage>.section-label{margin-bottom:14px}.problem-selector{padding:15px;gap:6px}.problem-selector button{padding:15px}.problem-selector small{margin-top:6px}.problem-scene{padding:44px 24px 16px;gap:16px}.signal-glass{padding:18px}.site-card{padding:12px 20px}.site-card svg{height:55px}.problem-stage-bottom{margin-top:16px}.problem-progress{margin-top:14px}}
@media(max-width:800px){.problem-stage{padding:65px 0 35px}.problem-stage>h2{font-size:36px;margin-bottom:22px}.problem-stage>.section-label{font-size:8px;margin-bottom:16px;letter-spacing:.06em}.problem-experience{display:flex;flex-direction:column}.problem-selector{order:2;flex-direction:row;padding:10px;gap:5px}.problem-selector button{padding:12px 8px;min-height:54px;gap:8px;align-items:center;justify-content:center}.problem-selector strong{font-size:12px;letter-spacing:-.02em;line-height:1.3}.problem-selector small,.problem-step-arrow,.problem-selector strong br{display:none}.problem-step-number{font-size:8px}.problem-visuals{margin:8px;min-height:360px;flex:1}.problem-scene{padding:42px 22px 18px;min-height:360px;gap:18px}.problem-glass h3{font-size:23px}.signal-glass{padding:18px}.site-card{padding:13px 18px}.site-card h3{font-size:19px;margin:8px 0}.site-card svg{height:53px}.site-comparison{max-width:380px;padding-right:25px}.site-card-b{margin-left:25px}.problem-scene-caption{font-size:12px}.problem-stage-bottom{margin-top:18px;gap:12px;font-size:10px}.problem-stage-bottom p{max-width:230px}.problem-scroll-cue{display:none!important}.problem-progress{margin-top:14px}.problem-scroll[data-interactive='true']{height:280svh}[data-interactive='true'] .problem-stage{padding-top:105px;padding-bottom:22px}[data-interactive='true'] .problem-selector{flex-shrink:0}.problem-scroll:not([data-interactive='true']) .problem-visuals{display:block}.problem-scroll:not([data-interactive='true']) .problem-scene{padding-block:50px 30px}.problem-scroll:not([data-interactive='true']) .problem-scene+.problem-scene{border-top:1px solid #d4e5c933}}
@media(max-width:480px){.problem-selector strong{font-size:10px}.problem-selector button{padding:9px 5px;gap:5px}.problem-stage>h2{font-size:30px}.problem-visual-label{font-size:7px;left:18px;top:16px}.problem-plot-key{font-size:9px}.problem-card-top{font-size:8px}.connection-demo{grid-template-columns:1fr 30px 1fr}.connection-endpoint{padding:22px 8px}.connection-endpoint strong{font-size:13px}.connection-endpoint>span{font-size:8px}.connection-message{font-size:8px;padding:10px 12px}.problem-scene{padding-inline:16px}.problem-scene-caption{font-size:11px}}
@media(max-width:800px) and (max-height:720px){[data-interactive='true'] .problem-stage{padding-top:96px;padding-bottom:16px}.problem-stage>h2{font-size:27px;margin-bottom:14px}.problem-stage>.section-label{margin-bottom:10px}.problem-glass h3{font-size:19px;margin:9px 0}.problem-scene{gap:12px;padding-top:33px;padding-bottom:12px}.problem-card-top{font-size:7px}.problem-plot{padding-top:4px}.signal-glass{padding:14px}.problem-plot-key{margin-top:8px}.site-card{padding:10px 14px}.site-card h3{font-size:17px}.site-card svg{height:40px}.site-environment{font-size:8px}.problem-stage-bottom{margin-top:12px}.problem-progress{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.problem-selector button,.problem-scene{transition:none!important}.problem-landscape{transform:none!important}}

.problem-selector .problem-step-short{display:none}
@media(max-width:800px){.problem-selector .problem-step-title{display:none}.problem-selector .problem-step-short{display:block;font-size:12px}.problem-step-number{font-size:9px}}
@media(max-width:800px) and (max-height:720px){.site-card{padding:6px 14px}.site-card h3{font-size:17px;margin:5px 0}.site-card svg{height:30px}.site-environment{line-height:1.3}}
@media(min-width:801px) and (max-height:800px){.problem-plot svg{height:115px}.problem-glass h3{margin:12px 0;font-size:22px}.signal-glass{padding:16px 22px}.problem-plot-key{margin-top:8px}.site-card h3{margin:8px 0}.site-card svg{height:40px}.connection-endpoint{padding:20px 10px}.connection-message{margin-top:20px}}
@media(max-width:800px) and (max-height:720px){.connection-endpoint{padding:16px 8px;gap:10px}.connection-endpoint svg{width:38px;height:38px}.connection-message{margin-top:18px}}
