/* Operational content is the visual: source material, work and handoff. */
.entry-meaning .entry-options{width:100%}
.entry-meaning .switches{margin-bottom:32px}
.entry-meaning .entry-brief{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start;border-top:1px solid var(--ink);padding-top:32px}
.entry-meaning .entry-path-copy h3{font-size:clamp(27px,2.3vw,38px);line-height:1.2;max-width:24ch;margin-bottom:18px}
.entry-meaning .entry-path-copy p{max-width:44ch;font-size:17px}
.entry-meaning .entry-path-copy .text-link{margin-top:28px;min-height:44px;font-size:15px}
.entry-handoff{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.entry-handoff>div{min-width:0}
.entry-handoff dt{font-size:14px;font-weight:800;margin:0 0 14px;color:var(--cobalt)}
.entry-handoff dd{margin:0;max-width:36ch;font-size:16px;line-height:1.65}
.entry-meaning .entry-handoff>div+div{border-left:1px solid var(--ink);padding-left:28px}

.process-meaning .process-panel{grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}
.process-handoff{background:var(--cobalt);color:var(--paper);padding:clamp(24px,3vw,44px);min-width:0}
.handoff-position{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:28px}
.handoff-position>span{font-family:var(--font-display);font-size:40px;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--acid)}
.handoff-position>span>span{font-family:var(--font-body);font-size:14px;color:var(--paper);vertical-align:middle;margin-left:6px}
.handoff-track{display:flex;gap:7px;flex:1;max-width:230px}
.handoff-track i{display:block;flex:1;height:6px;background:var(--paper);opacity:.35}
.handoff-track .is-passed{opacity:1}
.handoff-track .is-current{background:var(--acid);opacity:1;height:10px;margin-top:-2px}
.handoff-source,.handoff-result{margin:0}
.handoff-source dt,.handoff-result dt{font-size:14px;font-weight:800;line-height:1.4;margin-bottom:10px}
.handoff-source dt{color:var(--acid)}
.handoff-source dd,.handoff-result dd{font-size:17px;line-height:1.5;max-width:48ch;margin:0}
.handoff-source{padding-bottom:24px}
.handoff-work{list-style:none;margin:0 0 0 8px;padding:0 0 26px 26px;border-left:1px solid var(--paper);position:relative}
.handoff-work li{position:relative;font-size:15px;line-height:1.5;padding:9px 0}
.handoff-work li::before{content:'';position:absolute;left:-30px;top:17px;width:7px;height:7px;background:var(--acid)}
.handoff-work::after{content:'';position:absolute;bottom:2px;left:-5px;width:8px;height:8px;border-right:1px solid var(--paper);border-bottom:1px solid var(--paper);transform:rotate(45deg)}
.handoff-result{padding:24px;background:var(--acid);color:var(--ink);margin-top:10px}
.process-meaning .process-copy>h3{font-size:clamp(38px,4vw,64px);max-width:16ch;margin-bottom:24px}
.process-meaning .process-copy>p{font-size:19px;line-height:1.6;max-width:43ch}
.process-meaning .process-copy{grid-column:2;grid-row:1}
.process-meaning .process-handoff{grid-column:1;grid-row:1}
.process-meaning .step-actions{grid-column:1/-1;margin-top:0;padding-top:24px;border-top:1px solid var(--line);justify-content:flex-end}
.process-meaning .process-panel>.stage-rights{grid-column:1/-1;margin-top:0}
.process-meaning .process-stage-controls button{font-size:14px;line-height:1.4;min-height:82px}
.process-meaning .process-stage-controls button span{font-size:13px}
.expertise-meaning .expertise-heading>.text-link{margin-top:32px;min-height:44px;font-size:15px}

@media(max-width:1050px){
 .entry-meaning .entry-brief{grid-template-columns:1fr 1.1fr;gap:6%}
 .entry-handoff{grid-template-columns:1fr;gap:24px}
 .entry-meaning .entry-handoff>div+div{border-left:0;border-top:1px solid var(--ink);padding:22px 0 0}
 .entry-handoff dd{max-width:48ch}
 .process-meaning .process-panel{gap:6%}
 .process-handoff{padding:28px}
 .handoff-source dd,.handoff-result dd{font-size:16px}
 .handoff-result{padding:20px}
 .process-meaning .process-copy>p{font-size:17px}
 .process-meaning .process-stage-controls button{padding:14px 12px;font-size:13px;gap:9px}
}
@media(max-width:720px){
 .entry-meaning .entry-brief{display:flex;flex-direction:column;gap:32px;padding-top:28px}
 .entry-meaning .entry-path-copy h3{font-size:29px;max-width:none}
 .entry-meaning .entry-path-copy p{font-size:16px}
 .entry-meaning .entry-path-copy .text-link{margin-top:20px}
 .entry-handoff{width:100%;gap:24px}
 .entry-meaning .entry-handoff>div+div{padding-top:22px}
 .entry-handoff dt{margin-bottom:10px}
 .entry-handoff dd{font-size:16px}
 .process-meaning .process-panel{gap:28px;display:flex;flex-direction:column;align-items:stretch}
 .process-meaning .process-copy{width:100%}
 .process-meaning .process-copy>h3{font-size:38px;max-width:none;margin-bottom:18px}
 .process-meaning .process-copy>p{font-size:17px}
 .process-meaning .step-actions{margin-top:0;justify-content:space-between}
 .process-handoff{padding:24px}
 .handoff-position{margin-bottom:24px}
 .handoff-position>span{font-size:36px}
 .handoff-source dd,.handoff-result dd{font-size:16px}
 .handoff-work{padding-bottom:24px}
 .handoff-result{padding:20px}
 .process-meaning .process-stage-controls button{flex-basis:160px;font-size:13px;min-height:76px}
.expertise-meaning .expertise-heading>.text-link{margin-top:24px}
}

