/* HackersEye: typography, composition and photographic rhythm. */
@font-face{font-family:'HE Text';src:url('/assets/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
.firm-edition{font-family:'HE Text',Arial,sans-serif;font-size:15px;line-height:1.75}
.firm-edition :is(h1,h2,h3,h4,h5,h6,.eyebrow,.main-nav,.menu-toggle,.button,.btn,.text-link,.nav-demo,.nav-emergency){font-family:'Inter Tight',Arial,sans-serif}
.firm-edition :is(h1,h2,h3,h4){font-weight:500}
.firm-edition .eyebrow{font-size:14px;letter-spacing:.015em}
.firm-edition .inner-site :is(.lead,.desc){font-size:16px}
.firm-edition .inner-site p{line-height:1.8}
.firm-edition:not(.site-edition) .hero h1{font-size:clamp(64px,6.35vw,92px);line-height:1.02;letter-spacing:-.038em;max-width:890px}
.firm-edition:not(.site-edition) .hero-copy{max-width:910px}
.firm-edition:not(.site-edition) .hero-lead{max-width:650px;font-size:15px;line-height:1.85;margin-top:34px}
.firm-edition:not(.site-edition) .hero-wrap{padding-block:108px 116px}
.firm-edition :is(.button,.btn){min-height:52px;padding:15px 25px;font-size:16px;border-radius:4px}
.firm-edition .text-link{font-size:16px}

/* Practices: an editorial introduction facing a complete, open service directory. */
.firm-edition:not(.site-edition) .services{padding-block:112px 116px;background:#0a1422}
.firm-edition:not(.site-edition) .services>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:92px;align-items:start}
.firm-edition:not(.site-edition) .services .section-head{display:block;margin:0;padding-top:18px}
.firm-edition:not(.site-edition) .services .section-head h2{font-size:clamp(42px,3.75vw,54px);line-height:1.08;letter-spacing:-.035em;max-width:19ch}
.firm-edition:not(.site-edition) .services .section-head .section-lead{margin-top:32px;font-size:15px;line-height:1.85;max-width:37ch}
.firm-edition:not(.site-edition) .service-catalog{display:grid;grid-template-columns:1fr;gap:0;border:0;border-radius:0;overflow:visible;box-shadow:none;background:none}
.firm-edition:not(.site-edition) .service-catalog:before{content:none}
.firm-edition:not(.site-edition) .service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);gap:30px;align-items:center;padding:32px 0 42px;border:0;border-radius:0;background:none;box-shadow:none}
.firm-edition:not(.site-edition) .service-row+.service-row{padding-top:36px}
.firm-edition:not(.site-edition) .service-title{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.firm-edition:not(.site-edition) .service-title .brand-icon{width:48px;height:48px;flex-basis:48px;filter:none}
.firm-edition:not(.site-edition) .service-title h3{font-size:clamp(34px,3.1vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.firm-edition:not(.site-edition) .service-row ul{align-self:center;gap:9px;padding:0;font-size:14px;line-height:1.65;color:#aabbd2}
.firm-edition:not(.site-edition) .service-row:is(:hover,:focus-visible){background:none;box-shadow:none}
.firm-edition:not(.site-edition) .service-row:is(:hover,:focus-visible) h3{color:#99beff}
.firm-edition:not(.site-edition) .service-row:nth-child(3):is(:hover,:focus-visible){background:none}
.firm-edition:not(.site-edition) .service-row:nth-child(3):is(:hover,:focus-visible) h3{color:#ee9caf}
.firm-edition:not(.site-edition) .service-row:focus-visible{outline-offset:10px;outline:2px solid #95b9f1;border-radius:4px}
.firm-edition:not(.site-edition) .practice-signature{position:relative;isolation:isolate;aspect-ratio:3/2;width:calc(100% + 40px);margin:26px 0 -24px -20px;background:url('/assets/brand/signature/eye-object-v1.webp') center/contain no-repeat;mask-image:radial-gradient(ellipse at center,#000 46%,#000e 63%,transparent 77%);filter:brightness(.86) saturate(.82);transition:filter .5s ease}
.firm-edition:not(.site-edition) .practice-signature:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 20%,#bad3ff16 40%,transparent 65%);opacity:0;mix-blend-mode:screen;transition:opacity .5s ease}
.firm-edition:not(.site-edition) .services:has(.service-row:is(:hover,:focus-visible)) .practice-signature{filter:brightness(1) saturate(1)}
.firm-edition:not(.site-edition) .services:has(.service-row:is(:hover,:focus-visible)) .practice-signature:after{opacity:1}
.firm-edition:not(.site-edition) .services:has(.service-row:nth-child(3):is(:hover,:focus-visible)) .practice-signature:after{background:linear-gradient(118deg,transparent 20%,#ed6d8718 40%,transparent 65%)}

/* Suite: a generous real interface alongside a compact statement of purpose. */
.firm-edition:not(.site-edition) .suite{padding-block:116px;background:#060d17;overflow:clip}
.firm-edition:not(.site-edition) .suite-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center}
.firm-edition:not(.site-edition) .suite-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:72px;grid-column:1;grid-row:1;margin:0 0 54px;min-width:0;align-items:end}
.firm-edition:not(.site-edition) .suite-intro>div+div{padding-top:0}
.firm-edition:not(.site-edition) .suite-intro h2{font-size:clamp(42px,4.45vw,64px);max-width:22ch;line-height:1.07;letter-spacing:-.03em;margin:0}
.firm-edition:not(.site-edition) .suite-intro .section-lead{font-size:15px;line-height:1.85;max-width:39ch;margin:0 0 25px}
.firm-edition:not(.site-edition) .product-stage{grid-column:1;grid-row:2;padding:1px;background:linear-gradient(135deg,#46658d,#101d31 55%,#314361);border-radius:6px;box-shadow:0 40px 90px #0009,0 0 100px #3566aa15}
.firm-edition:not(.site-edition) .product-window{border-radius:5px;box-shadow:none}
.firm-edition:not(.site-edition) .product-window img{height:auto;aspect-ratio:8/5;object-fit:contain}
.firm-edition:not(.site-edition) .module-shelf{grid-column:1;grid-row:3;margin-top:30px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 28px;padding:0;background:none;border-radius:0;box-shadow:none}
.firm-edition:not(.site-edition) .module-shelf a{min-height:44px;padding:10px 0;font-size:14px;line-height:1.5;color:#b1c4de;border:0;border-radius:0;background:none}
.firm-edition:not(.site-edition) .module-shelf a:is(:hover,:focus-visible){background:none;color:#e5eeff;text-decoration:underline;text-underline-offset:4px}

/* Range: one broad demonstration, with typography matching the image's scale. */
.firm-edition:not(.site-edition) .range{padding-block:112px 120px;background:linear-gradient(145deg,#172b47,#0b182b 72%)}
.firm-edition:not(.site-edition) .range-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:0 72px;margin-bottom:52px;max-width:none}
.firm-edition:not(.site-edition) .range-intro>.eyebrow{grid-column:1/-1}
.firm-edition:not(.site-edition) .range-intro h2{grid-column:1;grid-row:2/4;max-width:24ch;font-size:clamp(40px,4.45vw,64px);line-height:1.09;margin:0}
.firm-edition:not(.site-edition) .range-intro .section-lead{grid-column:2;grid-row:2;margin:0 0 20px;font-size:15px;line-height:1.85}
.firm-edition:not(.site-edition) .range-intro .text-link{grid-column:2;grid-row:3;justify-self:start;align-self:start}
.firm-edition:not(.site-edition) .range-viewer{max-width:none;padding:1px;background:#091426;border:0;border-radius:6px;box-shadow:0 38px 78px #02060d6b}
.firm-edition:not(.site-edition) .range-viewer .viewer-toolbar{padding:14px 18px}
.firm-edition:not(.site-edition) .range-viewer [role=tabpanel]{border-radius:3px}

/* People are the visual pause between product evidence and a direct response. */
.firm-edition:not(.site-edition) .team{padding-block:112px 116px;background:#0a1422}
.firm-edition:not(.site-edition) .team-heading{grid-template-columns:1fr auto;gap:44px;align-items:end;margin-bottom:46px}
.firm-edition:not(.site-edition) .team-heading h2{font-size:clamp(44px,4.6vw,66px);line-height:1.08;max-width:none}
.firm-edition:not(.site-edition) .team-gallery{grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:18px;aspect-ratio:2.05}
.firm-edition:not(.site-edition) .team-gallery figure{border-radius:3px;box-shadow:none}
.firm-edition:not(.site-edition) .response{padding-block:96px;background:#111a29}
.firm-edition:not(.site-edition) .response-panel{padding:0;border:0;border-radius:0;box-shadow:none;background:none;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:100px}
.firm-edition:not(.site-edition) .response-panel h2{max-width:16ch;font-size:clamp(42px,4.6vw,65px);line-height:1.08}
.firm-edition:not(.site-edition) .response-panel .section-lead{font-size:15px;line-height:1.85;max-width:65ch;margin-top:30px}
.firm-edition:not(.site-edition) .response-actions{align-self:center;padding:34px;background:linear-gradient(135deg,#352434,#192537);border-radius:8px}
.firm-edition:not(.site-edition) .response-actions .hotline{font-family:'Inter Tight',Arial,sans-serif;font-size:clamp(30px,3vw,42px);line-height:1.2;letter-spacing:-.02em}
.firm-edition:not(.site-edition) .response-actions .response-mail{font-size:14px}
.firm-edition:not(.site-edition) .contact{padding-block:108px 88px}
.firm-edition:not(.site-edition) .contact>.wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:26px 72px}
.firm-edition:not(.site-edition) .contact h2{font-size:clamp(46px,5.7vw,78px);line-height:1.04;letter-spacing:-.035em}
.firm-edition:not(.site-edition) .contact .section-lead{font-size:15px;line-height:1.85}

/* The people chapter: real training photography, at a documentary scale. */
.firm-edition:not(.site-edition) .documentary-team {padding-block:106px 120px;background:linear-gradient(140deg,#111d2c,#0a1421 70%);overflow:hidden}
.firm-edition:not(.site-edition) .documentary-team>.wrap {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.75fr);gap:64px;max-width:1440px;align-items:start}
.firm-edition:not(.site-edition) .documentary-team .team-heading {display:block;position:sticky;top:130px;margin:0;padding-top:14px}
.firm-edition:not(.site-edition) .documentary-team .team-heading h2 {font-size:clamp(46px,5.25vw,78px);line-height:1.04;letter-spacing:-.045em;max-width:8ch;margin:26px 0 34px}
.firm-edition:not(.site-edition) .documentary-team .team-heading .brand-emphasis {color:#99bff0}
.firm-edition:not(.site-edition) .documentary-team .team-heading>.text-link {display:inline-flex;font-size:16px;min-height:44px;align-items:center;margin:0;text-decoration:underline;text-decoration-color:#68819f;text-underline-offset:8px}
.firm-edition:not(.site-edition) .documentary-team .team-gallery {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;aspect-ratio:auto;gap:12px;align-items:stretch}
.firm-edition:not(.site-edition) .documentary-team .team-gallery figure {display:block;grid-column:auto;grid-row:auto;aspect-ratio:1.12;margin:0;overflow:hidden;border-radius:3px;position:relative;background:#0b1726}
.firm-edition:not(.site-edition) .documentary-team .team-gallery figure:first-child {grid-column:1/-1;grid-row:1;aspect-ratio:1.57}
.firm-edition:not(.site-edition) .documentary-team .team-gallery figure:after {display:none}
.firm-edition:not(.site-edition) .documentary-team .team-gallery img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:none;mix-blend-mode:normal;opacity:1;transform:none;transition:filter .3s ease}
.firm-edition:not(.site-edition) .documentary-team .team-gallery figure:first-child img {object-position:50% 58%}
.firm-edition:not(.site-edition) .documentary-team .team-gallery figure:last-child img {object-position:50% 35%}
@media(max-width:1050px) {
 .firm-edition:not(.site-edition) .documentary-team>.wrap {grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);gap:36px}
 .firm-edition:not(.site-edition) .documentary-team .team-gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
 .firm-edition:not(.site-edition) .documentary-team .team-gallery figure {aspect-ratio:1.45}
}
@media(max-width:760px) {
 .firm-edition:not(.site-edition) .documentary-team {padding-block:68px 76px}
 .firm-edition:not(.site-edition) .documentary-team>.wrap {display:block}
 .firm-edition:not(.site-edition) .documentary-team .team-heading {position:static;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding:0;margin-bottom:32px}
 .firm-edition:not(.site-edition) .documentary-team .team-heading h2 {font-size:52px;margin:22px 0 0;max-width:9ch}
 .firm-edition:not(.site-edition) .documentary-team .team-heading>.text-link {font-size:14px;white-space:nowrap;margin-bottom:3px}
 .firm-edition:not(.site-edition) .documentary-team .team-gallery {gap:10px}
 .firm-edition:not(.site-edition) .documentary-team .team-gallery figure:first-child {aspect-ratio:1.2}
}
@media(prefers-reduced-motion:reduce) {
 .firm-edition:not(.site-edition) .documentary-team .team-gallery img {transition:none}
}

/* Long service pages: strong section heads and open content fields. */
:is(.page-offensive,.page-defensive,.page-consulting,.page-services,.page-crisis) .inner-site .sec-head h2{font-size:clamp(36px,3.9vw,54px);line-height:1.1;letter-spacing:-.03em}
/* Service-family composition lives in brand-services.css. */
.site-edition .inner-site .page-hero h1{font-size:clamp(46px,5.6vw,80px);line-height:1.04;letter-spacing:-.035em}
.site-edition .inner-site .page-hero .lead{max-width:750px;font-size:16px;line-height:1.85}
.page-form .inner-site .page-hero h1{font-size:clamp(44px,4.7vw,66px)}

@media(max-width:1200px){
 .firm-edition:not(.site-edition) .services>.wrap{gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
 .firm-edition:not(.site-edition) .service-row{gap:24px}
 .firm-edition:not(.site-edition) .service-title h3{font-size:35px}
 .firm-edition:not(.site-edition) .suite-layout{gap:0 42px}
 .firm-edition:not(.site-edition) .suite-intro h2{font-size:46px}
 .firm-edition:not(.site-edition) .range-intro{gap:0 44px}
 .firm-edition:not(.site-edition) .response-panel{gap:50px}
}
@media(max-width:1000px){
 .firm-edition:not(.site-edition) .services>.wrap{display:block}
 .firm-edition:not(.site-edition) .services .section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;padding:0;margin-bottom:48px;align-items:end}
 .firm-edition:not(.site-edition) .services .section-head h2{font-size:46px;max-width:none}
 .firm-edition:not(.site-edition) .services .section-head .section-lead{margin:0;max-width:none}
 .firm-edition:not(.site-edition) .practice-signature{grid-column:1/-1;justify-self:center;width:min(100%,540px);margin:-12px 0 -18px}
 .firm-edition:not(.site-edition) .service-catalog{grid-template-columns:1fr 1fr;gap:30px 44px}
 .firm-edition:not(.site-edition) .service-row,.firm-edition:not(.site-edition) .service-row+.service-row{display:block;padding:0}
 .firm-edition:not(.site-edition) .service-title{flex-direction:row;align-items:center;gap:18px}
 .firm-edition:not(.site-edition) .service-row ul{margin-top:22px;padding-inline-start:66px}
 .firm-edition:not(.site-edition) .suite-layout{grid-template-columns:1fr;gap:0}
 .firm-edition:not(.site-edition) .suite-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;grid-column:1;grid-row:1;margin-bottom:46px;align-items:end}
 .firm-edition:not(.site-edition) .suite-intro h2{max-width:none;margin:0;font-size:48px}
 .firm-edition:not(.site-edition) .suite-intro>div+div{padding-top:0}
 .firm-edition:not(.site-edition) .product-stage{grid-column:1;grid-row:2}
 .firm-edition:not(.site-edition) .module-shelf{grid-column:1;grid-row:3;grid-template-columns:repeat(5,minmax(0,1fr))}
 .firm-edition:not(.site-edition) .range-intro h2{font-size:44px}
 .firm-edition:not(.site-edition) .response-panel{grid-template-columns:1fr;gap:38px}
 .firm-edition:not(.site-edition) .response-panel h2{max-width:25ch;font-size:48px}
 .firm-edition:not(.site-edition) .response-actions{width:100%;max-width:600px;justify-self:start}
}
@media(max-width:760px){
 .firm-edition:not(.site-edition) .hero h1{font-size:clamp(46px,7.6vw,62px);line-height:1.06}
 .firm-edition:not(.site-edition) .hero-wrap{padding-block:66px 78px}
 .firm-edition:not(.site-edition) :is(.services,.suite,.range,.team){padding-block:76px}
 .firm-edition:not(.site-edition) .services .section-head{display:block;margin-bottom:40px}
 .firm-edition:not(.site-edition) .services .section-head h2{font-size:43px;max-width:22ch}
 .firm-edition:not(.site-edition) .services .section-head .section-lead{margin-top:26px;font-size:15px}
 .firm-edition:not(.site-edition) .practice-signature{width:min(100%,480px);margin:20px auto -8px}
 .firm-edition:not(.site-edition) .service-catalog{gap:36px}
 .firm-edition:not(.site-edition) .service-title h3{font-size:32px}
 .firm-edition:not(.site-edition) .service-title{gap:14px}
 .firm-edition:not(.site-edition) .service-row ul{padding-inline-start:0;font-size:13px}
 .firm-edition:not(.site-edition) .suite-intro{display:block;margin-bottom:32px}
 .firm-edition:not(.site-edition) .suite-intro h2{font-size:44px;max-width:20ch;margin-bottom:24px}
 .firm-edition:not(.site-edition) .suite-intro .section-lead{max-width:none}
 .firm-edition:not(.site-edition) .module-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
 .firm-edition:not(.site-edition) .range-intro{display:block;margin-bottom:32px}
 .firm-edition:not(.site-edition) .range-intro h2{font-size:42px;max-width:25ch;margin-bottom:24px}
 .firm-edition:not(.site-edition) .range-intro .section-lead{margin-bottom:16px}
 .firm-edition:not(.site-edition) .range-viewer{padding:1px}
 .firm-edition:not(.site-edition) .team-heading{display:block;margin-bottom:30px}
 .firm-edition:not(.site-edition) .team-heading h2{font-size:44px}
 .firm-edition:not(.site-edition) .team-heading>.text-link{margin-top:20px}
 .firm-edition:not(.site-edition) .team-gallery{aspect-ratio:auto;gap:12px}
 .firm-edition:not(.site-edition) .response{padding-block:72px}
 .firm-edition:not(.site-edition) .response-panel h2{font-size:44px}
 .firm-edition:not(.site-edition) .response-actions{padding:26px}
 .firm-edition:not(.site-edition) .contact{padding-block:74px 52px}
 .firm-edition:not(.site-edition) .contact h2{font-size:46px;max-width:20ch}
 .site-edition .inner-site .page-hero h1{font-size:clamp(42px,7.8vw,56px)}

}
@media(max-width:560px){
 .firm-edition:not(.site-edition) .range-viewer .viewer-toolbar{display:block;padding:10px}
 .firm-edition:not(.site-edition) .range-viewer .viewer-toolbar [role=tablist]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}
 .firm-edition:not(.site-edition) .range-viewer .viewer-toolbar button{width:100%;min-width:0;min-height:44px;padding:10px 4px;font-size:13px;white-space:nowrap}
 .firm-edition:not(.site-edition) .hero h1{font-size:44px}
 .firm-edition:not(.site-edition) .hero-lead{font-size:14px;line-height:1.8}
 .firm-edition:not(.site-edition) .service-catalog{grid-template-columns:1fr;gap:34px}
 .firm-edition:not(.site-edition) .practice-signature{width:100%;margin:20px auto 6px}
 .firm-edition:not(.site-edition) .service-row{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}
 .firm-edition:not(.site-edition) .service-row+.service-row{display:grid}
 .firm-edition:not(.site-edition) .service-title{display:block}
 .firm-edition:not(.site-edition) .service-title h3{font-size:30px;margin-top:14px}
 .firm-edition:not(.site-edition) .service-row ul{grid-column:2;grid-row:1;margin:0;font-size:13px;align-self:center;gap:7px}
 .firm-edition:not(.site-edition) .services .section-head h2{font-size:39px}
 .firm-edition:not(.site-edition) .module-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
 .firm-edition:not(.site-edition) .suite-intro h2,.firm-edition:not(.site-edition) .range-intro h2{font-size:39px}
 .firm-edition:not(.site-edition) .team-heading h2{font-size:40px}
 .firm-edition:not(.site-edition) .team-gallery{grid-template-columns:1fr 1fr}
 .firm-edition:not(.site-edition) .response-panel h2{font-size:40px}
 .firm-edition:not(.site-edition) .response-actions .hotline{font-size:32px}
 .firm-edition:not(.site-edition) .contact h2{font-size:42px}
 .site-edition .inner-site .page-hero h1{font-size:41px}
}
@media print{
 .firm-edition:not(.site-edition) .practice-signature{display:none}
 .firm-edition:not(.site-edition) :is(.services,.suite,.range,.team,.response,.response-panel,.response-actions,.contact){background:#fff!important;color:#111!important;box-shadow:none!important}
 .firm-edition:not(.site-edition) :is(.services,.suite,.range,.team,.response,.contact) :is(h2,h3,p,li,a){color:#111!important}
 :is(.page-offensive,.page-consulting) .inner-site .disc-grid{background:#fff;color:#111}
 .firm-edition:not(.site-edition) .services>.wrap{display:block}
}
