/* PcP V3.1 — desktop-first refinement on V2, zero external dependencies */
:root { --v31-ink:#29482e; --v31-lime:#8eba50; --v31-line:#d9e6c2; --v31-card:#fffef9; }
@media(min-width:1120px){
 .container {width:min(1320px,calc(100% - 88px))}
 .hero-layout{grid-template-columns:1.04fr .96fr; gap:64px}
 .hero-art{width:100%;max-width:645px;justify-self:stretch}
 .case-heading{grid-template-columns: .94fr 1.06fr;gap:56px;align-items:center}
 .section-heading h2{font-size:clamp(33px,3.2vw,49px)}
}
/* V3.1 hero keeps the V2 isometric scene exactly */
.hero-art img{width:100%;height:auto}
.hero h1{max-width:780px}
.hero-definition{max-width:690px}
/* Decision studio: readable full-width desktop instead of cramped V3 mini-columns */
.case-v31 .section-heading{margin-bottom:24px}
.decision-v31{display:grid;gap:17px}
.decision-upper{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr) minmax(0,1.12fr);gap:16px;align-items:stretch}
.dcard{border:1px solid var(--v31-line);background:var(--v31-card);border-radius:22px;box-shadow:0 16px 45px rgba(71,105,51,.055);padding:18px;min-width:0}
.dlabel{color:#78a03f;letter-spacing:1.3px;font-size:10px;font-weight:900;text-transform:uppercase;margin-bottom:10px}
.dcard h3{font-size:19px;line-height:1.38;color:#2e4b31;margin:0 0 10px;letter-spacing:-.25px}
.dcard p{font-size:12px;line-height:1.8;color:#5d725a;margin:5px 0 12px}
.case-3d-scene{height:272px;background:linear-gradient(148deg,#f0f7dc,#e5efc6);border-radius:17px;overflow:hidden;position:relative;border:1px solid #e0eac7;margin-bottom:17px}
.case-3d-scene img{width:100%;height:100%;object-fit:contain}
.case-overlay-pill{position:absolute;left:11px;top:9px;background:#ffffffea;color:#587e40;font-size:9px;letter-spacing:1px;font-weight:900;padding:6px 9px;border-radius:9px;box-shadow:0 5px 14px #547d3312}
.scenario-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.scenario-chips span{border:1px solid #dce7c7;background:#f6f9ed;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;color:#58734d}
.decision-realworld{margin-top:18px;padding:13px;border-radius:12px;background:#ecf5db;border-left:3px solid #90b957}
.decision-realworld b{font-size:11px;color:#385d35}
.decision-realworld p{margin:5px 0 0;font-size:11px}
.scenario-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.scenario-preset{font-size:10px;font-weight:800;border:1px solid #d9e7c4;border-radius:999px;background:#f9fcf2;color:#527443;padding:7px 9px;transition:background .17s,border-color .17s}
.scenario-preset:hover,.scenario-preset.active{background:#a7cf65;color:#263e28;border-color:#8db94f}
.parameter-list{display:grid;gap:15px}
.parameter{display:block}
.parameter>span{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;color:#354e37;margin-bottom:5px}
.parameter b{color:#679737;white-space:nowrap;font-size:11px}
.parameter input{width:100%;display:block;accent-color:#87b349;cursor:pointer;height:15px}
.parameter small{display:flex;justify-content:space-between;font-size:9px;font-weight:600;color:#98a18b}
.dnote{margin-top:17px;padding:12px 13px;border-radius:13px;background:#eaf3d6;color:#4d6b40;font-size:11px;line-height:1.75}
.ranking-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.ranking-head .dlabel{margin-bottom:5px}
.demo-flag{font-weight:900;color:#8e772d;background:#fcf0c4;border-radius:999px;padding:6px 10px;font-size:9px;white-space:nowrap}
.v31-option-list{display:grid;gap:8px}
.v31-option{width:100%;border:1px solid #e0e9d1;background:#fafcf7;color:#294a2d;border-radius:14px;text-align:left;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px;align-items:center;cursor:pointer}
.v31-option:hover{background:#f2f8e4;border-color:#bed995}
.v31-option.is-active{background:#eaf5d5;border-color:#8fc253;box-shadow:inset 0 0 0 1px #8fc253}
.v31-option.is-ineligible{opacity:.58}
.v31-option .opt-name{font-size:12px;font-weight:850;display:block;line-height:1.4}
.v31-option small{font-size:10px;color:#72836b;display:block;margin-top:2px}
.v31-option .opt-val{text-align:right;font-size:26px;line-height:1;font-weight:900;color:#5c8c33}
.v31-option .opt-val small{font-size:9px;line-height:1.3}
.v31-verdict{font-size:11px;line-height:1.65;border-left:3px solid #90b956;border-radius:12px;background:#eff6df;margin-top:14px;padding:11px;color:#3b613d}
.decision-details{margin-top:13px;border-top:1px solid #e0e9d1;padding-top:11px;font-size:10.5px;color:#617257}
.decision-details strong{color:#365f38}
.decision-lower{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px;align-items:start}
.decision-chart{min-height:380px}
.chart-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.chart-title h3{font-size:18px;margin:0}
.chart-title .dlabel{margin-bottom:5px}
.chart-key{display:flex;flex-direction:column;align-items:flex-end;color:#94a084;font-size:9px;font-weight:700}
#v31Tradeoff{display:block;width:100%;height:auto;max-height:300px;border-radius:10px;overflow:visible}
.chart-footer{display:flex;gap:9px;justify-content:space-between;color:#95a08a;font-size:9px}
.v31-contribution{display:grid;gap:9px;padding-top:10px}
.contribution-item{display:grid;grid-template-columns:140px 1fr 33px;gap:8px;align-items:center}
.contribution-item label{font-size:10px;color:#647b59;font-weight:700}
.contribution-track{height:13px;border-radius:10px;background:#e9eedb;overflow:hidden}
.contribution-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#92bb5a,#d5e497);min-width:1px;transition:width .18s}
.contribution-score{text-align:right;font-size:10px;color:#527b37;font-weight:900}
.decision-narrative{border-radius:14px;margin-top:17px;padding:15px;background:#eff6df;color:#48633f;font-size:11px;line-height:1.75}
.decision-narrative b{color:#355939}
.decision-proof{display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;align-items:center;gap:8px;margin-top:3px}
.proof-step{border:1px solid #dce9c7;background:#fcfef5;padding:12px 14px;border-radius:14px;display:flex;flex-direction:column;gap:4px;min-height:78px}
.proof-step>span{color:#89ab4e;font-size:9px;font-weight:900}
.proof-step b{font-size:11px;line-height:1.35}
.proof-step small{font-size:9px;color:#8b9d7a}
.proof-arrow{text-align:center;color:#95b967;font-weight:900}
.v31-caveat{font-size:10px;line-height:1.85;color:#74856b;margin:0}
/* smile curve: preserve elegant V2 arc; overlay accessible hover/touch tooltip */
#v31CurveScroller{overflow:visible!important}
#v31CurveScroller .smile-svg{min-width:0;max-width:100%}
#v31CurveScroller [data-curve-stage]{cursor:pointer;outline:none}
#v31CurveScroller [data-curve-stage]:focus-visible{filter:drop-shadow(0 0 5px #7fad52)}
#v31CurveScroller g.ecosystem-company[data-curve-stage]:hover rect,#v31CurveScroller g.ecosystem-company[data-curve-stage].selected rect{fill:#eff7df;stroke:#81b647;stroke-width:2}
#v31CurveScroller .c-point[data-curve-stage]:hover circle,#v31CurveScroller .c-point[data-curve-stage].selected circle{fill:#a2c865}
#v31CurveScroller .c-rail-hotspot:hover rect{stroke:#b4d581}
.v31-curve-tooltip{position:absolute;top:0;left:0;z-index:8;width:min(250px,40vw);padding:11px 13px;background:#243f2a;color:#f6ffeb;border-radius:13px;box-shadow:0 10px 32px rgba(28,52,31,.18);font-size:11px;line-height:1.65;pointer-events:none}
.v31-curve-tooltip[hidden]{display:none}
.curve-interaction-note{font-size:10px;padding:10px 13px;margin:4px 0 12px;border-radius:11px;background:#f2f7e7;color:#557147;line-height:1.65}
.curve-interaction-note span{color:#78916a}
.value-chain{grid-template-columns:repeat(6,minmax(0,1fr))}
.value-chain .stage-button{padding:11px 8px}
.value-chain .stage-button strong{font-size:10px}
.value-chain .stage-button small{font-size:9px}
/* Add a true axonometric exploded illustration to communicate layer ownership */
.exploded-bridge{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:center;border:1px solid #dce8bd;border-radius:25px;background:linear-gradient(120deg,#fcfef5,#edf5dc);padding:24px;margin:2px 0 29px;box-shadow:0 18px 50px rgba(64,92,44,.07);overflow:hidden}
.exploded-copy h3{font-size:25px;line-height:1.35;letter-spacing:-.7px;margin:10px 0 13px}
.exploded-copy h3 em{font-style:normal;color:#83aa43}
.exploded-copy p{font-size:12px;color:#627655;line-height:1.85}
.exploded-art img{display:block;max-width:100%;width:100%;height:auto}
.exploded-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
.exploded-legend span{padding:8px 9px;border:1px solid #dae7c1;background:#fffefa;border-radius:12px;font-size:10px;color:#5b7948;font-weight:750}
@media(max-width:1199px){.decision-upper{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}.decision-ranking{grid-column:1/-1}.v31-option-list{grid-template-columns:1fr 1fr}.decision-lower{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.decision-upper,.decision-lower,.exploded-bridge{grid-template-columns:1fr}.decision-ranking{grid-column:auto}.v31-option-list{grid-template-columns:1fr}.chart-title{flex-direction:column}.decision-proof{grid-template-columns:1fr 1fr;gap:9px}.proof-arrow{display:none}.value-chain{grid-template-columns:repeat(3,minmax(0,1fr))}.exploded-art{max-width:680px;margin:auto}}
@media(max-width:620px){.decision-proof{grid-template-columns:1fr}.value-chain{grid-template-columns:repeat(2,minmax(0,1fr))}.contribution-item{grid-template-columns:105px 1fr 26px}.hero-art{transform:none}.hero-art:before{display:none}.exploded-legend{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.v31-option,.contribution-fill,.scenario-preset{transition:none}}

@media(min-width:1120px){.v31-option .opt-name{font-size:12.5px}.v31-option small{font-size:10.5px}.contribution-item label{font-size:11px}.dcard h3{font-size:20px}}
