/* Signal → decision → value: a shared interaction language, not an opening gate. */
:root{--copper:#9c7359;--lens-paper:#e8ebe4}
.section-label,.eyebrow{font-size:.75rem}
.section-heading{display:grid;grid-template-columns:1.2fr .7fr;gap:14%;align-items:end;margin-bottom:60px}
.section-heading h2{font:500 clamp(2.8rem,5.5vw,6rem)/1.02 var(--display);letter-spacing:-.065em;margin:0}
.section-heading>p{max-width:390px;color:var(--muted);margin:0;font-size:1rem}
.intelligence-lens{--lens-ink:#e9eee7;border-top:1px solid var(--line)}
.sector-selector{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:30px}
.sector-selector button{display:flex;flex:1;align-items:start;text-align:left;gap:12px;font:500 .95rem/1.45 var(--display);padding:22px 14px 22px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);transition:color .25s,border-color .25s}
.sector-selector button span{font:.75rem var(--mono);padding-top:5px;color:var(--accent)}
.sector-selector button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.sector-selector button:hover{color:var(--ink)}
.lens-topline{display:flex;justify-content:space-between;gap:20px;margin:24px 0;font:.75rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.lens-topline>span:last-child{color:var(--muted)}
.lens-stage{display:grid;grid-template-columns:1.65fr 1fr;background:var(--lens-paper);min-height:540px}
.lens-visual{position:relative;isolation:isolate;overflow:hidden;min-height:540px;background:var(--ink)}
.lens-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.62);transition:filter .8s}
.lens-visual::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#152821d9,transparent 65%)}
.lens-visual>img{z-index:-2}
.lens-visual::before{content:"";position:absolute;inset:24px;border:1px solid #f2f0eb30;pointer-events:none}
.lens-diagram{position:absolute;inset:8% 6% 15%;width:88%;height:77%;overflow:visible;pointer-events:none}
.lens-diagram path{stroke:#e2ebe1a0;stroke-width:1;vector-effect:non-scaling-stroke}
.lens-diagram .diagram-trace{stroke:#f0e1c7;stroke-width:1.5;stroke-dasharray:.14 .86;animation:trace-route 2s cubic-bezier(.2,.7,.2,1) both}
@keyframes trace-route{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.lens-point{position:absolute;display:flex;align-items:center;gap:10px;background:transparent;border:0;color:var(--paper);padding:6px;transition:transform .3s;max-width:70%;text-align:left;z-index:2}
.lens-point>span{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid #e1e9df90;border-radius:50%;background:#1a2a237a;font:.75rem var(--mono);backdrop-filter:blur(8px);transition:background .3s,box-shadow .3s,color .3s}
.lens-point b{font-size:.8rem;font-weight:400;line-height:1.3;text-shadow:0 1px 10px #000;background:#182321bd;padding:6px 8px;border-radius:2px}
.lens-point[aria-pressed=true]>span{background:var(--paper);color:var(--ink);box-shadow:0 0 0 8px #e8efdd18}
.lens-point:hover{transform:translateY(-3px)}
.point-0{left:15%;top:25%}.point-1{left:48%;top:40%}.point-2{left:27%;top:62%}
.lens-image-caption{position:absolute;left:32px;right:32px;bottom:30px;display:flex;justify-content:space-between;align-items:end;gap:20px;color:var(--paper)}
.lens-image-caption>span:first-child{font:500 clamp(1.5rem,2.4vw,2.6rem)/1.05 var(--display);letter-spacing:-.04em;max-width:65%}
.lens-image-caption>span:last-child{text-align:right;font:.75rem/1.5 var(--mono);color:#d3ded2}
.lens-console{padding:38px;display:flex;flex-direction:column;min-width:0}
.lens-console .eyebrow{margin-bottom:20px;color:var(--muted)}
.lens-console h3{font:500 clamp(1.8rem,2.4vw,2.7rem)/1.1 var(--display);letter-spacing:-.05em;margin:0 0 26px}
.scenario-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
.scenario-selector button{background:transparent;border:1px solid #9baa9c;color:var(--ink);padding:9px 12px;min-height:42px;font-size:.875rem;border-radius:2px}
.scenario-selector button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.lens-reading p{font-size:1rem;line-height:1.55;margin:6px 0 23px}
.reading-label{display:block;font:.75rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}
.lens-disclaimer{font-size:.75rem;color:var(--muted);margin:auto 0 0;line-height:1.5}
.lens-conclusion{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:32px 0;border-bottom:1px solid var(--line)}
.lens-conclusion p{margin:12px 0 0;font-size:1rem;max-width:550px}
.lens-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:24px}
.lens-bottom>p{font-size:.8rem;color:var(--muted);margin:0;max-width:52%}
.lens-bottom .text-link{flex-shrink:0}
.context-link{background:transparent;color:inherit;border:0;border-bottom:1px solid var(--line);text-align:left}
.detail-lab{padding-top:55px}
.detail-lab .intelligence-lens{border-top:0}
.detail-lab .lens-stage{grid-template-columns:1.7fr 1fr}
@media(min-width:1500px){.lens-visual{min-height:600px}.lens-console{padding:48px}}
@media(max-width:1000px){
 .section-heading{gap:8%}.lens-stage,.detail-lab .lens-stage{grid-template-columns:1.2fr 1fr}.lens-console{padding:28px}
 .sector-selector{flex-wrap:wrap}.sector-selector button{flex-basis:30%;padding:15px 12px 15px 0}
 .lens-image-caption{left:24px;right:24px}.lens-image-caption>span:last-child{display:none}
 .lens-point b{font-size:.75rem}.point-1{left:38%}.lens-visual{min-height:580px}
}
@media(max-width:700px){
 .section-heading{display:block;margin-bottom:38px}.section-heading h2{font-size:2.8rem}.section-heading>p{margin-top:25px}
 .sector-selector{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.sector-selector button{font-size:.875rem;gap:7px}
 .lens-topline{font-size:.75rem;flex-wrap:wrap;gap:8px}.lens-topline>span:last-child{font-size:.75rem}
 .lens-stage,.detail-lab .lens-stage{display:flex;flex-direction:column}
 .lens-visual{min-height:350px;aspect-ratio:auto}.lens-visual::before{inset:16px}
 .lens-console{padding:28px 22px}.lens-console h3{font-size:2rem}
 .lens-image-caption{left:22px;right:22px;bottom:22px}.lens-image-caption>span:first-child{max-width:100%;font-size:1.6rem}
 .lens-point{gap:5px}.lens-point>span{width:34px;height:34px}
 .point-0{left:8%;top:22%}.point-1{left:32%;top:41%}.point-2{left:15%;top:59%}
 .lens-conclusion{display:block;padding:26px 0}.lens-conclusion>div+div{margin-top:26px}
 .lens-bottom{display:block}.lens-bottom>p{max-width:100%;margin-bottom:18px}.lens-bottom .text-link{font-size:.875rem}
 .detail-lab{padding-top:20px}
}
@media(prefers-reduced-motion:reduce){.lens-diagram .diagram-trace{animation:none;stroke-dasharray:none}}

.problem-lens{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:6%;border-top:1px solid var(--line);padding-top:30px}
.problem-options{display:flex;flex-direction:column;align-items:start;gap:5px}
.problem-options button{border:0;border-left:2px solid transparent;background:transparent;color:var(--muted);min-height:44px;padding:8px 14px;text-align:left;font-size:.95rem}
.problem-options button[aria-pressed=true]{border-left-color:var(--ink);color:var(--ink);background:#f2f0eb60}
.problem-lens p{font:500 1.25rem/1.45 var(--display);letter-spacing:-.02em;margin:15px 0 0}
.problem-lens>div:last-child p{font:400 1rem/1.55 var(--sans);letter-spacing:0;color:var(--muted)}
.approach-workbench{margin-top:70px;border:1px solid var(--line);background:#e8ebe4;position:relative}
.workbench-index{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:20px 32px}
.workbench-index>.eyebrow{margin:0;font-size:.75rem}
.workbench-controls{display:flex;gap:4px}
.workbench-controls button{min-height:44px;font:.875rem var(--sans);padding:10px 16px;background:transparent;border:1px solid transparent;color:var(--muted)}
.workbench-controls button[aria-pressed=true]{border-color:var(--line);color:var(--ink);background:var(--paper)}
.workbench-document{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;padding:48px}
.workbench-document h3{font:500 clamp(2rem,3.3vw,3.5rem)/1.08 var(--display);letter-spacing:-.05em;white-space:pre-line;margin:26px 0}
.workbench-document p{max-width:480px;margin:0;color:var(--muted)}
.workbench-document ol{list-style:none;margin:0;padding:0;align-self:center}
.workbench-document li{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0;font-size:1rem}
.workbench-document li span{font:.75rem var(--mono);color:var(--accent)}
.workbench-foot{padding:20px 32px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
.workbench-foot>span:last-child{white-space:nowrap}
.position-body{grid-template-columns:1fr 1fr;align-items:start;margin-top:60px}
.decision-choices{display:flex;flex-direction:column;align-items:start}
.decision-choices button{display:block;font:inherit;letter-spacing:inherit;line-height:1.05;color:#869b8d;background:transparent;border:0;padding:0 0 6px;text-align:left;transition:color .3s,transform .4s var(--ease)}
.decision-choices button[aria-pressed=true]{color:var(--paper);transform:translateX(14px)}
.decision-choices button:hover{color:var(--paper)}
.decision-side{padding-top:0}.decision-side .position-copy{max-width:440px;margin-bottom:40px}
.decision-verdict{border-top:1px solid #aabbab50;padding-top:26px}
.decision-schema{display:flex;align-items:center;gap:14px;font:.75rem/1.4 var(--mono);color:#bdcabb;margin:0 0 36px}
.decision-schema>span:last-child{padding:10px 14px;border:1px solid #b4c4ae70;color:var(--paper)}
.decision-schema i{height:1px;flex:1;background:#aabbab60;min-width:12px}
.decision-verdict .reading-label{color:#bdcabb}
.decision-verdict h3{font:500 clamp(1.8rem,2.8vw,3rem)/1.1 var(--display);letter-spacing:-.04em;margin:18px 0}
.decision-verdict>p{color:#c3cec6;font-size:1rem}
.decision-check{border-left:1px solid #bdcabb80;padding-left:22px;margin-top:28px}
.decision-check>span{font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#bdcabb}
.decision-check p{margin:12px 0 0;color:var(--paper)}
.decision-verdict .decision-note{font-size:.75rem;color:#bdcabb;margin:28px 0 0}
.capabilities{background:#e4e7df}
.capability-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.capability-card{display:block;text-decoration:none;min-width:0;border-bottom:1px solid var(--line);padding-bottom:28px}
.capability-art{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink);isolation:isolate}
.capability-art>img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) brightness(.55);transition:transform 1s var(--ease),filter 1s}
.capability-art .lens-diagram{inset:10% 5% 15%;height:75%;width:90%}
.capability-art .diagram-trace{animation:none}
.capability-art>span{position:absolute;left:20px;right:20px;bottom:20px;color:var(--paper);font:.75rem/1.5 var(--mono)}
.capability-card:hover .capability-art>img{transform:scale(1.035);filter:saturate(.7) brightness(.68)}
.capability-card:hover .diagram-trace{animation:trace-route 1.2s var(--ease) both}
.capability-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 18px}
.capability-card-title h3{font:500 clamp(1.7rem,2.5vw,2.75rem)/1.1 var(--display);letter-spacing:-.055em;margin:0}
.capability-card-title>span{font-size:1.4rem;transition:transform .3s}
.capability-card:hover .capability-card-title>span{transform:translate(3px,-3px)}
.capability-card p{font-size:1rem;line-height:1.65;color:var(--muted)}
.capability-explore{font-size:.875rem;border-bottom:1px solid var(--line);padding-bottom:7px;display:inline-block;margin-top:12px}
.sectors{padding-top:80px}.sectors>.section-label{margin-bottom:45px}.sectors>.section-heading{margin-bottom:40px}
.detail-heading{margin-bottom:0}
.detail-hero{padding-bottom:0}
.focus-grid article{position:relative;transition:border-color .35s}
.focus-grid article:hover{border-color:var(--ink)}
body>footer{color:var(--muted)}
body>footer .wordmark span{color:var(--accent)}
.contact{overflow:hidden}
.contact::before{content:"";position:absolute;left:var(--gutter);top:0;width:calc(100% - var(--gutter)*2);height:1px;background:linear-gradient(90deg,transparent,#cbd6c680,transparent)}
.contact .button{border-radius:2px;min-height:62px}
.contact .button>span{transition:transform .3s}
.contact .button:hover>span{transform:translate(3px,-3px)}
@media(max-width:1100px){
 .workbench-document{gap:8%;padding:36px}.capability-gallery{gap:20px}
 .capability-card-title h3{font-size:1.8rem}
 .decision-schema{gap:8px}
}
@media(max-width:700px){
 .hero>.eyebrow{max-width:100%;font-size:.75rem;margin-bottom:40px}
 .hero{padding-bottom:84px}.hero-note{max-width:100%}
 .problem-lens{display:block}.problem-options{flex-direction:row;flex-wrap:wrap;gap:5px;margin-bottom:24px}
 .problem-options button{border-left:0;border-bottom:2px solid transparent;padding:10px;font-size:.875rem}
 .problem-options button[aria-pressed=true]{border-bottom-color:var(--ink)}
 .problem-lens>div+div{margin-top:28px}
 .approach-workbench{margin-top:40px}
 .workbench-index{padding:20px;display:block}.workbench-controls{margin-top:16px;gap:0}.workbench-controls button{flex:1;padding:8px 10px}
 .workbench-document{display:block;padding:28px 22px}.workbench-document h3{font-size:2.2rem}
 .workbench-document ol{margin-top:25px}.workbench-foot{padding:20px;display:block}.workbench-foot>span:last-child{display:none}
 .position-body{display:block;margin-top:55px}.decision-choices button{font-size:3.8rem}
 .decision-side{margin-top:40px}.decision-side .position-copy{max-width:100%}
 .decision-schema{gap:8px;font-size:.75rem}.decision-schema>span:last-child{padding:8px}
 .capability-gallery{display:block}.capability-card{margin-bottom:38px}
 .capability-art{aspect-ratio:16/10}.capability-card-title h3{font-size:2rem}
 .sectors{padding-top:65px}.section-heading h2{font-size:2.8rem}
}
@media(prefers-reduced-motion:reduce){.capability-card:hover .diagram-trace{animation:none}}
.challenge,.approach,.position,.capabilities,.sectors,.opportunity,.focus,.working{padding-top:clamp(64px,7vw,112px);padding-bottom:clamp(64px,7vw,112px)}
.detail-lab{padding-top:30px;padding-bottom:50px}
