/* Shared light, full-bleed heroes. Scoped to the seven illustrated column pages. */
.column-hero { position:relative; isolation:isolate; overflow:hidden; color:#101c32; background:linear-gradient(120deg,#fff 20%,#f6f9ff 75%,#eef4ff); padding:64px 0; }
.column-hero .column-hero-grid { display:block; }
.column-hero .column-hero-copy { position:relative; z-index:2; min-width:0; }
.column-hero h1 { margin:20px 0; color:#101c32; font-size:clamp(40px,3.5vw,52px); line-height:1.25; letter-spacing:-1.5px; }
.column-hero h1 em,.column-hero .column-hero-accent { color:#235de2; font-style:normal; }
.column-hero .column-hero-copy>p { max-width:600px; margin:0; color:#526078; font-size:16px; line-height:1.9; }
.column-hero .eyebrow,.column-hero :is(.local-kicker,.about-kicker,.contact-kicker) { display:inline-flex; align-items:center; padding:6px 12px; border:1px solid #dce7fa; border-radius:24px; color:#315da6; background:#edf4ff; font-size:11px; letter-spacing:.6px; box-shadow:none; }
.column-hero .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:28px 0 0; }
.column-hero .btn { min-height:46px; padding:0 24px; color:#fff; background:#225ced; box-shadow:0 8px 20px rgba(34,92,237,.15); }
.column-hero .btn:hover { background:#1749c6; }
.column-hero .btn-outline { color:#285ab8; border:1px solid #cbd9f0; background:rgba(255,255,255,.85); box-shadow:none; }
.column-hero .btn-outline:hover { color:#fff; background:#225ced; }
.column-hero .hero-actions>a:not(.btn) { color:#365783; font-weight:650; font-size:14px; }
.column-hero .hero-actions>a:focus-visible { outline:3px solid #1b51d3; outline-offset:5px; }
.column-hero .column-hero-copy .mini-trust { margin-top:25px; display:flex; flex-wrap:wrap; gap:9px 16px; color:#53647e; }
.column-hero .column-hero-copy .mini-trust span { display:inline-flex; align-items:center; min-height:28px; padding:0; border:0; border-radius:0; color:#53647e; background:none; font-size:12px; font-weight:500; line-height:1.5; box-shadow:none; backdrop-filter:none; }
.column-hero .column-hero-copy .mini-trust span::before { content:""; width:5px; height:5px; flex:none; margin-right:8px; border-radius:50%; background:#5687e8; box-shadow:none; }
.column-hero .contact-hero-note { color:#526078; margin-top:24px; }
.column-hero-art { display:block; pointer-events:none; }
.column-hero-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:right center; }
@media(min-width:1001px) {
  .column-hero { display:grid; align-items:center; min-height:560px; }
  .column-hero .column-hero-copy { width:51%; max-width:605px; }
  .column-hero .column-hero-art { position:absolute; z-index:0; inset:0 0 0 auto; width:min(100%,1600px); height:100%; margin:0; mask-image:linear-gradient(90deg,transparent,#000 24%); }
  .column-hero .column-hero-art:is(.column-hero-art--security,.column-hero-art--enterprise,.column-hero-art--consultation) { width:min(82%,1310px); }
  .column-hero .column-hero-art--email { width:min(70%,1120px); }
  .column-hero::after { content:""; position:absolute; z-index:1; inset:0; width:auto; height:auto; border:0; border-radius:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.82) 32%,rgba(255,255,255,.16) 57%,transparent 74%),linear-gradient(0deg,#fff,transparent 12%); }
}
@media(max-width:1000px) {
  .column-hero { padding:44px 0 22px; background:linear-gradient(180deg,#fff,#f3f7ff 75%,#fff); }
  .column-hero::after { content:none; }
  .column-hero .column-hero-copy { width:100%; max-width:680px; margin-inline:auto; }
  .column-hero .column-hero-art { position:relative; width:calc(100% - 40px); max-width:620px; aspect-ratio:1.8; margin:24px auto 0; overflow:hidden; mask-image:linear-gradient(0deg,transparent,#000 14%,#000 86%,transparent); }
  .column-hero-art img { mix-blend-mode:multiply; }
}
@media(max-width:600px) {
  .column-hero { padding-top:34px; }
  .column-hero h1 { font-size:clamp(28px,8.2vw,36px); line-height:1.3; letter-spacing:-.8px; margin:16px 0; }
  .column-hero .column-hero-copy>p { font-size:14px; line-height:1.85; }
  .column-hero .hero-actions { align-items:stretch; gap:10px; margin-top:22px; }
  .column-hero .column-hero-copy .mini-trust { margin-top:18px; gap:7px 12px; }
  .column-hero .column-hero-copy .mini-trust span { font-size:11px; }
  .column-hero .column-hero-art { width:100%; margin-top:14px; }
}
