/* ATLAS landing pages (template atlas-landing.php). Builds on the company-family styles (dc/company.css). */
.page-template-atlas-landing-php .dcc-hero .dcc-h1 { overflow-wrap: anywhere; }
.al-form { scroll-margin-top: calc(var(--bd4-top, 0px) + 24px); }
#request { scroll-margin-top: calc(var(--bd4-top, 0px) + 24px); }
.al-form .dcc-hs { min-height: 0; }
.al-note { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgb(255 255 255 / .12); font-size: 14px; line-height: 1.5; color: var(--dc-on-dark); }
/* thank-you link inside the shared form */
.bdf__back { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-size: 15px; font-weight: 600; color: var(--bdf-ink); text-decoration: underline; text-decoration-color: var(--bdf-coral); text-underline-offset: 4px; }
.bdf__back:hover { color: var(--bdf-coral); }
.bdf__back::after { content: "\2192"; }

/* =====================================================================================================
 * ATLAS landing v2: named layouts (single, bleed, split, proof, beforeafter, formfirst, stage, paper,
 * console, wide) and product visuals. Rendered by inc/bd-atlas-layouts.php. One language: navy #000313,
 * coral only for buttons and small marks, Urbanist, JetBrains Mono for labels and values.
 * ===================================================================================================== */
