.market-insight{margin-top:4px;padding:24px;border:1px solid #d6e3df;border-radius:20px;background:linear-gradient(145deg,#fbfdfc,#f1f6ff);overflow:hidden}.insight-head,.insight-head>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.insight-head>div>div{display:grid}.insight-head small{color:var(--muted);font-weight:400}.signal-legend{display:flex;align-items:center;gap:7px;color:#6b7673;font-size:12px}.signal-legend i{width:38px;height:7px;border-radius:99px;background:linear-gradient(90deg,#dce9e5,#10a37f)}.world-map{position:relative;min-height:360px;margin-top:18px;border-radius:17px;background:#101719;overflow:hidden}.world-map:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 38%,rgba(80,118,255,.16),transparent 38%);pointer-events:none}.world-map svg{display:block;width:100%;height:auto;min-height:330px}.world-map svg>path{fill:#263033;stroke:#364144;stroke-width:2}.world-map g{--heat:.3;cursor:pointer}.world-map circle{fill:rgba(55,211,164,var(--heat));stroke:rgba(178,255,231,.75);stroke-width:2;filter:drop-shadow(0 0 13px rgba(55,211,164,.55));transition:.55s cubic-bezier(.16,1,.3,1)}.world-map g.selected circle{stroke:#fff;stroke-width:4}.world-map text{fill:#fff;text-anchor:middle;font-size:11px;font-weight:800;pointer-events:none}.map-ranking{position:absolute;z-index:2;right:18px;bottom:18px;width:min(280px,42%);display:grid;gap:6px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(13,19,21,.78);backdrop-filter:blur(12px);color:#fff}.map-ranking>span{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:5px}.map-ranking i{display:grid;place-content:center;width:22px;height:22px;border-radius:7px;background:rgba(116,239,201,.13);color:#77e8c6;font-style:normal;font-size:10px}.map-ranking b{font-size:12px}.map-ranking em{font-style:normal;color:#84eccb;font-size:12px}.market-insight>p{margin:12px 0 0;color:#727d79;font-size:12px}.market-insight.loading .live-dot{background:#e9a73a;animation:pulse 1s infinite}.market-insight.ready .live-dot{background:var(--green);box-shadow:0 0 0 5px rgba(16,163,127,.13)}.cost-benchmark{margin-top:24px;padding:24px;border:1px solid #d9dfe2;border-radius:18px;background:#f8faf9}.cost-benchmark>div:first-child{display:grid;gap:3px}.cost-benchmark>div:first-child>span{font-size:12px;color:#0b876a;font-weight:800;letter-spacing:.08em}.cost-benchmark>div:first-child>b{font-size:18px}.cost-benchmark>div:first-child>small{color:var(--muted)}.benchmark-scale{position:relative;height:10px;margin:27px 4px 12px;border-radius:99px;background:linear-gradient(90deg,#edf1f0,#dce4e1)}.benchmark-scale i{position:absolute;top:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#6f80ff,#30c89b)}.benchmark-scale b{position:absolute;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:#111;box-shadow:0 2px 8px rgba(0,0,0,.28);transition:left .35s ease}.benchmark-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.benchmark-values span{display:grid;padding:12px;border-radius:12px;background:#fff;color:#78817f;font-size:11px}.benchmark-values strong{margin-top:4px;color:var(--ink);font-size:15px}.site-footer{width:min(1200px,calc(100% - 40px));margin:0 auto 28px;padding:34px 0 10px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.site-footer>div p{color:var(--muted);margin:12px 0 0}.site-footer nav{display:flex;gap:22px;flex-wrap:wrap;color:#515a60}.site-footer nav a:hover{color:var(--green)}.site-footer>small{grid-column:1/-1;color:#8b9297}@media(max-width:800px){.world-map{min-height:270px}.world-map svg{min-height:250px}.map-ranking{position:relative;right:auto;bottom:auto;width:auto;margin:0 14px 14px}.benchmark-values{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.site-footer nav{gap:15px}.market-insight{padding:18px}.insight-head{align-items:flex-start}.signal-legend{display:none}}

/* Separate the narrative and testing journeys without duplicating the product logic. */
body[data-page="intro"] .form-card,body[data-page="intro"] .history,body[data-page="intro"] .test-heading,body[data-page="intro"] .transition{display:none}
body[data-page="test"] .hero,body[data-page="test"] .model-note,body[data-page="test"] .trust-section{display:none}
.test-heading{padding:78px 0 32px;max-width:780px}.test-heading h1{margin:8px 0 14px;font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-3.6px}.test-heading>p:last-child{max-width:660px;margin:0;color:var(--muted);font-size:18px;line-height:1.7}
body[data-page="test"] .form-card{margin-top:0}

/* The comparison map is progressive: hidden until a category has been chosen. */
.market-insight{display:none;padding:18px;opacity:0;transform:translateY(14px);border-radius:18px}
.market-insight.visible{display:block;animation:mapReveal .5s cubic-bezier(.16,1,.3,1) forwards}
.world-map{min-height:255px;margin-top:14px;border-radius:15px;background:linear-gradient(145deg,#101719,#162126)}
.world-map svg{width:100%;height:255px;min-height:0}
.world-map svg .land{fill:#263235;stroke:#455256;stroke-width:1.4;transition:fill .25s ease}
.world-map svg .border{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1;stroke-dasharray:4 5}
.world-map g[role="button"]{outline:none}
.world-map g[role="button"] circle{transform-box:fill-box;transform-origin:center}
.world-map g[role="button"]:hover circle,.world-map g[role="button"]:focus-visible circle{transform:scale(1.16);stroke:#fff}
.map-ranking{right:13px;bottom:13px;width:min(246px,38%);padding:8px}
.map-tooltip{position:absolute;z-index:4;left:14px;bottom:14px;display:grid;gap:2px;min-width:190px;padding:11px 13px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(8,13,15,.9);color:#fff;opacity:0;transform:translateY(7px);pointer-events:none;transition:.2s ease;backdrop-filter:blur(12px)}
.map-tooltip.show{opacity:1;transform:none}.map-tooltip b{font-size:13px}.map-tooltip span{font-size:11px;color:#b8c4c1}.map-tooltip span strong{color:#7ce9c7}.map-tooltip small{color:#7ce9c7;font-size:10px}.map-hint{margin-left:auto;color:#788582;font-size:11px}
@keyframes mapReveal{to{opacity:1;transform:none}}

@media(max-width:800px){.test-heading{padding:48px 0 24px}.test-heading h1{font-size:clamp(38px,12vw,58px);letter-spacing:-2.2px}.world-map{min-height:225px}.world-map svg{height:225px}.map-ranking{position:relative;right:auto;bottom:auto;width:auto;margin:0 12px 12px}.map-tooltip{left:12px;bottom:72px}.map-hint{display:none}}

/* Category-first market explorer */
.product-basics{margin-bottom:18px}
.category-market-stage{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;margin-top:4px;transition:grid-template-columns .55s cubic-bezier(.16,1,.3,1),gap .55s cubic-bezier(.16,1,.3,1)}
.category-market-stage.map-open{grid-template-columns:minmax(260px,.66fr) minmax(540px,1.5fr);gap:18px}
.category-controls{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#fff,#f8fbfa);transition:box-shadow .35s ease,border-color .35s ease}
.category-market-stage.map-open .category-controls{border-color:#c9ddd8;box-shadow:0 16px 42px rgba(24,55,48,.08)}
.category-controls>label{display:grid;gap:8px;font-weight:700;color:var(--ink)}
.category-controls select{width:100%}
.map-prompt{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px dashed #cddbd7;border-radius:14px;background:#f6faf8;color:#5e6d68;transition:.3s ease}
.map-prompt>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;background:#e2f4ed;color:#078a69;font-weight:900}
.map-prompt div{display:grid;gap:3px}.map-prompt b{font-size:13px;color:#31403c}.map-prompt small{font-size:11px;line-height:1.55}
.category-market-stage.map-open .map-prompt{border-style:solid;border-color:#d8e9e4;background:#eef9f5}.category-market-stage.map-open .map-prompt>span{animation:promptPulse 1.8s ease-in-out infinite}
.market-picks{display:grid;grid-template-columns:1fr;gap:14px}.market-picks label{display:grid;gap:8px;font-weight:700}
.category-market-stage .market-insight{min-width:0;margin:0;padding:16px;border-color:#d5e0e5;background:linear-gradient(145deg,#fbfefd,#f4f8fb);transform:translateX(-18px) scale(.985);transform-origin:left center}
.category-market-stage .market-insight.visible{display:block;animation:mapSlideIn .55s cubic-bezier(.16,1,.3,1) forwards}
.category-market-stage .insight-head{min-height:34px}.category-market-stage .insight-head>div{min-width:0}.category-market-stage .insight-head small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.category-market-stage .world-map{min-height:300px;margin-top:12px;border:1px solid #dce8eb;border-radius:16px;background:#eef6f8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.category-market-stage .world-map:after{background:radial-gradient(circle at 63% 38%,rgba(20,171,135,.09),transparent 38%)}
.category-market-stage .world-map svg{height:300px;min-height:0;transition:.3s ease}
.map-ocean{fill:url(#ocean)}
.map-grid path{fill:none!important;stroke:#a9c1c8!important;stroke-width:.65!important;stroke-dasharray:3 8;opacity:.28}
.continents path{fill:#dbe8e7!important;stroke:#9cb4b5!important;stroke-width:1.15!important;vector-effect:non-scaling-stroke;transition:.25s ease}
.country-lines path{fill:none!important;stroke:#a4baba!important;stroke-width:.65!important;stroke-dasharray:none!important;opacity:.65;vector-effect:non-scaling-stroke}
.world-map:hover .continents path{fill:#d6e5e3!important}
.heat-points g{--heat:.3;cursor:pointer;outline:none}
.heat-points .heat-halo{fill:#10a37f;opacity:calc(var(--heat) * .28);stroke:none;filter:url(#softGlow);transform-box:fill-box;transform-origin:center;transition:.45s cubic-bezier(.16,1,.3,1)}
.heat-points .heat-core{fill:#0ca47d;opacity:calc(.48 + var(--heat) * .52);stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 3px 6px rgba(4,93,72,.28));transform-box:fill-box;transform-origin:center;transition:.35s cubic-bezier(.16,1,.3,1)}
.heat-points text{fill:#2c4742;font-size:10px;font-weight:900;paint-order:stroke;stroke:#f1f8f7;stroke-width:4px;stroke-linejoin:round}
.heat-points g:hover .heat-halo,.heat-points g:focus-visible .heat-halo{transform:scale(1.35);opacity:.5}
.heat-points g:hover .heat-core,.heat-points g:focus-visible .heat-core{transform:scale(1.42);stroke:#071b16}
.heat-points g.selected .heat-core{fill:#151b1a;stroke:#59e4ba;stroke-width:4}.heat-points g.selected text{fill:#071b16}
.map-toolbar{position:absolute;z-index:5;top:54px;right:12px;display:flex;flex-direction:column;gap:5px}
.map-toolbar button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid #d2e0e2;border-radius:9px;background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(27,55,62,.1);color:#324745;font-size:16px;font-weight:700;cursor:pointer;transition:.2s ease}
.map-toolbar button:hover{transform:translateY(-1px);border-color:#9acfc0;color:#078a69}
.category-market-stage .map-ranking{right:12px;bottom:12px;width:min(258px,42%);border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(25,58,54,.12);color:#21332f}
.map-ranking button{display:grid;grid-template-columns:23px 1fr auto;align-items:center;gap:8px;width:100%;padding:5px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.map-ranking button:hover{background:#edf7f3}.map-ranking button i{display:grid;place-content:center;width:22px;height:22px;border-radius:7px;background:#e3f6ef;color:#078a69;font-style:normal;font-size:10px}.map-ranking button b{font-size:12px}.map-ranking button em{color:#078a69;font-size:12px;font-style:normal}
.category-market-stage .map-tooltip{left:16px;bottom:auto;top:64px;border-color:#d4e3e0;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(22,53,48,.16);color:#172621}.category-market-stage .map-tooltip span{color:#65756f}.category-market-stage .map-tooltip small,.category-market-stage .map-tooltip span strong{color:#078a69}
@keyframes mapSlideIn{to{opacity:1;transform:none}}@keyframes promptPulse{50%{transform:translateY(-2px);box-shadow:0 0 0 6px rgba(16,163,127,.08)}}

@media(max-width:1050px){.category-market-stage.map-open{grid-template-columns:minmax(230px,.64fr) minmax(460px,1.36fr)}.category-market-stage .world-map svg{height:280px}.category-market-stage .world-map{min-height:280px}.signal-legend{display:none}}
@media(max-width:800px){.category-market-stage.map-open{grid-template-columns:1fr;gap:14px}.category-market-stage .market-insight{transform:translateY(-12px)}.category-market-stage .world-map,.category-market-stage .world-map svg{min-height:0;height:260px}.category-market-stage .map-ranking{position:relative;right:auto;bottom:auto;width:auto;margin:0 10px 10px}.category-market-stage .map-tooltip{top:54px;left:10px}.map-toolbar{top:48px;right:9px}.map-prompt small{font-size:12px}}

/* Explain the modeled demand index without crowding the map. */
.map-metric{display:flex;align-items:center;gap:7px}.map-definition{position:relative;display:inline-flex}.map-definition>button{display:grid;place-items:center;width:21px;height:21px;padding:0;border:1px solid #b9cfca;border-radius:50%;background:#fff;color:#417069;font-size:12px;font-weight:800;cursor:help}.map-definition-panel{position:absolute;z-index:12;top:29px;right:0;display:grid;gap:6px;width:310px;padding:14px 15px;border:1px solid #cfdfdb;border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 16px 38px rgba(23,54,49,.16);color:#33423e;opacity:0;visibility:hidden;transform:translateY(-5px);transition:.2s ease;pointer-events:none}.map-definition-panel b{font-size:13px;color:#15211e}.map-definition-panel em{font-size:12px;line-height:1.55;font-style:normal;font-weight:400}.map-definition-panel strong{font-size:12px;color:#a14843}.map-definition:hover .map-definition-panel,.map-definition:focus-within .map-definition-panel{opacity:1;visibility:visible;transform:none}.market-insight>p b{color:#31453f}.category-market-stage .market-insight>p{font-size:12px;line-height:1.65}
@media(max-width:800px){.map-metric{margin-left:auto}.map-definition-panel{right:-4px;width:min(290px,calc(100vw - 54px))}}
