/* HackersEye editorial system. Existing words, portraits and software carry the
   identity. This layer changes composition, not the CMS content contract. */
body.firm-edition.living-edition {
  --he-v4-ink:#070d16;
  --he-v4-panel:#101e31;
  --he-v4-reading:#b6c6da;
  --he-v4-accent:#79afff;
  --he-v4-warm:#ff8b90;
  --he-v4-rule:#8ba4c22e;
  background:var(--he-v4-ink);
}
body.firm-edition.living-edition {--he-live:#79afff;--he-live-cool:#4a8bf2;--he-live-warm:#ef4b50;--he-deep:#070d16}
body.firm-edition.living-edition :is(h1,h2,h3,h4) {text-shadow:none}
/* Published CMS blocks remain readable before scroll enhancement loads. */
body.firm-edition.living-edition [data-reveal] {opacity:1;transform:none}
body.firm-edition.living-edition :is(.hero,.page-hero) h1 em,
body.firm-edition.living-edition.page-home :is(h1,h2) em {color:#79afff;background:none;-webkit-text-fill-color:currentColor}
body.firm-edition.living-edition :is(.section-head,.sec-head) h2 em {color:#79afff}
body.firm-edition.living-edition :is(a,button,summary):focus-visible {outline-color:#79afff}
body.firm-edition.living-edition.page-home .hero.optical-field-ready {background:radial-gradient(ellipse at 80% 22%,#0e2345 0,transparent 54%),#070d16}
/* One spacing owner keeps the opening and its actions in the same view. */
body.firm-edition.living-edition.page-home .hero {padding:0}
body.firm-edition.living-edition.page-home .hero>.hero-wrap {min-height:0;padding-block:68px 76px;align-items:start}

body.firm-edition.living-edition :is(.eyebrow,.sec-k,.section-kicker) {letter-spacing:.025em;text-transform:none;color:#aebdd0}
body.firm-edition.living-edition .brand-icon {filter:none}
body.firm-edition.living-edition :is(.button-primary,.nav-demo),
body.firm-edition.site-edition.living-edition:not(.page-crisis) .inner-site .btn-blue {
  color:#ffffff;background:#0963e8;border:1px solid #0963e8;
  box-shadow:none;font-weight:600;border-radius:4px;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
body.firm-edition.living-edition :is(.button-primary,.nav-demo):is(:hover,:focus-visible),
body.firm-edition.site-edition.living-edition:not(.page-crisis) .inner-site .btn-blue:is(:hover,:focus-visible) {
  color:#ffffff;background:#074fc0;border-color:#074fc0;box-shadow:none;
}
body.firm-edition.living-edition :is(.button-quiet,.btn-ghost) {background:transparent;box-shadow:none;border-color:#7995bb53;border-radius:4px}
body.firm-edition.living-edition [data-brand-nav] {background:#070d16f5;border-bottom:1px solid #8ba4c223;backdrop-filter:blur(18px)}
body.firm-edition.living-edition [data-brand-nav] .main-nav details>div {background:#101a2b;border:1px solid #7a92b147;border-radius:5px;box-shadow:0 22px 60px #0006;padding:12px}
body.firm-edition.living-edition [data-brand-nav] .main-nav details>div a {border-radius:3px;min-height:48px;color:#d9e2ef}
body.firm-edition.living-edition [data-brand-nav] .main-nav details>div a:is(:hover,:focus-visible) {background:#182c48;color:#ffffff}
body.firm-edition.living-edition [data-brand-nav] .nav-emergency {border-color:#ef4b5060;background:#251218;color:#ff8b90;border-radius:4px}
body.firm-edition.living-edition [data-brand-nav] .main-nav>a.nav-demo {color:#ffffff}
/* Inner pages use their own evidence and photography, not repeated eye art. */
body.firm-edition.site-edition.living-edition .inner-site .page-hero>.page-art,
body.firm-edition.site-edition.living-edition .inner-site .page-hero>.motion-control {display:none}
body.firm-edition.site-edition.living-edition .inner-site .page-hero:after {content:none}
body.firm-edition.living-edition :is(.service-row,.ocard,.mod,.role-card,.use-card):hover {transform:none}
body.firm-edition.living-edition [role=tabpanel]:not([hidden]) {animation:he-panel-enter .24s ease-out both}
@keyframes he-panel-enter {from{opacity:.55}to{opacity:1}}

/* Home: a practice index, a photographic essay, then two real products. */
body.firm-edition.living-edition.page-home :is(.services,.documentary-team,.suite,.range,.response,.contact) {padding-block:100px;border:0}
body.firm-edition.living-edition.page-home .services {background:#0b1422}
body.firm-edition.living-edition.page-home .services>.wrap {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:64px;align-items:start}
body.firm-edition.living-edition.page-home .services .section-head {display:block;margin:0;padding:0;position:sticky;top:125px}
body.firm-edition.living-edition.page-home .services .section-head h2 {max-width:15ch;font-size:clamp(34px,3.35vw,48px);line-height:1.14;letter-spacing:-.035em;margin:24px 0}
body.firm-edition.living-edition.page-home .services .section-head .section-lead {margin:0!important;font-size:17px;line-height:1.75;color:var(--he-v4-reading)}
body.firm-edition.living-edition.page-home .practice-signature {display:none}
body.firm-edition.living-edition.page-home .service-catalog {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:auto;min-width:0;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags),
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags)+.service-row {
  display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-template-rows:auto 1fr;gap:30px 12px;
  min-width:0;min-height:270px;padding:30px;background:#101e31;border:1px solid #829cbe30;
  border-radius:5px;box-shadow:none;position:relative;overflow:hidden;
}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):nth-child(1) {background:#131b29;border-color:#b77a7a35}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):nth-child(3) {background:#20151c;border-color:#c45e6738}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):nth-child(4) {background:#101a27}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):before,
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):after {content:none}
body.firm-edition.living-edition.page-home .service-row>.service-symbol {--brand-icon-size:34px;grid-column:2;grid-row:1;width:34px;height:34px;align-self:center;opacity:.85}
body.firm-edition.living-edition.page-home .service-row>h3 {grid-column:1;grid-row:1;font-size:34px;line-height:1.12;letter-spacing:-.03em;color:#f3f6fb;margin:0}
body.firm-edition.living-edition.page-home .service-row>.service-tags {grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:10px;padding:0;margin:0;align-self:end;align-items:stretch;text-align:start;width:100%}
body.firm-edition.living-edition.page-home .service-tags>.svc-chip {display:block;margin:0;padding:0;border:0;background:none;text-align:start;width:100%;color:#bdccdf;font-size:15px;line-height:1.55}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):is(:hover,:focus-visible) {background:#172c49;border-color:#4a8bf280;box-shadow:none}
body.firm-edition.living-edition.page-home .service-row:has(>.service-tags):nth-child(3):is(:hover,:focus-visible) {background:#2c1923;border-color:#ef4b5080}
body.firm-edition.living-edition.page-home .documentary-team {background:#070d16}
body.firm-edition.living-edition.page-home .documentary-team .team-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;align-items:start;margin:0 0 44px}
body.firm-edition.living-edition.page-home .team-heading>.eyebrow {padding-top:12px}
body.firm-edition.living-edition.page-home .team-heading>h2 {max-width:18ch;margin:0;font-size:clamp(40px,4.2vw,62px);line-height:1.1;letter-spacing:-.045em}
body.firm-edition.living-edition.page-home .documentary-team .team-gallery {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,230px);gap:14px;max-height:none;overflow:visible;mask-image:none}
body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure {grid-column:auto;grid-row:auto;margin:0;min-width:0;height:auto;aspect-ratio:auto;border-radius:4px;overflow:hidden;background:#101e31;box-shadow:none;border:0}
body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure:first-child {grid-column:1/3;grid-row:1/3}
body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure img {display:block;width:100%;height:100%;object-fit:cover;filter:none;opacity:1;transform:none;transition:filter .3s ease}
body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure:first-child img {object-position:center}
body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure:before,
body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure:after {content:none}
body.firm-edition.living-edition.page-home .suite {background:#0b1422}
body.firm-edition.living-edition.page-home .suite-intro {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:100px;row-gap:24px;margin-bottom:46px;text-align:start}
body.firm-edition.living-edition.page-home .suite-intro>.eyebrow {grid-column:1/-1;margin:0}
body.firm-edition.living-edition.page-home .suite-intro>h2 {grid-column:1;grid-row:2/4;max-width:18ch;font-size:clamp(40px,4.2vw,62px);line-height:1.1;letter-spacing:-.04em;margin:0}
body.firm-edition.living-edition.page-home .suite-intro>.section-lead {grid-column:2;grid-row:2;margin:0!important;max-width:45ch;font-size:18px;line-height:1.7;color:#bdccdf}
body.firm-edition.living-edition.page-home .suite-more {grid-column:2;grid-row:3;margin:0}
body.firm-edition.living-edition.page-home .product-stage {max-width:var(--content);margin:0 auto;overflow:visible;border:0;background:transparent;box-shadow:none;transform:none}
body.firm-edition.living-edition.page-home .product-stage:before {content:none}
body.firm-edition.living-edition.page-home .product-window {border:1px solid #7b98c04d;border-radius:6px;background:#070d16;padding:8px;box-shadow:0 30px 70px #0005;transform:none}
body.firm-edition.living-edition.page-home .product-stage :is(.shot-wrap,.shot-crop-hero) {padding:0;height:auto;aspect-ratio:auto;overflow:hidden;border:0;border-radius:3px}
body.firm-edition.living-edition.page-home .product-stage .shot {position:static;display:block;width:100%;height:auto;max-width:none;transform:none;object-fit:contain;filter:none}
body.firm-edition.living-edition.page-home .suite-cap {display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1fr);gap:42px;margin-top:26px;padding:0;border:0;background:none;color:#b6c6da;line-height:1.7}
body.firm-edition.living-edition.page-home .suite-cap .ai-badge {background:none;border:0;padding:0;color:#79afff;justify-content:flex-start}
body.firm-edition.living-edition.page-home .suite-cap .ai-badge svg {display:none}
body.firm-edition.living-edition.page-home .range {background:#070d16}
body.firm-edition.living-edition.page-home .range-published-layout {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center}
body.firm-edition.living-edition.page-home .range-intro h2 {font-size:clamp(36px,3.65vw,52px);line-height:1.12;letter-spacing:-.04em;max-width:18ch;margin:22px 0}
body.firm-edition.living-edition.page-home .range .frame {padding:7px;background:#101e31;border:1px solid #7797c54a;border-radius:6px;box-shadow:0 26px 60px #0005;transform:none}
body.firm-edition.living-edition.page-home .range .frame .shot-wrap {aspect-ratio:auto;overflow:hidden;border-radius:3px}
body.firm-edition.living-edition.page-home .range .frame img {display:block;width:100%;height:auto;transform:none;object-fit:contain;filter:none}
body.firm-edition.living-edition.page-home .range-bul {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 42px;margin:50px 0 0;padding:32px 0 0;border-top:1px solid var(--he-v4-rule);list-style:none}
body.firm-edition.living-edition.page-home .range-bul>li {padding:0 0 0 34px;background:none;border:0;color:#b6c6da;font-size:15px;line-height:1.65;position:relative}
body.firm-edition.living-edition.page-home .range-bul>li>svg {position:absolute;left:0;top:2px;width:20px;height:20px;color:#79afff}
body.firm-edition.living-edition.page-home .response {background:#160f17}
body.firm-edition.living-edition.page-home .response-panel {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:100px;align-items:center;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
body.firm-edition.living-edition.page-home .response-panel:before,
body.firm-edition.living-edition.page-home .response-panel:after {content:none}
body.firm-edition.living-edition.page-home .response-panel h2 {font-size:clamp(40px,4.3vw,62px);line-height:1.1;letter-spacing:-.04em;max-width:18ch}
body.firm-edition.living-edition.page-home .response-panel h2 em {color:#ff8b90}
body.firm-edition.living-edition.page-home .response-actions {display:grid;gap:14px}
body.firm-edition.living-edition.page-home .response-actions>.button {width:100%;margin:0;justify-content:center;min-height:54px}
body.firm-edition.living-edition.page-home .crisis-hotline {margin-top:16px;padding:24px 0 0;border-top:1px solid #ef4b5040}
body.firm-edition.living-edition.page-home .contact {background:#0b1422;text-align:start;padding-block:110px}
body.firm-edition.living-edition.page-home .contact>.wrap {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:28px 80px}
body.firm-edition.living-edition.page-home .contact h2 {grid-column:1;grid-row:1/3;font-size:clamp(44px,4.6vw,66px);line-height:1.08;letter-spacing:-.045em;max-width:15ch;margin:0}
body.firm-edition.living-edition.page-home .contact .section-lead {grid-column:2;margin:0;max-width:42ch;font-size:17px;line-height:1.8}
body.firm-edition.living-edition.page-home .contact .hero-actions {grid-column:2;justify-content:flex-start;align-self:start;margin:0;display:flex;flex-wrap:wrap}
body.firm-edition.living-edition.page-home .certification-note {padding-block:24px;color:#b6c6da;background:none;border-top:1px solid var(--he-v4-rule)}
body.firm-edition.living-edition footer {background:#070d16;border-top:1px solid #8ba4c22e}

@media(max-width:1100px){
 body.firm-edition.living-edition.page-home .services>.wrap {grid-template-columns:minmax(0,1fr);gap:38px}
 body.firm-edition.living-edition.page-home .services .section-head {position:static;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}
 body.firm-edition.living-edition.page-home .services .section-head h2 {max-width:18ch;margin-bottom:0}
 body.firm-edition.living-edition.page-home .service-row:has(>.service-tags) {min-height:240px}
 body.firm-edition.living-edition.page-home .documentary-team .team-gallery {grid-template-rows:repeat(2,190px)}
 body.firm-edition.living-edition.page-home :is(.range-published-layout,.suite-intro,.response-panel,.contact>.wrap) {column-gap:42px}
 body.firm-edition.living-edition.page-home .range-published-layout {grid-template-columns:minmax(0,1fr);gap:38px}
 body.firm-edition.living-edition.page-home .range-intro {display:grid;grid-template-columns:1fr 1fr;gap:20px 38px}
 body.firm-edition.living-edition.page-home .range-intro>.eyebrow {grid-column:1/-1}
 body.firm-edition.living-edition.page-home .range-intro>h2 {grid-column:1;grid-row:2/4;margin:0}
 body.firm-edition.living-edition.page-home .range-intro>.section-lead {grid-column:2;grid-row:2;margin:0!important}
 body.firm-edition.living-edition.page-home .range-intro>.button {grid-column:2;grid-row:3;margin:0!important;justify-self:start;align-self:start}
}
@media(max-width:760px){
 body.firm-edition.living-edition {--gutter:22px}
 body.firm-edition.living-edition.page-home .hero>.hero-wrap {padding-block:44px 56px}
 body.firm-edition.living-edition [data-brand-nav] .main-nav {background:#0b1422;border:1px solid #7b98c03b;box-shadow:0 24px 60px #0008;border-radius:5px}
 body.firm-edition.living-edition [data-brand-nav] .main-nav details>div {background:none;border:0;box-shadow:none;border-inline-start:1px solid #7b98c059;padding:0}
 body.firm-edition.living-edition.page-home :is(.services,.documentary-team,.suite,.range,.response,.contact) {padding-block:64px}
 body.firm-edition.living-edition.page-home .services .section-head {display:block}
 body.firm-edition.living-edition.page-home .services .section-head h2 {font-size:37px;max-width:18ch;margin:22px 0}
 body.firm-edition.living-edition.page-home .service-catalog {grid-template-columns:minmax(0,1fr);gap:14px}
 body.firm-edition.living-edition.page-home .service-row:has(>.service-tags),
 body.firm-edition.living-edition.page-home .service-row:has(>.service-tags)+.service-row {padding:28px;min-height:218px;gap:24px 16px}
 body.firm-edition.living-edition.page-home .service-row>h3 {font-size:33px}
 body.firm-edition.living-edition.page-home .documentary-team .team-heading {display:block;margin-bottom:30px}
 body.firm-edition.living-edition.page-home .team-heading>h2 {font-size:40px;margin-top:22px;max-width:18ch}
 body.firm-edition.living-edition.page-home .documentary-team .team-gallery {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:10px}
 body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure {aspect-ratio:4/3}
 body.firm-edition.living-edition.page-home .documentary-team .team-gallery>figure:first-child {grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}
 body.firm-edition.living-edition.page-home :is(.suite-intro,.range-intro,.response-panel,.contact>.wrap) {display:block}
 body.firm-edition.living-edition.page-home :is(.suite-intro h2,.range-intro h2,.response-panel h2,.contact h2) {font-size:38px;line-height:1.13;max-width:19ch;margin:22px 0}
 body.firm-edition.living-edition.page-home :is(.suite-intro>.section-lead,.range-intro>.section-lead,.contact .section-lead) {font-size:16px;line-height:1.75;margin:22px 0!important}
 body.firm-edition.living-edition.page-home .suite-more {margin-top:24px}
 body.firm-edition.living-edition.page-home .suite-intro {margin-bottom:32px}
 body.firm-edition.living-edition.page-home .suite-cap {grid-template-columns:minmax(0,1fr);gap:12px;font-size:14px}
 body.firm-edition.living-edition.page-home .product-window {padding:4px}
 body.firm-edition.living-edition.page-home .range-intro>.button {margin-top:22px!important}
 body.firm-edition.living-edition.page-home .range-bul {grid-template-columns:minmax(0,1fr);gap:22px;margin-top:32px;padding-top:28px}
 body.firm-edition.living-edition.page-home .response-actions {margin-top:32px}
 body.firm-edition.living-edition.page-home .contact .hero-actions {margin-top:28px}
 body.firm-edition.living-edition.page-home .contact .hero-actions>a {width:100%;min-height:50px}
}
@media(max-width:360px){
 body.firm-edition.living-edition {--gutter:18px}
 body.firm-edition.living-edition.page-home .service-row:has(>.service-tags),
 body.firm-edition.living-edition.page-home .service-row:has(>.service-tags)+.service-row {padding:24px}
 body.firm-edition.living-edition.page-home .services .section-head h2 {font-size:34px}
}
@media(prefers-reduced-motion:reduce){body.firm-edition.living-edition [role=tabpanel]:not([hidden]) {animation:none}}
@media print{body.firm-edition.living-edition.page-home .services .section-head {position:static}}