/* Explain the offer, show the evidence, then help visitors choose their path. */
.site-header{background:var(--cobalt)}
.offer,.entry-meaning,.process-meaning,.expertise-meaning,.faq,.contact{padding-inline:max(var(--gutter),calc((100vw - 1600px)/2))}
.offer h2{color:var(--acid)}
.offer-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.offer-capabilities>div{border-top:1px solid var(--line);padding-top:24px}
.offer-capabilities h3{font-family:var(--font-body);font-size:22px;line-height:1.3;margin-bottom:16px}
.offer-capabilities p{font-size:17px;line-height:1.65;max-width:38ch;margin:0}
.offer-services{margin-top:32px}
.case-next{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--cobalt);color:var(--paper);padding:32px;margin-top:40px}
.case-next>div{min-width:0;max-width:58ch}
.case-next h4{font-size:24px;line-height:1.3;margin:0 0 12px}
.case-next p{font-size:16px;line-height:1.6;margin:0}
.case-next .button{flex-shrink:0;max-width:100%;white-space:normal;text-align:left}
.entry-meaning{background:var(--acid);color:var(--ink)}
.entry-meaning .switches button{border-color:var(--ink);color:var(--ink)}
.entry-meaning .switches button[aria-pressed=true]{background:var(--ink);color:var(--acid)}
.entry-meaning .switches button:hover{background:var(--ink);color:var(--acid)}
.process-meaning .process-panel{column-gap:8%;row-gap:40px}
.stage-rights{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}
.stage-rights h4,.stage-report .reporting-copy h4{color:var(--acid);font-size:20px;line-height:1.4;margin:0 0 16px}
.stage-rights p{font-size:16px;line-height:1.65;margin:0 0 16px}
.stage-rights ul{padding-left:20px;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:15px}
.stage-rights .rights-foot{font-size:14px;margin:0;opacity:1}
.stage-report{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.15fr;gap:8%;border-top:1px solid var(--line);padding-top:40px;align-items:start}
.stage-report .reporting-copy>p{font-size:17px;line-height:1.65;max-width:42ch}
.stage-report .reporting-copy .reporting-note{font-size:14px}
.stage-report .switches{margin-block:24px}
.stage-report .switches button[aria-pressed=true]{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.stage-report .switches button:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.stage-report .report-stack{padding:0;min-width:0}
.stage-report .report-stack::before{display:none}
.stage-report .report-page{background:var(--paper);color:var(--ink);transform:none;box-shadow:none;padding:32px}
.stage-report .report-masthead{border-color:var(--ink);font-size:13px;gap:16px}
.stage-report .report-page h4{font-size:28px;line-height:1.25;margin:24px 0 16px}
.stage-report .report-page>p{font-size:16px}
.stage-report .facts>div{border-color:var(--ink);grid-template-columns:minmax(110px,.75fr) minmax(0,2fr);gap:24px}
.stage-report .facts dt,.stage-report .facts dd{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.stage-report .facts dt{color:var(--cobalt);font-size:14px}
.stage-report .facts dd{font-size:16px}
.stage-report .report-end{color:var(--cobalt)}
.service summary h3,.faq summary h3{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.contact-copy .contact-next{font-size:17px;line-height:1.65;max-width:43ch;margin-top:24px}
.required-hint{grid-column:1/-1;font-size:14px;margin:0;line-height:1.6}
.process-stage-controls button:focus-visible{outline-offset:-4px}

/* Motion explains a handoff; headings, controls and metrics stay still. */
.is-enhanced .process-panel,.is-enhanced .case-panel{animation:none}
.is-enhanced .process-panel:not([hidden]) .handoff-work::before{content:'';position:absolute;inset:0 auto 2px -1px;width:2px;background:var(--acid);transform-origin:top;animation:handoff-signal .65s var(--ease) both}
.is-enhanced .process-panel:not([hidden]) .handoff-result{animation:handoff-arrival .65s ease-out both}
.is-enhanced .case-panel:not([hidden]) .case-art{animation:publication-cut .28s ease-out both}
@keyframes handoff-signal{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes handoff-arrival{from{outline:3px solid var(--paper);outline-offset:5px}to{outline:3px solid transparent;outline-offset:0}}
@keyframes publication-cut{from{opacity:.65}to{opacity:1}}
.motion-paused .handoff-work::before,.motion-paused .handoff-result,.motion-paused .case-art{animation:none!important}
@media(prefers-reduced-motion:reduce){
 .is-enhanced .handoff-work::before,.is-enhanced .handoff-result,.is-enhanced .case-art{animation:none!important}
}

@media(max-width:1050px){
 .offer-capabilities{gap:24px}
 .offer-capabilities h3{font-size:20px}
 .offer-capabilities p{font-size:16px}
 .case-next{align-items:flex-start;flex-direction:column}
 .stage-report{gap:32px}
}
@media(max-width:720px){
 .offer-capabilities{grid-template-columns:1fr;gap:28px}
 .offer-capabilities>div{padding-top:20px}
 .offer-capabilities p{max-width:none}
 .case-next{padding:24px;gap:24px;margin-top:32px}
 .case-next h4{font-size:22px}
 .stage-rights ul{grid-template-columns:1fr}
 .stage-report{display:flex;flex-direction:column;gap:28px;padding-top:28px}
 .stage-report .report-stack{width:100%}
 .stage-report .report-page{padding:24px}
 .stage-report .report-page h4{font-size:25px}
 .stage-report .facts>div{grid-template-columns:1fr;gap:8px}
 .contact-copy .contact-next{font-size:16px}
}
