/* Consulting landing page: a technical editorial system built on the site's tokens. */
.consulting-ribbon { background:#18211c; color:#eff6f0; }
.consulting-ribbon > div { width:min(1180px,calc(100% - 48px)); min-height:42px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.64rem; font-weight:750; letter-spacing:.12em; }
.consulting-ribbon i { margin-left:8px; font-size:1rem; font-style:normal; }
.workwith { width:min(1180px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:42px; align-items:stretch; padding:42px 0 46px; border-bottom:1px solid var(--line); }
.workwith > * { min-width:0; }
.consulting-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:38px 0; }
.workwith .kicker { margin-bottom:24px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.7rem; }
.workwith h1 { max-width:600px; margin:0 0 22px; font:520 clamp(3.2rem,5.3vw,5.4rem)/.99 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.058em; }
.workwith .lead { max-width:570px; margin:0; color:#48594d; font-size:clamp(1.02rem,1.35vw,1.18rem); line-height:1.68; }
.consulting-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }
.consulting-hero-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 17px; border:1px solid #a6b2a9; color:var(--ink); font-size:.76rem; font-weight:750; text-decoration:none; }
.consulting-hero-actions a.primary { gap:24px; border-color:#18211c; background:#18211c; color:#fff; }
.consulting-hero-actions a.primary:hover { background:var(--green-dark); border-color:var(--green-dark); }
.consulting-hero-actions a:not(.primary):hover { background:#edf2ed; }
.consulting-hero-actions a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.consulting-hero-actions span { font-size:1.05rem; }
.consulting-hero-meta { margin:30px 0 0; color:#66746b; font:500 .7rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.consulting-hero-meta span { padding:0 6px; color:#a2b3a6; }
.consulting-hero-graphic { min-width:0; margin:0; border:1px solid #bacdc0; background:#e8f2ec; overflow:hidden; }
.consulting-hero-graphic svg { display:block; width:100%; height:auto; aspect-ratio:600/560; }
.consulting-hero-graphic svg text { fill:#214d36; font:700 13px ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.035em; }
.consulting-hero-graphic svg text.detail { fill:#5d7565; font:500 12px Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:0; }
.consulting-hero-graphic figcaption { display:flex; justify-content:space-between; gap:14px; padding:14px 18px; border-top:1px solid #b5cbbb; color:#365441; font:600 .65rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; }
.consulting-goal { opacity:0; animation:consulting-goal-enter .6s ease-out .15s both; }
.consulting-goal circle:nth-last-child(2) { transform-box:fill-box; transform-origin:center; animation:consulting-goal-pulse 1.3s ease-out .7s 2; }
.consulting-layer { opacity:0; transform-box:fill-box; transform-origin:center; animation:consulting-layer-pop .86s cubic-bezier(.2,.8,.25,1) both; }
.consulting-layer-assess { animation-delay:1.05s; }
.consulting-layer-document { animation-delay:2.08s; }
.consulting-layer-build { animation-delay:3.11s; }
.consulting-callout { opacity:0; animation:consulting-callout-enter .5s ease-out both; }
.consulting-callout-assess { animation-delay:1.66s; }
.consulting-callout-document { animation-delay:2.69s; }
.consulting-callout-build { animation-delay:3.72s; }
.consulting-sequence { opacity:0; animation:consulting-sequence-enter .45s ease-out 4.25s both; }
.consulting-trace { animation:consulting-flow 1.45s linear 4.7s infinite; }
@keyframes consulting-goal-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes consulting-goal-pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.7); opacity:.45; } }
@keyframes consulting-layer-pop { 0% { opacity:0; transform:translateY(43px) scale(.96); } 72% { opacity:1; transform:translateY(-9px) scale(1.012); } 100% { opacity:1; transform:translateY(0) scale(1); } }
@keyframes consulting-callout-enter { from { opacity:0; transform:translateY(11px); } to { opacity:1; transform:translateY(0); } }
@keyframes consulting-sequence-enter { from { opacity:0; } to { opacity:1; } }
@keyframes consulting-flow { to { stroke-dashoffset:-16; } }

.consulting-proof { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:54px 0 58px; border-bottom:1px solid var(--line); }
.consulting-proof .proof-label { font:.7rem ui-monospace,SFMono-Regular,Consolas,monospace; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green-dark); margin:0 0 18px; }
.proof { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 0 30px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.proof article { min-width:0; padding:23px 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); display:flex; flex-direction:column; }
.proof small { display:block; color:var(--green-dark); font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; margin-bottom:28px; }
.proof b { display:block; margin-bottom:12px; color:var(--ink); font-size:1.26rem; font-weight:700; letter-spacing:-.03em; line-height:1.2; }
.proof p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }
.proof a { display:inline-block; align-self:flex-start; margin-top:auto; padding-top:21px; color:var(--green-dark); font-size:.78rem; font-weight:800; text-underline-offset:4px; }
.steps3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); }
.steps3 div { padding:18px 20px 0 0; font-size:.86rem; line-height:1.4; }
.steps3 b { display:block; margin-bottom:9px; color:var(--green-dark); font:700 .72rem ui-monospace,SFMono-Regular,Consolas,monospace; }
.consulting-story-link { margin:24px 0 0; font-size:.85rem; font-weight:700; }
.consulting-story-link a { color:var(--green-dark); text-underline-offset:4px; }

.consulting-assessment { width:min(1180px,calc(100% - 48px)); margin:64px auto 0; padding:clamp(28px,4vw,52px); box-sizing:border-box; background:#102d22; color:#f5f8f2; }
.assessment-heading { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; align-items:end; }
.assessment-heading .kicker { color:#9fd2b1; }
.assessment-heading h2 { max-width:540px; margin:0; font:520 clamp(2.4rem,4.2vw,4.3rem)/1.06 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.045em; }
.assessment-heading > p { margin:0; max-width:550px; color:#d6e7d9; font-size:1rem; line-height:1.65; }
.assessment-flow { position:relative; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin:45px 0 24px; }
.assessment-flow::before { content:""; position:absolute; top:17px; left:7%; right:7%; height:2px; background:repeating-linear-gradient(90deg,#a3d6b1 0 7px,transparent 7px 16px); animation:assessment-travel 9s linear infinite; }
.assessment-flow > div { position:relative; min-width:0; padding:39px 12px 15px; border:1px solid #4e7760; background:#173b2c; }
.assessment-flow small { position:absolute; top:7px; left:12px; z-index:1; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#d3e9d8; color:#123d28; font:800 .65rem ui-monospace,monospace; }
.assessment-flow strong { display:block; font-size:.85rem; line-height:1.3; }
.assessment-footer { display:flex; align-items:end; justify-content:space-between; gap:24px; padding-top:22px; border-top:1px solid #537662; }
.assessment-footer p { max-width:730px; margin:0; color:#d6e7d9; font-size:.9rem; line-height:1.6; }
.assessment-footer p strong { color:#fff; }
.assessment-footer a { flex:none; display:inline-flex; min-height:43px; align-items:center; padding:8px 16px; box-sizing:border-box; background:#d3e9d8; color:#123d28; font-size:.8rem; font-weight:800; text-decoration:none; }
.assessment-footer a:hover { background:#fff; }
@keyframes assessment-travel { to { background-position:80px 0; } }

.consulting-inquiry-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; align-items:start; padding:64px 0 74px; border-bottom:1px solid var(--line); }
.consulting-inquiry-copy { position:sticky; top:125px; }
.consulting-inquiry-copy .kicker { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.consulting-inquiry-copy h2 { max-width:460px; margin:0 0 22px; font:520 clamp(2.5rem,4.4vw,4.5rem)/1.05 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.045em; }
.consulting-inquiry-copy > p:not(.kicker) { max-width:480px; color:var(--muted); font-size:1.04rem; line-height:1.65; }
.consulting-inquiry-index { display:grid; gap:14px; max-width:440px; margin-top:38px; padding-top:20px; border-top:1px solid var(--line); }
.consulting-inquiry-index span { color:var(--green-dark); font:700 .7rem ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; text-transform:uppercase; }
.consulting-inquiry-email { margin-top:34px; }
.consulting-inquiry-email a,.consulting-inquiry-person a { color:var(--green-dark); font-weight:800; text-underline-offset:4px; }
.consulting-inquiry-copy > .consulting-inquiry-person { margin-top:15px; font-size:.86rem; }
.consulting-security-teaser .service-intro { margin-bottom: 0; }
.consulting-faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.consulting-faq details { min-width:0; padding:18px 20px; border:1px solid var(--line); background:var(--white); }
.consulting-faq summary { color:var(--ink); font-size:.96rem; font-weight:700; line-height:1.4; cursor:pointer; }
.consulting-faq details[open] { border-color:#89ad93; }
.consulting-faq p { margin:13px 0 0; color:var(--muted); font-size:.86rem; line-height:1.62; }
.consulting-faq a { color:var(--green-dark); text-underline-offset:3px; }
.consulting-security-teaser .service-intro p { color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.consulting-security-teaser .service-intro a { display: inline-block; margin-top: 18px; color: var(--green-dark); font-weight: 800; text-underline-offset: 4px; }
.service-intro h2 { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:520; line-height:1.05; letter-spacing:-.045em; }
.engagement h3,.evidence-card h3,.story-preview-list h3 { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:600; letter-spacing:-.025em; }

.consulting-offers .engagement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.consulting-offers .engagement { min-height: 320px; padding: 26px; }
.consulting-offers .engagement h3 { margin-top: 34px; }
.consulting-offers .engagement p strong { color:var(--ink); }
.engagement-scope { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:26px; }
.engagement-scope > div { padding:22px 24px; border:1px solid var(--line); background:var(--white); }
.engagement-scope h3 { margin:0 0 9px; font-size:1.05rem; letter-spacing:-.025em; }
.engagement-scope p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.engagement-agreement { margin:0 0 34px; padding:18px 22px; border-left:3px solid var(--green); background:#e9f1e9; color:#405549; font-size:.92rem; line-height:1.6; }
.engagement-agreement strong { display:inline-block; margin-right:9px; color:var(--ink); }
.engagement-motion { margin:0; border:1px solid #8fb79d; background:#102a20; box-shadow:14px 14px 0 #e1ede2; }
.engagement-motion-frame { position:relative; }
.engagement-motion video,.engagement-motion-still { display:block; width:100%; height:auto; aspect-ratio:8/5; object-fit:cover; }
.engagement-motion-still { display:none; }
.engagement-motion-controls { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.engagement-motion button { min-height:38px; padding:7px 13px; border:1px solid #a4d7b1; background:#edf8ee; color:#153c29; font:750 .68rem ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.035em; cursor:pointer; }
.engagement-motion button[hidden] { display:none; }
.engagement-motion #engagement-motion-pause { background:transparent; color:#d9eedc; border-color:#7da98a; }
.engagement-motion #engagement-motion-pause:hover { background:#28503a; }
.engagement-motion button:hover { background:#fff; }
.engagement-motion button:focus-visible,.engagement-details summary:focus-visible { outline:3px solid #8ddaa3; outline-offset:4px; }
.engagement-motion figcaption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; padding:11px 20px; border-top:1px solid #557963; color:#d0ead6; font:700 .63rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.05em; }
.engagement-details { margin-top:27px; }
.engagement-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:17px 20px; border:1px solid #a8c3ae; color:var(--green-dark); background:#eaf3eb; font-size:.85rem; font-weight:800; cursor:pointer; list-style:none; }
.engagement-details summary::-webkit-details-marker { display:none; }
.engagement-details summary span { font-size:1.3rem; line-height:1; }
.engagement-details[open] summary span { transform:rotate(45deg); }
.engagement-details .engagement-grid { margin-top:16px; }
.consulting-reporting { padding-top:70px; }
.consulting-reporting .service-intro { margin-bottom: 34px; }
.consulting-reporting .service-intro h2 { font-size:clamp(2.55rem,3.8vw,3.5rem); }
.reporting-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:34px; align-items:stretch; }
.reporting-details { display:flex; flex-direction:column; min-width:0; }
.reporting-label { margin:0 0 4px; color:var(--green-dark); font:800 .68rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.reporting-details ol { list-style:none; margin:0; padding:0; }
.reporting-details li { padding:19px 0 18px; border-bottom:1px solid var(--line); }
.reporting-details li span { display:block; margin-bottom:8px; color:var(--green); font:800 .67rem ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; }
.reporting-details li strong { display:block; margin-bottom:6px; font:600 1.24rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.025em; }
.reporting-details li p { max-width:35rem; margin:0; color:var(--muted); font-size:.85rem; line-height:1.55; }
.reporting-workspace { margin:24px 0 0; padding:18px 20px; border-left:3px solid var(--green); background:#e9f1e9; color:#405549; font-size:.86rem; line-height:1.55; }
.reporting-workspace strong { color:var(--ink); }
.reporting-preview-link { display:inline-flex; align-items:center; gap:9px; align-self:flex-start; margin-top:19px; color:var(--green-dark); font-size:.84rem; font-weight:800; text-underline-offset:4px; }
.reporting-preview-link:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.reporting-board { min-width:0; margin:0; display:flex; flex-direction:column; background:#173528; border:1px solid #173528; color:#eff7ef; box-shadow:15px 15px 0 #e2eee4; }
.reporting-board-header { display:flex; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid #557560; font:700 .67rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.reporting-board-state { display:inline-flex; align-items:center; gap:8px; color:#c2e7c8; white-space:nowrap; }
.reporting-board-state i { width:7px; height:7px; border-radius:50%; background:#a8e7ad; box-shadow:0 0 0 4px #a8e7ad22; }
.reporting-board-body { display:flex; flex:1; flex-direction:column; gap:14px; padding:28px; background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),#173528; background-size:26px 26px; }
.reporting-board-route { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:9px; }
.reporting-board-route span { position:relative; padding:24px 0 0; color:#c5ddca; font:700 .62rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; letter-spacing:.05em; }
.reporting-board-route span::before { content:""; position:absolute; top:5px; left:0; right:-8px; border-top:1px dashed #8cbd9b; }
.reporting-board-route span:last-child::before { right:75%; }
.reporting-board-route span::after { content:""; position:absolute; top:1px; left:0; width:8px; height:8px; border:2px solid #b2dfba; border-radius:50%; background:#173528; }
.reporting-paper { min-width:0; padding:19px 21px; background:#f9fcf8; color:var(--ink); border:1px solid #a7c6ae; }
.reporting-paper-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px 14px; padding-bottom:13px; border-bottom:1px solid #cdded0; }
.reporting-paper-heading span { color:var(--green-dark); font:800 .63rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; }
.reporting-paper-heading b { font:600 1.2rem/1.25 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.025em; }
.reporting-paper-rows { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-top:17px; }
.reporting-paper-rows div { min-width:0; padding-left:11px; border-left:2px solid #91bd9e; }
.reporting-paper-rows span { display:block; margin-bottom:6px; color:#587461; font:800 .57rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; }
.reporting-paper-rows strong { font-size:.77rem; font-weight:650; line-height:1.35; }
.reporting-artifacts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding-top:15px; }
.reporting-artifacts div { min-width:0; padding:11px; border:1px solid #d0dfd3; background:#eef5ef; color:#345c42; font-size:.73rem; font-weight:700; line-height:1.3; }
.reporting-artifacts span { display:block; margin-bottom:7px; color:#246848; font-size:1rem; }
.reporting-board figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; padding:15px 21px; border-top:1px solid #557560; color:#c2dac7; font:650 .6rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; }
.sample-report-preview { margin-top:43px; padding:28px 32px 20px; border:1px solid #a8c3ae; background:#f9fcf8; scroll-margin-top:110px; }
.sample-report-heading { display:flex; align-items:start; justify-content:space-between; gap:18px; padding-bottom:21px; border-bottom:1px solid #cdded0; }
.sample-report-heading h3 { max-width:640px; margin:7px 0 0; font:600 clamp(1.35rem,2.2vw,1.9rem)/1.18 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.035em; }
.sample-report-heading > span { flex-shrink:0; padding:8px 10px; border:1px solid #a8c3ae; color:var(--green-dark); font:800 .65rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; }
.sample-report-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:23px 0; }
.sample-report-items > div { min-width:0; padding-left:15px; border-left:2px solid #91bd9e; }
.sample-report-items span { display:block; margin-bottom:12px; color:var(--green-dark); font:800 .64rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.sample-report-items strong { display:block; margin-bottom:8px; font-size:1rem; line-height:1.3; }
.sample-report-items p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.55; }
.sample-report-actions { display:flex; flex-wrap:wrap; gap:10px 20px; padding:2px 0 19px; }
.sample-report-actions a { color:var(--green-dark); font-size:.82rem; font-weight:800; text-underline-offset:4px; }
.sample-report-actions a:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.sample-report-note { margin:0; padding-top:14px; border-top:1px solid #cdded0; color:#587461; font-size:.76rem; line-height:1.5; }
.consulting-example { scroll-margin-top:110px; }
.consulting-example .service-intro { margin-bottom:34px; }
.engagement-example-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; align-items:stretch; }
.engagement-example-copy { min-width:0; padding:31px 34px; border:1px solid var(--line); background:var(--white); }
.engagement-example-label { margin:0 0 20px !important; color:var(--green-dark) !important; font:800 .68rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace !important; letter-spacing:.1em; text-transform:uppercase; }
.engagement-example-copy>p:not(.engagement-example-label) { margin:0 0 20px; color:#43564a; font-size:.96rem; line-height:1.68; }
.engagement-example-value { margin-top:26px; padding:22px 24px; border-left:3px solid var(--green); background:#e9f1e9; }
.engagement-example-value span { display:block; margin-bottom:10px; color:var(--green-dark); font:800 .67rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.09em; text-transform:uppercase; }
.engagement-example-value p { margin:0; color:var(--ink); font-size:.94rem; line-height:1.6; }
.engagement-example-map { min-width:0; margin:0; display:flex; flex-direction:column; border:1px solid #173528; background:#173528; color:#eff7ef; box-shadow:15px 15px 0 #e2eee4; }
.engagement-example-map-head { display:flex; justify-content:space-between; gap:14px; padding:18px 22px; border-bottom:1px solid #557560; font:750 .66rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.engagement-example-map-body { position:relative; display:grid; gap:13px; flex:1; padding:28px 28px 30px 56px; background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px),#173528; background-size:26px 26px; }
.engagement-example-map-body::before { content:""; position:absolute; top:45px; bottom:47px; left:39px; border-left:1px dashed #9ac8a6; }
.engagement-example-node { position:relative; padding:17px 19px; border:1px solid #a7c6ae; background:#f9fcf8; color:var(--ink); }
.engagement-example-node::before { content:""; position:absolute; left:-23px; top:25px; width:9px; height:9px; border:2px solid #b2dfba; border-radius:50%; background:#173528; }
.engagement-example-node small { display:block; margin-bottom:7px; color:var(--green-dark); font:800 .62rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.engagement-example-node strong { display:block; font:600 1.12rem/1.25 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.025em; }
.engagement-example-node>span { display:block; margin-top:6px; color:#53685a; font-size:.78rem; line-height:1.45; }
.engagement-example-report { border-color:#76b58a; background:#edf7ed; }
.engagement-example-report div { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.engagement-example-report div span { padding:7px 9px; border:1px solid #c2dac6; background:#fff; color:#2d6040; font-size:.7rem; font-weight:700; }
.engagement-example-map figcaption { padding:14px 21px; border-top:1px solid #557560; color:#c2dac7; font:650 .6rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; }
.consulting-stories .service-intro { margin-bottom: 34px; }
.story-preview-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(310px, .9fr); gap: 24px; align-items: stretch; }
.story-preview-list { display: grid; gap: 12px; }
.story-preview-list article { border: 1px solid var(--line); background: var(--white); padding: 24px 28px; }
.story-preview-list span { display: block; margin-bottom: 8px; color: var(--green); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.story-preview-list h3 { max-width: 36rem; margin: 0 0 9px; font: 600 clamp(1.2rem, 2vw, 1.55rem)/1.2 Georgia, serif; }
.story-preview-list p { max-width: 38rem; margin: 0; color: var(--muted); font-size: .89rem; line-height: 1.55; }
.story-preview-visual { min-height: 490px; display: flex; flex-direction: column; justify-content: center; background: var(--green-dark); color: var(--white); padding: 26px; overflow: hidden; }
.story-preview-visual svg { width: 100%; height: auto; max-height: 370px; }
.story-preview-visual p { margin: 16px 0 0; color: #d2e8da; font-size: .78rem; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.preview-route { fill: none; stroke: #8cb59a; stroke-width: 2; stroke-linejoin: round; }
.preview-signal { fill: none; stroke: #eda100; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 5 95; animation: preview-travel 6s linear infinite; }
.preview-signal.signal-two { animation-delay: 2s; }
.preview-signal.signal-three { animation-delay: 4s; }
.preview-hub { fill: #d9e9dd; }
.preview-node { fill: #f4f8f1; stroke: #8cb59a; stroke-width: 2; }
.preview-hub-text { fill: #0b4d35; font: 800 22px system-ui, sans-serif; }
.preview-hub-small { fill: #0b4d35; font: 700 9px system-ui, sans-serif; letter-spacing: .08em; }
.preview-node-text { fill: #0b4d35; font: 800 15px system-ui, sans-serif; }
@keyframes preview-travel { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -100; } }
.story-preview-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 22px; }
.story-preview-actions a { color: var(--green-dark); font-size: .85rem; font-weight: 800; text-decoration: none; }
.story-preview-actions a:hover { text-decoration: underline; text-underline-offset: 4px; }
.story-preview-actions .story-preview-cta { display: inline-flex; border-radius: 999px; background: var(--green-dark); color: var(--white); padding: 13px 20px; }
.story-preview-actions .story-preview-cta:hover { background: var(--green); text-decoration: none; }

.inquiry { min-width: 0; background: var(--white); border: 1px solid var(--line); padding: 28px; scroll-margin-top: 112px; }
.inquiry .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.inquiry .field { margin-bottom: 16px; }
.inquiry .l { display: block; font-size: .86rem; font-weight: 700; margin: 0 0 7px; }
.inquiry .l em { font-style: normal; font-weight: 500; color: var(--muted); font-size: .78rem; margin-left: 6px; }
.inquiry input[type=text], .inquiry input[type=email], .inquiry input[type=url], .inquiry input[type=tel], .inquiry select, .inquiry textarea {
  width: 100%; box-sizing: border-box; font: inherit; font-size: .95rem; color: var(--ink);
  background: var(--paper); border: 1px solid var(--line); border-radius: 3px; padding: 12px 14px; }
.inquiry textarea { min-height: 96px; resize: vertical; }
.inquiry :is(input, select, textarea):focus-visible { outline: 2px solid var(--green); outline-offset: 1px; background: var(--white); }
.inquiry .hint { font-size: .78rem; line-height: 1.45; color: var(--muted); margin: 7px 0 0; }
.inquiry .hint a { color: var(--green-dark); }
.inquiry .count { display: block; text-align: right; font-size: .74rem; color: var(--muted); margin-top: 5px; }
.inquiry .count.ok { color: var(--green-dark); }
.inquiry-more { margin:1px 0 19px; padding:16px 0 1px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.inquiry-more summary { cursor:pointer; color:var(--green-dark); font-size:.86rem; font-weight:800; margin-bottom:15px; }
.inquiry-more summary:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.inquiry-more:not([open]) { padding-bottom:0; }
.inquiry-more:not([open]) summary { margin-bottom:15px; }
.inquiry-check { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; font-weight: 600; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; padding: 8px 14px; cursor: pointer; color: var(--ink); }
.chip input { position: absolute; width: 1px; height: 1px; margin: -1px; opacity: 0; }
.chip:has(input:checked) { background: var(--green-dark); border-color: var(--green-dark); color: var(--white); }
.chip:has(input:focus-visible) { outline: 2px solid var(--green); outline-offset: 2px; }

.inquiry button[type=submit] { width: 100%; font: inherit; font-size: 1rem; font-weight: 700; color: var(--white); background: #18211c; border: 0; padding: 15px 20px; cursor: pointer; margin-top: 4px; }
.inquiry button[type=submit]:hover { background: var(--green-dark); }
.inquiry button[disabled] { opacity: .6; cursor: default; }
.inquiry .form-status { font-size: .88rem; margin: 12px 0 0; min-height: 1.3em; }
.inquiry .form-status.error { color: #8A2B22; }
.inquiry .form-status.success { color: var(--green-dark); font-weight: 700; }
.inquiry .privacy { font-size: .76rem; color: var(--muted); margin: 14px 0 0; }

@media (max-width: 900px) {
  .workwith { grid-template-columns: 1fr; gap: 24px; padding-top: 8px; }
  .consulting-hero-copy { padding: 38px 0 0; }
  .consulting-hero-graphic { max-width: 700px; }
  .consulting-inquiry-section { grid-template-columns: 1fr; gap: 34px; }
  .consulting-inquiry-copy { position: static; }
  .proof { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .assessment-heading { grid-template-columns:1fr; gap:18px; }
  .assessment-flow { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .assessment-flow::before { display:none; }
  .consulting-offers .engagement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .engagement-scope { grid-template-columns:1fr; }
  .consulting-faq { grid-template-columns:1fr; }
  .reporting-layout { grid-template-columns:1fr; }
  .reporting-board { max-width:740px; }
  .engagement-example-layout { grid-template-columns:1fr; }
  .engagement-example-map { max-width:740px; }
  .story-preview-layout { grid-template-columns: 1fr; }
  .story-preview-visual { min-height: 340px; }
}
@media (max-width: 600px) {
  .consulting-ribbon > div span:last-child { display: none; }
  .workwith { width: calc(100% - 36px); }
  .workwith h1 { font-size: clamp(3rem, 13vw, 4.1rem); }
  .consulting-hero-graphic figcaption { flex-direction: column; gap: 2px; }
  .proof, .steps3, .inquiry .row { grid-template-columns: 1fr; }
  .consulting-proof { padding: 42px 0; }
  .consulting-inquiry-section { padding: 64px 0; }
  .consulting-assessment { width:calc(100% - 36px); margin-top:36px; }
  .assessment-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:28px; }
  .assessment-footer { display:block; }
  .assessment-footer a { margin-top:20px; }
  .inquiry { padding: 20px; }
  .consulting-offers .engagement-grid { grid-template-columns: 1fr; }
  .consulting-offers .engagement { min-height: 0; }
  .engagement-motion-controls { margin-left:0; }
  .engagement-motion button { min-height:38px; padding:7px 10px; font-size:.62rem; }
  .engagement-motion figcaption { padding:12px 14px; }
  .reporting-board-body { padding:18px; }
  .reporting-paper-rows,.reporting-artifacts { grid-template-columns:1fr; }
  .reporting-paper-rows { gap:10px; }
  .reporting-paper-rows div { display:flex; align-items:baseline; gap:8px; }
  .reporting-paper-rows span { flex:0 0 78px; margin:0; }
  .reporting-artifacts { gap:6px; }
  .reporting-artifacts div { display:flex; align-items:center; gap:9px; padding:8px 10px; }
  .reporting-artifacts span { margin:0; }
  .reporting-board-route span { font-size:.53rem; }
  .sample-report-preview { padding:22px 20px 18px; }
  .sample-report-heading { flex-direction:column; }
  .sample-report-items { grid-template-columns:1fr; gap:20px; }
  .engagement-example-copy { padding:24px 22px; }
  .engagement-example-map-body { padding:20px 17px 20px 45px; }
  .engagement-example-map-body::before { left:29px; }
  .engagement-example-node::before { left:-23px; }
  .story-preview-visual { min-height: 260px; padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .assessment-flow::before { animation:none; }
  .consulting-goal,.consulting-goal circle:nth-last-child(2),.consulting-layer,.consulting-callout,.consulting-sequence,.consulting-trace { animation:none; opacity:1; transform:none; }
  .preview-signal { animation: none; stroke-dasharray: none; }
  .engagement-motion video { display:none; }
  .engagement-motion-still { display:block; }
  .engagement-motion button { display:none; }
}

/* Buyer situations and a bounded assessment, before the inquiry form. */
.consulting-starting-points{width:min(1180px,calc(100% - 48px));margin:40px auto 0}.consulting-starting-points>.kicker{font:700 .7rem ui-monospace,monospace}.consulting-starting-points>h2{font:520 clamp(1.8rem,3vw,2.5rem)/1.15 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.035em;margin:12px 0 24px}.starting-point-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.starting-point-grid>a{display:flex;flex-direction:column;min-width:0;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);color:var(--ink);text-decoration:none}.starting-point-grid>a:hover{background:#eef4ef}.starting-point-grid>a:focus-visible{outline:3px solid #0d6b4e;outline-offset:3px;position:relative;z-index:1}.starting-point-grid span,.assessment-deliverables article>span{font:700 .65rem/1.5 ui-monospace,monospace;letter-spacing:.06em;color:#0b6048}.starting-point-grid h3{font-size:1.2rem;line-height:1.3;margin:18px 0 12px;letter-spacing:-.025em}.starting-point-grid p{font-size:.87rem;line-height:1.65;color:var(--muted);margin:0 0 24px}.starting-point-grid b{margin-top:auto;font-size:.75rem;color:#0b6048}.consulting-assessment .assessment-heading{align-items:start;gap:30px}.consulting-assessment .assessment-heading h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.1}.assessment-deliverables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 24px}.assessment-deliverables article{min-width:0;padding:20px 17px;border:1px solid #4e7760;background:#173b2c}.assessment-deliverables article>span{color:#abd8ba}.assessment-deliverables h3{margin:17px 0 12px;font-size:1.12rem;line-height:1.3;color:#f5f8f2;letter-spacing:-.02em}.assessment-deliverables p{margin:0;color:#d6e7d9;font-size:.84rem;line-height:1.65}.assessment-scope{padding:0 0 22px;border-bottom:1px solid #537662}.assessment-scope>strong{font-size:.95rem}.assessment-scope p{font-size:.87rem;line-height:1.65;color:#d6e7d9;margin:8px 0 0}.assessment-proof-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.assessment-proof-links a{display:flex;flex-direction:column;gap:8px;color:#f5f8f2;text-decoration:none;padding:5px 0}.assessment-proof-links a:hover strong{text-decoration:underline;text-underline-offset:4px}.assessment-proof-links a:focus-visible,.assessment-footer a:focus-visible{outline:3px solid #d3e9d8;outline-offset:5px}.assessment-proof-links span{font:700 .62rem/1.5 ui-monospace,monospace;color:#abd8ba;text-transform:uppercase;letter-spacing:.05em}.assessment-proof-links strong{font-size:.87rem;line-height:1.5}.assessment-proof-links small{font-size:.77rem;line-height:1.6;color:#d6e7d9}@media(max-width:900px){.assessment-deliverables{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-proof-links{grid-template-columns:1fr;gap:15px}.assessment-proof-links a{padding:12px 0;border-bottom:1px solid #537662}}@media(max-width:700px){.starting-point-grid{grid-template-columns:1fr}.starting-point-grid>a{padding:22px}.consulting-assessment .assessment-heading{grid-template-columns:1fr}.consulting-assessment .assessment-heading h2{font-size:2.1rem}}@media(max-width:600px){.consulting-starting-points{width:calc(100% - 36px);margin-top:30px}.assessment-deliverables{grid-template-columns:1fr}.assessment-deliverables article{padding:20px}.assessment-footer a{white-space:normal}}