.al { --al-night: #000313; --al-ink: #11193f; --al-ink2: #4a5173; --al-paper: #f6f8f9; --al-on: #a6b0d2; --al-coral: #ff5247; --al-line: rgb(255 255 255 / .12); --al-ease: var(--dc-ease, cubic-bezier(.16, 1, .3, 1)); --al-mono: var(--dc-mono, 'JetBrains Mono', ui-monospace, monospace); font-family: var(--dc-body, 'Urbanist', sans-serif); }
.al *, .al *::before, .al *::after { box-sizing: border-box; }
.al-s { position: relative; padding: clamp(56px, 7vw, 96px) 0; overflow: hidden; }
.al-s:first-child { padding-top: calc(var(--bd4-top, 0px) + clamp(104px, 9vw, 136px)); }
.al-in { position: relative; width: 100%; max-width: 1312px; margin: 0 auto; padding: 0 var(--dc-gutter, 24px); }
.al-center { text-align: center; display: flex; flex-direction: column; align-items: center; }
.al-s--night { background: var(--al-night); color: #fff; }
.al-s--ink { background: #050a2b; }
.al-s--glow { background: radial-gradient(60% 42% at 50% 0%, rgb(255 82 70 / .17), rgb(3 9 37 / 0)), var(--al-night); }
.al-s--side { background: radial-gradient(48% 70% at 0% 35%, rgb(255 82 70 / .15), rgb(3 9 37 / 0)), var(--al-night); }
.al-s--grid { background: var(--al-night); }
.al-s--grid::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgb(255 255 255 / .05) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .05) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(70% 80% at 70% 45%, #000 20%, transparent 85%); mask-image: radial-gradient(70% 80% at 70% 45%, #000 20%, transparent 85%); pointer-events: none; }
.al-s--paper { background: var(--al-paper); color: var(--al-ink); }
.al-s--light { background: #fff; color: var(--al-ink); }

/* type */
.al-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px; font: 500 12px/1.3 var(--al-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--al-on); }
.al-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--al-coral); }
.al-eyebrow.is-ink { color: var(--al-ink2); }
.al-eyebrow.is-center { justify-content: center; }
.al-h1 { margin: 0; max-width: 18ch; font-weight: 500; font-size: clamp(34px, 4.9vw, 64px); line-height: 1.05; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: anywhere; }
.al-h1 span { font-weight: 300; color: var(--al-on); }
.al-h1.is-ink { color: var(--al-ink); }
.al-h1.is-ink span { color: #5a6283; }
.al-h1.is-center { max-width: 20ch; }
.al-h1--wide { max-width: 24ch; }
.al-h1--s { font-size: clamp(32px, 4vw, 52px); }
.al-h2 { margin: 0 0 24px; font-weight: 500; font-size: clamp(26px, 3vw, 40px); line-height: 1.1; letter-spacing: -.03em; text-wrap: balance; }
.al-h2 span { font-weight: 300; color: #5a6283; }
.al-h2.is-dark span { color: var(--al-on); }
.al-lede { margin: 22px 0 0; max-width: 56ch; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; font-weight: 400; color: var(--al-on); }
.al-lede.is-ink { color: var(--al-ink2); }
.al-center .al-lede { margin-inline: auto; }
.al-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-top: 32px; }
.al-cta--center { justify-content: center; margin-top: 40px; }
.al-btn { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 28px; border-radius: 8px; background: var(--al-coral); color: #fff; font: 600 17px/1 var(--dc-body, 'Urbanist', sans-serif); text-decoration: none; transition: background .2s; }
.al-btn::after { content: "\2192"; }
.al-btn:hover { background: #d63a30; color: #fff; }
.al-badge { display: inline-flex; align-items: center; height: 38px; padding: 0 14px; border: 1px solid var(--al-line); border-radius: 6px; font: 500 13px/1 var(--dc-body, 'Urbanist', sans-serif); color: inherit; text-decoration: none; opacity: .85; }
.al-s--paper .al-badge, .al-s--light .al-badge { border-color: #dfe4ea; }
.al-tag { margin-left: auto; padding: 3px 7px; border: 1px solid currentColor; border-radius: 4px; font: 500 10.5px/1.2 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; opacity: .65; white-space: nowrap; }
.al-lab { display: inline-block; padding: 3px 8px; border-radius: 4px; font: 500 11px/1.3 var(--al-mono); letter-spacing: .06em; text-transform: uppercase; background: rgb(255 255 255 / .08); color: inherit; }
.al-lab.hot { background: rgb(255 82 70 / .16); color: #ff8a82; }
.mono { font-family: var(--al-mono); }

/* grids */
.al-twocol { display: grid; gap: 40px; align-items: start; }
@media (min-width: 960px) {
  .al-twocol { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 5vw, 80px); }
  .al-twocol--hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; }
  .al-twocol--rev { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .al-twocol--stage { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; }
  .al-twocol--ff { grid-template-columns: minmax(0, 520px) minmax(0, 1fr); align-items: start; }
}

/* item lists */
.al-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.al-items li { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; padding: 16px 0; border-top: 1px solid rgb(17 25 63 / .12); }
.al-s--night .al-items li { border-color: var(--al-line); }
.al-items i { grid-row: span 2; font: 500 12px/1.9 var(--al-mono); font-style: normal; color: var(--al-ink2); }
.al-s--night .al-items i { color: var(--al-on); }
.al-items b { font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.al-items span { font-size: 15px; line-height: 1.5; color: var(--al-ink2); }
.al-s--night .al-items span { color: var(--al-on); }
.al-items--cols { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); column-gap: 32px; margin-top: 40px; }
.al-items--row { grid-template-columns: 1fr; }
.al-note { margin: 18px 0 0; font-size: 14px; line-height: 1.5; color: var(--al-on); }
.al-note--light { color: var(--al-ink2); margin-top: 28px; }

/* form */
.al-formwrap { width: 100%; scroll-margin-top: calc(var(--bd4-top, 0px) + 24px); }
.al-formwrap--narrow { max-width: 640px; margin: 40px auto 0; text-align: left; }
.al-formcard.dcc-form { flex: none; width: 100%; color: var(--al-ink); }
.al-formwrap .dcc-hs { min-height: 0; }
.al-facts { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 0; }
.al-facts li { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 11px 0; border-top: 1px solid rgb(127 137 170 / .28); font-size: 15px; font-weight: 500; }
.al-facts small { min-width: 72px; font: 500 11.5px/1.7 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; opacity: .6; }

/* windows (visual frames) */
.al-win { --w-bg: #070c24; --w-fg: #fff; --w-mut: #a6b0d2; --w-line: rgb(255 255 255 / .1); background: var(--w-bg); color: var(--w-fg); border: 1px solid var(--w-line); border-radius: 8px; overflow: hidden; text-align: left; box-shadow: 0 30px 60px -30px rgb(0 3 19 / .6); }
.al-win--light { --w-bg: #fff; --w-fg: #11193f; --w-mut: #4a5173; --w-line: #dfe4ea; box-shadow: 0 24px 50px -30px rgb(17 25 63 / .35); }
.al-win__bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--w-line); font: 500 12px/1.2 var(--al-mono); letter-spacing: .06em; text-transform: uppercase; }
.al-win__bar b { font-weight: 500; }
.al-win__bar .al-tag { color: var(--w-mut); }
.al-win__dots { display: inline-flex; gap: 5px; }
.al-win__dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--w-line); }
.al-sev { display: inline-block; padding: 2px 7px; border-radius: 4px; font: 500 11px/1.4 var(--al-mono); letter-spacing: .04em; text-transform: uppercase; background: rgb(127 137 170 / .16); color: var(--w-mut); }
.al-sev[data-sev=critical] { background: rgb(255 82 70 / .16); color: #ff8a82; }
.al-sev[data-sev=high] { background: rgb(255 176 32 / .16); color: #f0a31a; }
.al-win--light .al-sev[data-sev=critical] { color: #c8382e; }
.al-win--light .al-sev[data-sev=high] { color: #b36b00; }

/* play once, then rest */
.al-anim .al-r { opacity: 0; transform: translateY(10px); }
.al-anim .is-in .al-r, .al-anim .is-in.al-r { opacity: 1; transform: none; transition: opacity .6s var(--al-ease) calc(var(--i, 0) * 90ms), transform .7s var(--al-ease) calc(var(--i, 0) * 90ms); }
.al-anim .al-map__l.al-r { opacity: 1; transform: none; stroke-dashoffset: 1; }
.al-anim .is-in .al-map__l.al-r { stroke-dashoffset: 0; transition: stroke-dashoffset .9s var(--al-ease) calc(var(--i, 0) * 90ms); }
.al-anim .al-map__n.al-r { transform: none; }
.al-anim .is-in .al-map__n.al-r { transition: opacity .6s var(--al-ease) calc(var(--i, 0) * 90ms); }

/* 01 single: strip */
.al-s--single { background: radial-gradient(50% 45% at 50% 0%, rgb(255 82 70 / .14), rgb(3 9 37 / 0)), var(--al-night); padding-bottom: 80px; }
.al-strip { list-style: none; margin: 44px auto 0; padding: 0; width: 100%; max-width: 980px; display: grid; grid-template-columns: repeat(4, 1fr); text-align: left; border: 1px solid var(--al-line); border-radius: 8px; }
.al-strip li { padding: 20px 22px; display: grid; gap: 6px; align-content: start; border-left: 1px solid var(--al-line); }
.al-strip li:first-child { border-left: 0; }
.al-strip small { font: 500 12px/1 var(--al-mono); letter-spacing: .1em; color: var(--al-coral); }
.al-strip b { font-size: 19px; font-weight: 600; }
.al-strip span { font-size: 14px; line-height: 1.45; color: var(--al-on); }
@media (max-width: 800px) { .al-strip { grid-template-columns: 1fr 1fr; } .al-strip li:nth-child(3) { border-left: 0; } .al-strip li:nth-child(n+3) { border-top: 1px solid var(--al-line); } }
@media (max-width: 480px) { .al-strip { grid-template-columns: 1fr; } .al-strip li { border-left: 0; border-top: 1px solid var(--al-line); } .al-strip li:first-child { border-top: 0; } }

/* 02 bleed: map */
.al-bleed { display: grid; gap: 32px; align-items: center; }
@media (min-width: 960px) { .al-bleed { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); } .al-bleed__vis { margin-right: calc(var(--dc-gutter, 24px) * -1); } }
.al-s--bleed { padding-bottom: clamp(48px, 6vw, 80px); }
.al-map { position: relative; width: 100%; }
.al-map svg { width: 100%; height: auto; display: block; overflow: visible; }
.al-map .al-tag { position: absolute; right: 8px; top: 0; margin: 0; color: var(--al-on); }
.al-map__l { stroke: rgb(255 255 255 / .22); stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: 0; }
.al-map__n circle { fill: #11193f; stroke: rgb(255 255 255 / .55); stroke-width: 1.5; }
.al-map__n .ring { fill: none; stroke: var(--al-coral); stroke-width: 1.5; }
.al-map__n.is-risk circle:not(.ring) { fill: var(--al-coral); stroke: none; }
.al-map__n text { fill: #fff; font: 500 12px var(--al-mono); }
.al-map__n text.s, .al-map__cve text.s { fill: var(--al-on); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.al-map .core { fill: #0b1334; stroke: rgb(255 255 255 / .5); stroke-width: 1.5; }
.al-map .core2 { fill: none; stroke: rgb(255 255 255 / .15); }
.al-map .d { fill: #fff; font: 500 13px var(--al-mono); }
.al-map__cve rect { fill: #0b1334; stroke: var(--al-coral); }
.al-map__cve text { fill: #fff; font: 500 12px var(--al-mono); }
.al-map__cve text.s { fill: var(--al-on); }

/* form band under a visual hero */
.al-s--formband .al-twocol { align-items: start; }

/* 03 split */
.al-split__text .al-badge { margin-top: 28px; }
.al-formwrap--hero .al-formcard { box-shadow: 0 40px 80px -30px rgb(0 0 0 / .7); }
.al-s--split { padding-bottom: clamp(64px, 7vw, 96px); }
.al-table__counts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; padding: 20px 20px 4px; }
.al-table__counts div { display: grid; gap: 4px; }
.al-table__counts small { font: 500 11px/1 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-table__counts b { font: 500 26px/1 var(--al-mono); letter-spacing: .1em; }
.al-table__arrow { margin-left: auto; font: 500 12px/1.4 var(--al-mono); color: var(--w-mut); }
.al-table__arrow::before { content: "\2193  "; }
.al-table__grid { padding: 12px 20px 20px; overflow-x: auto; }
.al-table__grid .h, .al-table__grid .r { display: grid; grid-template-columns: 1.1fr .9fr 1.2fr 1.2fr; gap: 16px; min-width: 620px; padding: 11px 0; border-top: 1px solid var(--w-line); font-size: 14px; }
.al-table__grid .h { border-top: 0; font: 500 11px/1 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-table__grid .r:nth-of-type(n+4) { filter: blur(2.5px); opacity: .7; }
.al-table__grid .r:nth-of-type(n+5) { filter: blur(5px); opacity: .5; }
.al-s--table .al-win { max-width: 1040px; }
.al-s--table .al-h2 { max-width: 20ch; }

/* 04 proof */
.al-steps3 { list-style: none; margin: 44px 0 20px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; counter-reset: s; }
.al-steps3 li { position: relative; padding: 28px 28px 0 0; }
.al-steps3 li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--al-line); }
.al-steps3 li::after { content: ""; position: absolute; top: -4px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--al-coral); }
.al-steps3 small { display: block; font: 500 11.5px/1 var(--al-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--al-on); }
.al-steps3 b { display: block; margin: 8px 0 6px; font-size: 26px; font-weight: 500; letter-spacing: -.02em; }
.al-steps3 span { display: block; font-size: 15px; line-height: 1.5; color: var(--al-on); max-width: 30ch; }
@media (max-width: 720px) { .al-steps3 { grid-template-columns: 1fr; gap: 8px; } .al-steps3 li { padding-bottom: 12px; } }
.al-look { margin-top: 28px; }
.al-look__head, .al-look__r { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 16px; padding: 14px 20px; align-items: center; }
.al-look__head { font: 500 11px/1 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-look__r { border-top: 1px solid var(--w-line); }
.al-look__r .d { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.al-look__r .s { display: flex; align-items: center; gap: 8px; font: 500 12px/1 var(--al-mono); color: var(--w-mut); }
.al-look__r .s i { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--w-mut); }
.al-look__r .s.on { color: #fff; }
.al-look__r .s.on i { background: var(--al-coral); border-color: var(--al-coral); }
@media (max-width: 640px) { .al-look__head { display: none; } .al-look__r { grid-template-columns: 1fr 1fr 1fr; } .al-look__r .d { grid-column: 1 / -1; } .al-look__r .s em { font-style: normal; font-size: 11px; } }
.al-look__r .s em { font-style: normal; }

/* 05 before / after */
.al-ba { display: grid; gap: 20px; margin-top: 48px; align-items: stretch; }
@media (min-width: 900px) { .al-ba { grid-template-columns: minmax(0, .7fr) 56px minmax(0, 1.3fr); } }
.al-ba__k { display: block; margin-bottom: 12px; font: 500 12px/1 var(--al-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--al-on); }
.al-ba__k.is-on::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; background: var(--al-coral); }
.al-ba__arrow { align-self: center; justify-self: center; width: 40px; height: 2px; background: var(--al-line); position: relative; }
.al-ba__arrow::after { content: ""; position: absolute; right: 0; top: -4px; width: 9px; height: 9px; border-top: 2px solid var(--al-coral); border-right: 2px solid var(--al-coral); transform: rotate(45deg); }
@media (max-width: 899px) { .al-ba__arrow { transform: rotate(90deg); } }
.al-win--free { opacity: .92; }
.al-free { padding: 20px; display: grid; gap: 10px; }
.al-free small { font: 500 11px/1 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-free b { font: 500 30px/1 var(--al-mono); letter-spacing: .1em; }
.al-free p { margin: 0; padding: 10px 12px; border: 1px dashed var(--w-line); border-radius: 6px; font-size: 13px; color: var(--w-mut); overflow-wrap: anywhere; }
.al-free__lock { font-size: 14px; color: var(--w-mut); }
.al-forum__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px 0; font-size: 12px; color: var(--w-mut); }
.al-forum__body { padding: 14px 20px; display: grid; gap: 10px; font-size: 16px; line-height: 1.55; }
.al-forum__body p { margin: 0; }
.al-forum .blur { filter: blur(3.5px); user-select: none; color: var(--w-mut); }
.al-forum mark { padding: 1px 4px; border-radius: 4px; background: transparent; color: #fff; box-shadow: inset 0 -2px 0 var(--al-coral); font-weight: 600; }
.al-forum__foot { display: flex; gap: 24px; padding: 12px 20px 16px; border-top: 1px solid var(--w-line); font-size: 12px; color: var(--w-mut); }

/* 06 formfirst: tree */
.al-s--ff { padding-bottom: clamp(64px, 7vw, 96px); }
.al-ff__form .al-lede { margin-bottom: 28px; }
.al-ff__vis { display: grid; gap: 24px; }
.al-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 15px; line-height: 1.5; color: var(--al-ink2); }
.al-checks li { padding-left: 24px; position: relative; }
.al-checks li::before { content: ""; position: absolute; left: 0; top: .5em; width: 10px; height: 2px; background: var(--al-coral); }
.al-checks b { color: var(--al-ink); font-weight: 600; }
.al-tree__q { display: flex; gap: 12px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--w-line); font: 500 13px var(--al-mono); }
.al-tree__q small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-tree ul { list-style: none; margin: 0; padding: 8px 20px 18px; }
.al-tree li { display: grid; grid-template-columns: minmax(0, 1fr) auto 84px; gap: 12px; align-items: center; padding: 9px 0 9px calc(var(--d, 0) * 22px); font: 500 14px var(--al-mono); border-bottom: 1px solid var(--w-line); }
.al-tree li.dir .n::before { content: "\25B8  "; color: var(--w-mut); }
.al-tree li.dir .n { color: #fff; }
.al-tree li.file .n { color: var(--w-mut); filter: none; }
.al-tree em { font: normal 12px var(--dc-body, 'Urbanist', sans-serif); color: var(--w-mut); }
.al-tree .al-sev { justify-self: end; }
@media (max-width: 520px) { .al-tree li { grid-template-columns: minmax(0, 1fr) 72px; } .al-tree li em { display: none; } }

/* 07 stage: leak */
.al-leak { display: grid; gap: 16px; position: relative; }
@media (min-width: 720px) { .al-leak { grid-template-columns: 1.15fr .85fr; align-items: start; } .al-leak__list { margin-top: 56px; } }
.al-leak__body { padding: 20px; display: grid; gap: 12px; }
.al-leak__body p { margin: 0; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.al-leak__body dl { margin: 0; display: grid; gap: 0; }
.al-leak__body dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--w-line); font-size: 14px; }
.al-leak__body dt { font: 500 11px/1.6 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-leak__body dd { margin: 0; text-align: right; }
.al-leak__list ul { list-style: none; margin: 0; padding: 4px 16px 12px; }
.al-leak__list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--w-line); font-size: 13px; flex-wrap: wrap; }
.al-leak__list li:first-child { border-top: 0; }

/* 08 paper: brief */
.al-s--pp { padding-bottom: clamp(56px, 6vw, 88px); }
.al-brief { max-width: 520px; margin-left: auto; transform: none; }
.al-brief__top { padding: 22px 24px 16px; display: grid; gap: 10px; }
.al-brief__top small, .al-brief__sec small { font: 500 11px/1 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-brief__top b { font-size: 26px; font-weight: 500; letter-spacing: -.02em; line-height: 1.15; overflow-wrap: anywhere; }
.al-brief__top b i { font-style: normal; font-weight: 300; color: var(--w-mut); }
.al-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.al-chips span { padding: 5px 10px; border: 1px solid var(--w-line); border-radius: 4px; font: 500 12px/1.2 var(--al-mono); color: var(--w-mut); }
.al-chips span.on { border-color: var(--al-coral); color: var(--w-fg); }
.al-brief__sec { padding: 16px 24px; border-top: 1px solid var(--w-line); display: grid; gap: 10px; }
.al-brief__sec .bar { height: 8px; border-radius: 4px; background: #eceff3; }
.al-brief__sec .bar i { display: block; height: 100%; border-radius: 4px; background: #c8cee0; }

/* 09 console: attck */
.al-s--console { padding-bottom: clamp(56px, 6vw, 80px); }
.al-attck { margin-top: 48px; }
.al-attck__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 10px 14px; border-bottom: 1px solid var(--w-line); }
.al-attck__tabs > span[data-al-tab] { padding: 7px 12px; border-radius: 6px; font: 500 12px/1 var(--al-mono); color: var(--w-mut); }
.al-attck__tabs > span.on { color: #fff; box-shadow: inset 0 -2px 0 var(--al-coral); border-radius: 0; }
.al-attck__who { margin-left: auto; font: 500 13px var(--al-mono); overflow-wrap: anywhere; }
.al-attck__tabs .al-tag { margin-left: 8px; }
.al-attck__matrix { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 6px; padding: 20px; overflow-x: auto; }
.al-attck__matrix .col { display: grid; gap: 5px; min-width: 62px; align-content: start; }
.al-attck__matrix small { height: 30px; font: 500 10px/1.25 var(--al-mono); letter-spacing: .02em; color: var(--w-mut); overflow: hidden; }
.al-attck__matrix i { display: block; height: 18px; border-radius: 4px; background: rgb(255 255 255 / .06); }
.al-attck__matrix i.on { background: rgb(255 82 70 / .85); }
.al-attck__feed { margin: 0 20px 20px; border: 1px solid var(--w-line); border-radius: 6px; }
.al-attck__feed .h { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 12px 16px; font-size: 13px; }
.al-attck__feed .h span { color: var(--w-mut); font-size: 12px; }
.al-attck__feed .r { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 16px; border-top: 1px solid var(--w-line); font-size: 13px; }
.al-attck__feed .r small { font: 500 11px var(--al-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--w-mut); }
.al-attck__feed .r .mono { overflow-wrap: anywhere; }
@media (max-width: 560px) { .al-attck__feed .r { grid-template-columns: 1fr auto; } .al-attck__feed .r small { grid-column: 1 / -1; } }
.al-inline { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; }
.al-inline li { display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid var(--al-line); }
.al-inline b { font-size: 17px; font-weight: 600; }
.al-inline span { font-size: 14px; line-height: 1.5; color: var(--al-on); }

/* 10 wide: watchlist */
.al-wide__head { display: grid; gap: 28px; margin-bottom: 44px; align-items: end; }
@media (min-width: 960px) { .al-wide__head { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 64px; } }
.al-wide__head .al-lede { margin-top: 0; }
.al-watch__h, .al-watch__r { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 16px; padding: 18px 24px; align-items: center; }
.al-watch__h { font: 500 11px/1 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--w-mut); }
.al-watch__r { border-top: 1px solid var(--w-line); font-size: 16px; }
.al-watch__r em { font-style: normal; color: var(--w-mut); font-size: 14px; }
.al-watch__r .mono { font-size: 13px; }
.al-flag { justify-self: start; padding: 4px 10px; border-radius: 4px; font: 500 12px/1.3 var(--al-mono); letter-spacing: .04em; text-transform: uppercase; background: #eceff3; color: #4a5173; }
.al-flag.hot { background: #fff; color: #c8382e; box-shadow: inset 0 0 0 1px var(--al-coral); }
.al-flag.hot::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--al-coral); }
.al-watch__r.is-hot { background: linear-gradient(90deg, rgb(255 82 70 / .07), transparent 60%); }
@media (max-width: 720px) { .al-watch__h { display: none; } .al-watch__r { grid-template-columns: 1fr 1fr; padding: 16px; } .al-watch__r > span:first-child { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: reduce) { .al-anim .al-r, .al-anim .is-in .al-r { transition: none; } }

/* ---- v2.1: first screen on every page = text left, form right (text first on phones) ---- */
.al-hero { padding-bottom: clamp(48px, 5vw, 72px); }
.al-herogrid { display: grid; gap: 32px; align-items: start; }
@media (min-width: 1000px) { .al-herogrid { grid-template-columns: minmax(0, 1fr) minmax(400px, 520px); gap: clamp(40px, 6vw, 96px); align-items: center; } }
.al-herotext .al-h1 { max-width: 17ch; }
.al-herotext .al-lede { max-width: 46ch; margin-top: 18px; font-size: clamp(16px, 1.25vw, 19px); }
.al-short { list-style: none; margin: 24px 0 26px; padding: 0; display: grid; gap: 10px; }
.al-short li { position: relative; padding-left: 22px; font-size: 16px; font-weight: 500; }
.al-short li::before { content: ""; position: absolute; left: 0; top: .6em; width: 10px; height: 2px; background: var(--al-coral); }
.al-formwrap--hero .al-formcard.dcc-form { padding: clamp(20px, 2.2vw, 30px); gap: 12px; box-shadow: 0 40px 80px -30px rgb(0 0 0 / .55), inset 0 0 0 1px #eceff3; }
.al-formwrap--hero .dcc-form__t { font-size: 24px; }
.al-body { padding-top: clamp(56px, 6vw, 88px); }
.al-body > .al-h2, .al-body .al-in > .al-h2 { max-width: 22ch; }
.al-center > .al-h2 { max-width: 24ch; text-align: center; }
.al-factsrow { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 32px; width: 100%; text-align: left; }
.al-factsrow li { padding: 14px 0; border-top: 1px solid rgb(17 25 63 / .14); font-size: 15px; font-weight: 500; display: grid; gap: 4px; }
.al-factsrow small { font: 500 11.5px/1.5 var(--al-mono); letter-spacing: .1em; text-transform: uppercase; opacity: .6; }
.al-twocol--files, .al-twocol--doc { align-items: center; }
@media (min-width: 960px) { .al-twocol--files { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } .al-twocol--doc { grid-template-columns: minmax(0, 520px) minmax(0, 1fr); } }
.al-twocol--doc .al-brief { margin: 0; }
/* light-ground readings of dark-ground parts */
.al-s--paper .al-steps3 small, .al-s--paper .al-steps3 span { color: var(--al-ink2); }
.al-s--paper .al-steps3 li::before { background: #cfd5e3; }
.al-s--paper .al-look.al-win { box-shadow: 0 24px 50px -30px rgb(17 25 63 / .5); }
.al-s--paper .al-strip { border-color: #dfe4ea; background: #fff; }
.al-s--paper .al-strip li { border-color: #dfe4ea; }
.al-s--paper .al-strip span { color: var(--al-ink2); }
.al-s--paper .al-win--light { box-shadow: 0 24px 50px -30px rgb(17 25 63 / .35); }
.al-s--paper .al-note, .al-s--light .al-note { color: var(--al-ink2); }
.al-s--paper .al-ba__k, .al-s--light .al-ba__k { color: var(--al-ink2); }
.al-s--light .al-ba__arrow { background: #cfd5e3; }
.al-s--light .al-items--cols { margin-bottom: 8px; }
.al-s--stage .al-leak { margin-bottom: 8px; }
.al-s--ink.al-hero, .al-s--ink { background: #050a2b; }
.al-body .al-win { margin-top: 0; }
.al-s--proof .al-look { margin-top: 28px; }
.al-s--console .al-attck { margin-top: 32px; }
.al-s--wide .al-win { margin-bottom: 0; }
.al-s--paper .al-h2 span, .al-s--light .al-h2 span { color: #5a6283; }
.al-s--night .al-h2:not(.is-dark) { color: #fff; }
.al-s--night .al-h2 span { color: var(--al-on); }
/* heading and text colours win over the theme's global heading colour */
html body .al .al-s--night .al-h1, html body .al .al-s--night .al-short li, html body .al .al-s--night .al-h2, html body .al .al-s--night .al-badge, html body .al .al-s--night .al-items b { color: #fff; }
html body .al .al-s--night .al-h1 span, html body .al .al-s--night .al-h2 span { color: var(--al-on); }
html body .al .al-s--paper .al-h1, html body .al .al-s--light .al-h1, html body .al .al-s--paper .al-h2, html body .al .al-s--light .al-h2, html body .al .al-s--paper .al-short li, html body .al .al-s--light .al-short li, html body .al .al-s--paper .al-items b, html body .al .al-s--light .al-items b { color: var(--al-ink); }
html body .al .al-s--paper .al-h1 span, html body .al .al-s--light .al-h1 span, html body .al .al-s--paper .al-h2 span, html body .al .al-s--light .al-h2 span { color: #5a6283; }
html body .al .al-win { color: var(--w-fg); }
html body .al .al-win--light b, html body .al .al-win--light .al-watch__r b { color: #11193f; }
.page-template-atlas-landing-php .dcc { padding-bottom: 0; }
.al-hero { padding-top: calc(var(--bd4-top, 0px) + clamp(112px, 8vw, 128px)); }
.al-short { margin-top: 22px; }
/* spacing that the theme's list and heading resets would otherwise flatten */
html body .al .al-h2 { margin: 0 0 32px; }
html body .al .al-short { margin: 26px 0 28px; }
html body .al .al-items--cols { margin: 44px 0 0; }
html body .al .al-items--list { margin: 0; }
html body .al .al-factsrow { margin: 56px 0 0; }
html body .al .al-steps3 { margin: 36px 0 28px; }
html body .al .al-inline { margin: 44px 0 0; }
html body .al .al-strip { margin: 8px auto 0; }
html body .al .al-note { margin: 18px 0 0; }
html body .al .al-lede { margin: 20px 0 0; }
html body .al .al-ba { margin: 8px 0 40px; }
html body .al .al-leak { margin: 8px 0 40px; }
/* generated background motif (one per page) behind a dark overlay so text and form stay readable */
.al .al-s.al-bg { background-image: linear-gradient(90deg, rgb(0 3 19 / .82) 0%, rgb(0 3 19 / .55) 50%, rgb(0 3 19 / .22) 100%), var(--al-bgimg); background-size: cover; background-position: center right; background-repeat: no-repeat; }
.al-s--grid.al-bg::before { opacity: .6; }
@media (max-width: 999px) { .al .al-s.al-bg { background-image: linear-gradient(180deg, rgb(0 3 19 / .9) 0%, rgb(0 3 19 / .8) 100%), var(--al-bgimg); } }
.al-attck__matrix { grid-template-columns: repeat(14, 62px); }
@media (min-width: 1100px) { .al-attck__matrix { grid-template-columns: repeat(14, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .al-map__n text { font-size: 19px; } .al-map__n text.s, .al-map__cve text.s { font-size: 14px; } .al-map .d { font-size: 18px; } .al-map__cve text { font-size: 17px; }
}


/* ---- tail sections (tool on ATLAS, how it works, FAQ, closing call to action) ---- */
.al-getlab { margin: 0 0 6px; font: 500 11.5px/1.4 var(--al-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--al-ink2); }
.al-getlab.is-dark, .al-s--night .al-getlab { color: var(--al-on); }
.al-t { padding: clamp(48px, 6vw, 80px) 0; }
.al-t .al-h2 { max-width: 24ch; }
.al-t p { margin: 0; }

/* how it works */
.al-how ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.al-how small { display: block; font: 500 12px/1 var(--al-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--al-coral); }
.al-how b { display: block; margin: 10px 0 8px; font-size: 22px; font-weight: 600; letter-spacing: -.015em; }
.al-how li span { font-size: 16px; line-height: 1.55; color: var(--al-ink2); }
.al-s--night .al-how li span { color: var(--al-on); }
.al-how--row ol { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 8px; }
.al-how--row li { padding-top: 18px; border-top: 2px solid var(--al-ink); }
.al-how--big ol { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0; margin-top: 12px; }
.al-how--big li { padding: 8px 32px 8px 0; }
.al-how--big li + li { padding-left: 32px; border-left: 1px solid var(--al-line); }
.al-how--big small { font-size: clamp(44px, 5vw, 68px); font-weight: 300; letter-spacing: -.02em; color: var(--al-coral); margin-bottom: 14px; }
.al-how--rail { display: grid; gap: 28px; }
.al-how--rail ol { position: relative; gap: 0; }
.al-how--rail ol::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: var(--al-line); }
.al-how--rail li { position: relative; padding: 0 0 28px 36px; }
.al-how--rail li:last-child { padding-bottom: 0; }
.al-how--rail li::before { content: ""; position: absolute; left: 0; top: 2px; width: 11px; height: 11px; border-radius: 50%; background: var(--al-coral); }
.al-how--rail b { margin-top: 8px; }
@media (min-width: 900px) { .al-how--rail { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: start; } .al-how--rail .al-h2 { margin: 0; } }
@media (max-width: 700px) { .al-how--big li, .al-how--big li + li { padding: 22px 0; border-left: 0; } .al-how--big li + li { border-top: 1px solid var(--al-line); } }

/* the tool on ATLAS */
.al-atl { display: grid; gap: 22px; align-items: center; }
.al-atl__t p { max-width: 58ch; font-size: 17px; line-height: 1.55; color: var(--al-ink2); }
.al-s--night .al-atl__t p { color: var(--al-on); }
.al-atl .al-h2 { margin-bottom: 14px; }
.al-atl__a { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.al-btn--line { background: transparent; color: var(--al-ink); border: 1.5px solid var(--al-ink); height: 50px; }
.al-btn--line:hover { background: var(--al-ink); color: #fff; }
.al-btn--line::after { content: "\2197"; }
.al-s--night .al-btn--line { color: #fff; border-color: rgb(255 255 255 / .5); }
.al-s--night .al-btn--line:hover { background: #fff; color: var(--al-night); }
.al-atl__u { font-size: 12.5px; letter-spacing: .04em; color: var(--al-ink2); }
.al-s--night .al-atl__u { color: var(--al-on); }
@media (min-width: 900px) {
  .al-atl { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); }
  .al-atl__a { align-items: flex-start; }
  .al-atl--bar { padding: 28px 32px; border: 1px solid #dfe4ea; border-left: 3px solid var(--al-coral); border-radius: 6px; background: #fff; }
  .al-s--paper .al-atl--bar { background: #fff; }
  .al-atl--bar .al-h2 { font-size: clamp(22px, 2.2vw, 30px); margin-bottom: 8px; }
  .al-atl--bar .al-atl__a { align-items: flex-end; }
}
@media (max-width: 899px) { .al-atl--bar { padding: 22px 20px; border: 1px solid #dfe4ea; border-left: 3px solid var(--al-coral); border-radius: 6px; background: #fff; } }

/* FAQ */
.al-faq { display: grid; gap: 24px; }
.al-faq .al-h2 { margin: 0; }
.al-faq__l details { border-top: 1px solid rgb(17 25 63 / .14); }
.al-faq__l details:last-child { border-bottom: 1px solid rgb(17 25 63 / .14); }
.al-s--night .al-faq__l details { border-color: var(--al-line); }
.al-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
.al-faq summary::-webkit-details-marker { display: none; }
.al-faq summary::after { content: "+"; flex: none; font: 400 24px/1 var(--al-mono); color: var(--al-coral); }
.al-faq details[open] summary::after { content: "\2212"; }
.al-faq details p { padding: 0 40px 22px 0; max-width: 62ch; font-size: 16.5px; line-height: 1.6; color: var(--al-ink2); }
.al-s--night .al-faq details p { color: var(--al-on); }
@media (min-width: 900px) { .al-faq { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(40px, 6vw, 96px); align-items: start; } }

/* closing call to action: a navy card on the section ground */
.al-cc { display: grid; gap: 28px; align-items: center; padding: clamp(28px, 4vw, 56px); border-radius: 8px; background: var(--al-night); color: #fff; }
.al-cc .al-h2 { margin: 0; max-width: 26ch; color: #fff; }
.al-cc__a { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.al-cc__a .bdp { margin: 0; }
@media (min-width: 900px) { .al-cc { grid-template-columns: minmax(0, 1.3fr) auto; gap: 56px; } .al-cc__a { align-items: flex-start; } }
.al-t__after { margin: 22px 0 0; text-align: center; font-size: 15px; }
.al-t__after a { color: var(--al-ink2); text-decoration: underline; text-underline-offset: 3px; }

/* demo: what you get + sample agenda */
.al-twocol--get { align-items: center; }
.al-agenda .al-agenda__r { display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; padding: 16px 20px; border-top: 1px solid var(--w-line); }
.al-agenda .al-agenda__r:first-of-type { border-top: 0; }
.al-agenda i { grid-row: span 2; font-style: normal; font-size: 12px; line-height: 1.9; color: var(--al-coral); }
.al-agenda b { font-size: 17px; font-weight: 600; }
.al-agenda span { font-size: 14.5px; color: var(--w-mut); }

/* attack surface: in-site risk score */
.al-twocol--risk { align-items: center; }
.al-risk__p { max-width: 54ch; margin-bottom: 22px !important; font-size: 17px; line-height: 1.55; color: var(--al-ink2); }
.al-risk__f { display: flex; flex-wrap: wrap; gap: 10px; max-width: 520px; }
.al-risk__f input { flex: 1 1 220px; min-width: 0; height: 54px; padding: 0 16px; border: 1.5px solid #c9d0da; border-radius: 8px; background: #fff; font: 500 17px/1 var(--al-mono); color: var(--al-ink); }
.al-risk__f input:focus { outline: 2px solid var(--al-coral); outline-offset: 1px; }
.al-risk__f .al-btn { border: 0; cursor: pointer; }
.al-risk__f .al-btn::after { content: none; }
.al-risk__n { margin-top: 16px !important; font-size: 15px; color: var(--al-ink2); }
.al-risk__n a { color: var(--al-ink); text-underline-offset: 3px; }
.al-grade__top { display: flex; align-items: center; gap: 18px; padding: 20px; border-bottom: 1px solid var(--w-line); }
.al-grade__g { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 6px; background: var(--al-night); color: #fff; font-size: 34px; font-weight: 500; }
.al-grade__top span { display: block; font: 500 17px/1.3 var(--al-mono); }
.al-grade__top small { display: block; margin-top: 4px; font: 400 13px/1.3 var(--dc-body, 'Urbanist', sans-serif); color: var(--w-mut); }
.al-grade__r { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-top: 1px solid var(--w-line); font-size: 16px; }
.al-grade__r:first-of-type { border-top: 0; }
.al-grade__r b { font-size: 16px; font-weight: 500; color: var(--al-ink); }
@media (max-width: 899px) { .al-risk__f .al-btn { width: 100%; justify-content: center; } .al-cc__a .al-btn { width: 100%; justify-content: center; } }
html body .al .al-cc .al-h2 { color: #fff; }
html body .al .al-cc .al-h2 span { color: var(--al-on); }
.al-s--table .al-getlab, .al-s--stage .al-getlab, .al-s--wide .al-getlab, .al-s--ba .al-getlab, .al-s--console .al-getlab { margin-top: 44px; }
