/*
 * GEXYRAL Hero Design System V1
 * Scope: service + solution + selected About/Contact/Tools pages.
 * Contract: one H1, no forced H1 <br>, natural left-to-right line filling, semantic visual, capability rail.
 */
.gexyral-inner-hero.is-hero-system-v1{
  min-height:760px;
  align-items:center;
  background:
    radial-gradient(circle at 78% 34%,rgba(23,111,230,.17),transparent 28%),
    radial-gradient(circle at 54% 100%,rgba(20,93,196,.09),transparent 34%),
    linear-gradient(150deg,#020713 8%,#051126 60%,#020713 100%);
}
.gexyral-inner-hero.is-hero-system-v1::before{
  background:linear-gradient(90deg,rgba(2,7,19,.96) 0%,rgba(2,7,19,.76) 48%,rgba(2,7,19,.70) 70%,rgba(2,7,19,.88) 100%);
}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-hero-content{
  padding:112px 0 72px;
}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-breadcrumb{
  margin-bottom:30px;
  color:#667993;
}
.gexyral-hero-system-stage{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  align-items:center;
  gap:clamp(52px,5vw,86px);
}
.gexyral-hero-system-copy{min-width:0}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-eyebrow{
  max-width:100%;
  color:#45adff;
  font-size:12px;
  line-height:1.55;
  letter-spacing:.18em;
  font-weight:650;
}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-eyebrow::before{width:30px}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  min-width:0;
  margin:22px 0 24px;
  color:#f7f9ff;
  font-size:clamp(52px,4.15vw,72px);
  line-height:1.045;
  letter-spacing:-.052em;
  font-weight:720;
  white-space:normal;
  text-wrap:wrap;
  text-wrap-style:auto;
  word-break:normal;
  overflow-wrap:normal;
}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy>p{
  max-width:665px;
  margin:0;
  color:#9baac0;
  font-size:16px;
  line-height:1.88;
  text-wrap:pretty;
}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-hero-actions{margin-top:32px}
.gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-btn{
  min-width:176px;
  height:52px;
  border-radius:11px;
}
.gexyral-hero-system-visual{
  position:relative;
  min-height:430px;
  padding:24px 24px 20px;
  border:1px solid rgba(75,145,239,.18);
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(9,30,66,.62),rgba(3,13,30,.52)),
    radial-gradient(circle at 50% 48%,rgba(35,143,255,.14),transparent 33%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 30px 80px rgba(0,0,0,.22);
}
.gexyral-hero-system-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(65,139,231,.052) 1px,transparent 1px),
    linear-gradient(90deg,rgba(65,139,231,.052) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent);
}
.gexyral-hero-system-visual::after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  left:50%;top:54%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(48,146,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 44px rgba(48,146,255,.018),0 0 70px rgba(48,146,255,.07);
}
.gexyral-hero-system-visual-head,
.gexyral-hero-system-visual-title,
.gexyral-hero-system-map,
.gexyral-hero-system-visual-foot{position:relative;z-index:2}
.gexyral-hero-system-visual-head{
  display:flex;align-items:center;justify-content:space-between;
  color:#5a718f;font-size:9px;letter-spacing:.24em;
}
.gexyral-hero-system-visual-head i{width:7px;height:7px;border-radius:50%;background:#45d5a8;box-shadow:0 0 0 5px rgba(69,213,168,.07),0 0 16px rgba(69,213,168,.36)}
.gexyral-hero-system-visual-title{
  margin-top:12px;
  color:#aec3dc;
  font-size:13px;
  letter-spacing:.04em;
}
.gexyral-hero-system-map{height:294px;margin-top:8px}
.gexyral-hero-system-core,
.gexyral-hero-system-node{
  position:absolute;
  border:1px solid rgba(68,143,239,.24);
  background:rgba(5,22,49,.88);
  box-shadow:0 16px 35px rgba(0,0,0,.18);
}
.gexyral-hero-system-core{
  left:50%;top:50%;
  width:132px;height:132px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  border-color:rgba(57,159,255,.42);
  box-shadow:0 0 0 14px rgba(34,135,255,.035),0 20px 45px rgba(0,0,0,.24);
}
.gexyral-hero-system-core small{color:#398ed9;font-size:8px;letter-spacing:.24em}
.gexyral-hero-system-core strong{margin-top:7px;color:#e8f4ff;font-size:13px;letter-spacing:.06em}
.gexyral-hero-system-core em{margin-top:8px;color:#54708f;font-size:8px;font-style:normal}
.gexyral-hero-system-node{
  min-width:108px;
  min-height:52px;
  padding:9px 12px;
  border-radius:14px;
  display:flex;align-items:center;gap:9px;
  color:#91a8c3;
}
.gexyral-hero-system-node b{color:#2f9fff;font-size:8px;font-weight:600;letter-spacing:.08em}
.gexyral-hero-system-node span{font-size:11px;white-space:nowrap}
.gexyral-hero-system-node.is-node-1{left:0;top:28px}
.gexyral-hero-system-node.is-node-2{right:0;top:72px}
.gexyral-hero-system-node.is-node-3{left:18px;bottom:20px}
.gexyral-hero-system-line{position:absolute;z-index:-1;height:1px;transform-origin:left center;background:linear-gradient(90deg,rgba(53,151,255,.08),rgba(53,151,255,.38),rgba(53,151,255,.06))}
.gexyral-hero-system-line::after{content:"";position:absolute;right:23%;top:-2px;width:5px;height:5px;border-radius:50%;background:#299eff;box-shadow:0 0 12px rgba(41,158,255,.7)}
.gexyral-hero-system-line.is-line-1{width:42%;left:18%;top:33%;transform:rotate(18deg)}
.gexyral-hero-system-line.is-line-2{width:40%;left:54%;top:48%;transform:rotate(-22deg)}
.gexyral-hero-system-line.is-line-3{width:40%;left:20%;top:73%;transform:rotate(-18deg)}
.gexyral-hero-system-visual-foot{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  padding-top:14px;border-top:1px solid rgba(65,132,220,.13);
  color:#516783;font-size:7px;letter-spacing:.12em;text-align:center;
}
.gexyral-hero-capability-rail{
  margin-top:42px;
  padding-top:18px;
  border-top:1px solid rgba(66,132,224,.14);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:760px;
}
.gexyral-hero-capability-rail>span{
  min-width:0;
  display:flex;align-items:center;gap:11px;
  padding:4px 18px 4px 0;
  color:#7589a5;
}
.gexyral-hero-capability-rail>span+span{padding-left:18px;border-left:1px solid rgba(68,132,222,.13)}
.gexyral-hero-capability-rail b{color:#2f9fff;font-size:8px;font-weight:600;letter-spacing:.12em}
.gexyral-hero-capability-rail em{font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1180px){
  .gexyral-hero-system-stage{grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:44px}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy h1{font-size:clamp(48px,4.5vw,64px)}
  .gexyral-hero-system-visual{min-height:390px;padding:21px}
  .gexyral-hero-system-map{height:260px}
  .gexyral-hero-system-node{min-width:96px;padding:8px 10px}
}
@media(max-width:980px){
  .gexyral-inner-hero.is-hero-system-v1{min-height:700px}
  .gexyral-hero-system-stage{grid-template-columns:1fr;gap:0}
  .gexyral-hero-system-visual{display:none}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy h1{width:100%;max-width:none;font-size:clamp(48px,6vw,64px)}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy>p{max-width:720px}
  .gexyral-hero-capability-rail{max-width:820px}
}
@media(max-width:600px){
  .gexyral-inner-hero.is-hero-system-v1{min-height:0;align-items:flex-start}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-hero-content{padding:122px 0 72px}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-breadcrumb{margin-bottom:28px}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.7}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-eyebrow::before{width:22px}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy h1{margin:18px 0 20px;font-size:38px;line-height:1.1;letter-spacing:-.045em}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-hero-system-copy>p{font-size:14px;line-height:1.82}
  .gexyral-inner-hero.is-hero-system-v1 .gexyral-inner-hero-actions{margin-top:28px}
  .gexyral-hero-capability-rail{margin-top:32px;padding-top:10px;grid-template-columns:1fr}
  .gexyral-hero-capability-rail>span{min-height:38px;padding:4px 0}
  .gexyral-hero-capability-rail>span+span{padding-left:0;border-left:0;border-top:1px solid rgba(68,132,222,.11)}
  .gexyral-hero-capability-rail em{font-size:10px}
}
/* HERO-01B-1: compressed full-width banner visual layer.
 * Inspired by the resource hub's image-led first screen, but keeps
 * service/solution conversion copy, CTA and capability rail.
 */
.gexyral-hero-banner-image{
  /* Route-specific desktop framing comes from the inline CSS variable.
   * Family media queries can now override object-position normally.
   * Previously object-position itself was inline, which made the
   * city/case/resource/insight/legal/request mobile crop rules unreachable.
   */
  object-position:var(--gexyral-hero-position,center);
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1{
  min-height:720px;
  isolation:isolate;
  background:#020713;
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1::before{
  z-index:-1;
  background:
    linear-gradient(90deg,
      rgba(2,7,19,.99) 0%,
      rgba(2,7,19,.97) 26%,
      rgba(2,7,19,.88) 47%,
      rgba(2,7,19,.48) 72%,
      rgba(2,7,19,.22) 100%),
    linear-gradient(180deg,rgba(2,7,19,.12),rgba(2,7,19,.38));
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-hero-media{
  position:absolute;
  inset:0;
  z-index:-3;
  overflow:hidden;
  background:#020713;
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(2,7,19,.76) 0%,rgba(2,7,19,.22) 60%,rgba(2,7,19,.05) 100%),
    linear-gradient(180deg,rgba(2,7,19,.10),rgba(2,7,19,.32));
  pointer-events:none;
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.94;
  filter:saturate(.94) contrast(1.04);
  transform:scale(1.008);
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-hero-grid{
  opacity:.38;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 48%,transparent 92%);
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-system-stage.is-banner-stage{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-system-copy{
  width:100%;
  max-width:none;
  min-width:0;
  padding:8px 0 4px;
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  min-width:0;
  white-space:normal;
  text-wrap:wrap;
  text-wrap-style:auto;
  word-break:normal;
  overflow-wrap:normal;
  text-shadow:0 12px 36px rgba(0,0,0,.22);
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-system-copy>p{
  max-width:650px;
  color:#a4b2c6;
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-capability-rail{
  max-width:820px;
  margin-top:38px;
  border-top-color:rgba(122,172,238,.16);
  background:linear-gradient(90deg,rgba(4,18,40,.22),transparent);
}
.gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-scroll-hint{
  opacity:.72;
}

@media(max-width:980px){
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1{
    min-height:690px;
  }
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1::before{
    background:
      linear-gradient(90deg,rgba(2,7,19,.98) 0%,rgba(2,7,19,.92) 46%,rgba(2,7,19,.60) 100%),
      linear-gradient(180deg,rgba(2,7,19,.16),rgba(2,7,19,.44));
  }
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-hero-media img{
    opacity:.72;
    width:122%;
    left:auto;
    right:-18%;
  }
}
@media(max-width:600px){
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1{
    min-height:0;
  }
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1::before{
    background:
      linear-gradient(90deg,rgba(2,7,19,.985),rgba(2,7,19,.86)),
      linear-gradient(180deg,rgba(2,7,19,.20),rgba(2,7,19,.56));
  }
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-inner-hero-media img{
    width:150%;
    right:-48%;
    opacity:.50;
    filter:saturate(.84) contrast(1.02);
  }
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-system-copy h1{
    max-width:none;
  }
  .gexyral-inner-hero.is-hero-system-v1.has-hero-banner-v1 .gexyral-hero-capability-rail{
    background:none;
  }
}


/* HERO-03B: About / Contact / Tools visual families.
 * Same structural design system, different first-screen emphasis by page purpose.
 */
.gexyral-inner-hero.is-hero-about-v1.has-hero-banner-v1{
  min-height:710px;
}
.gexyral-inner-hero.is-hero-about-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.99) 0%,rgba(2,7,19,.95) 30%,rgba(2,7,19,.80) 52%,rgba(2,7,19,.34) 78%,rgba(2,7,19,.16) 100%),
    linear-gradient(180deg,rgba(2,7,19,.10),rgba(2,7,19,.40));
}
.gexyral-inner-hero.is-hero-about-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  min-width:0;
}
.gexyral-inner-hero.is-hero-about-v1 .gexyral-inner-eyebrow{
  color:#67c8ff;
}

.gexyral-inner-hero.is-hero-contact-v1.has-hero-banner-v1{
  min-height:690px;
}
.gexyral-inner-hero.is-hero-contact-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.995) 0%,rgba(2,7,19,.965) 34%,rgba(2,7,19,.84) 56%,rgba(2,7,19,.38) 82%,rgba(2,7,19,.20) 100%),
    linear-gradient(180deg,rgba(2,7,19,.12),rgba(2,7,19,.42));
}
.gexyral-inner-hero.is-hero-contact-v1 .gexyral-hero-system-copy{
  width:100%;
  max-width:none;
  min-width:0;
}
.gexyral-inner-hero.is-hero-contact-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  min-width:0;
}
.gexyral-inner-hero.is-hero-contact-v1 .gexyral-hero-capability-rail{
  max-width:760px;
}

.gexyral-inner-hero.is-hero-tool-v1.has-hero-banner-v1{
  min-height:680px;
}
.gexyral-inner-hero.is-hero-tool-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.995) 0%,rgba(2,7,19,.95) 28%,rgba(2,7,19,.78) 54%,rgba(2,7,19,.28) 80%,rgba(2,7,19,.14) 100%),
    linear-gradient(180deg,rgba(2,7,19,.10),rgba(2,7,19,.38));
}
.gexyral-inner-hero.is-hero-tool-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  min-width:0;
}
.gexyral-inner-hero.is-hero-tool-v1 .gexyral-hero-capability-rail{
  padding:12px 14px 10px;
  border:1px solid rgba(91,160,248,.13);
  border-radius:14px;
  background:linear-gradient(90deg,rgba(8,31,66,.34),rgba(4,17,39,.12));
}
.gexyral-inner-hero.is-hero-tool-v1 .gexyral-hero-capability-rail>span+span{
  border-left-color:rgba(91,160,248,.12);
}

@media(max-width:600px){
  .gexyral-inner-hero.is-hero-about-v1.has-hero-banner-v1,
  .gexyral-inner-hero.is-hero-contact-v1.has-hero-banner-v1,
  .gexyral-inner-hero.is-hero-tool-v1.has-hero-banner-v1{
    min-height:0;
  }
  .gexyral-inner-hero.is-hero-tool-v1 .gexyral-hero-capability-rail{
    padding:8px 12px;
  }
}


/* HERO-03C: nationwide city-service network family.
 * The map expresses remote service coverage / regional industry context,
 * not local offices, branches or physical presence.
 */
.gexyral-inner-hero.is-hero-city-v1.has-hero-banner-v1{
  min-height:700px;
}
.gexyral-inner-hero.is-hero-city-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.995) 0%,rgba(2,7,19,.965) 31%,rgba(2,7,19,.82) 54%,rgba(2,7,19,.34) 80%,rgba(2,7,19,.18) 100%),
    linear-gradient(180deg,rgba(2,7,19,.08),rgba(2,7,19,.42));
}
.gexyral-inner-hero.is-hero-city-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  min-width:0;
}
.gexyral-inner-hero.is-hero-city-v1 .gexyral-inner-eyebrow{
  color:#75cdfb;
}
.gexyral-inner-hero.is-hero-city-v1 .gexyral-hero-capability-rail{
  max-width:790px;
  border-color:rgba(84,169,235,.12);
  background:linear-gradient(90deg,rgba(5,30,61,.28),rgba(3,16,36,.08));
}
.gexyral-inner-hero.is-hero-city-v1 .gexyral-hero-banner-image{
  object-position:78% center;
}
@media(max-width:980px){
  .gexyral-inner-hero.is-hero-city-v1 .gexyral-hero-banner-image{
    object-position:68% center;
    opacity:.78;
  }
}
@media(max-width:600px){
  .gexyral-inner-hero.is-hero-city-v1.has-hero-banner-v1{
    min-height:0;
  }
  .gexyral-inner-hero.is-hero-city-v1 .gexyral-hero-banner-image{
    object-position:64% center;
    opacity:.68;
  }
}


/* HERO-04B: Case / project proof family.
 * Real project UI/device media is composed into each banner.
 * No fabricated client metrics, logos, office claims or text baked into images.
 */
.gexyral-inner-hero.is-hero-case-v1.has-hero-banner-v1{
  min-height:720px;
}
.gexyral-inner-hero.is-hero-case-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.995) 0%,rgba(2,7,19,.965) 31%,rgba(2,7,19,.82) 54%,rgba(2,7,19,.30) 80%,rgba(2,7,19,.14) 100%),
    linear-gradient(180deg,rgba(2,7,19,.07),rgba(2,7,19,.40));
}
.gexyral-inner-hero.is-hero-case-v1 .gexyral-hero-system-copy h1{
  width:100%;
  max-width:none;
  white-space:normal;
  text-wrap:wrap;
  text-wrap-style:auto;
  word-break:normal;
  overflow-wrap:normal;
}
.gexyral-inner-hero.is-hero-case-v1 .gexyral-hero-system-copy p{
  max-width:675px;
  text-wrap: balance;
  word-break: keep-all;
}
.gexyral-inner-hero.is-hero-case-v1 .gexyral-inner-eyebrow{
  color:#78d2ff;
}
.gexyral-inner-hero.is-hero-case-v1 .gexyral-hero-capability-rail{
  max-width:820px;
  border-color:rgba(83,177,243,.12);
  background:linear-gradient(90deg,rgba(5,31,65,.26),rgba(3,16,36,.08));
}
.gexyral-inner-hero.is-hero-case-v1 .gexyral-hero-banner-image{
  object-position:78% center;
}
@media(max-width:980px){
  .gexyral-inner-hero.is-hero-case-v1 .gexyral-hero-banner-image{
    object-position:68% center;
    opacity:.80;
  }
}
@media(max-width:600px){
  .gexyral-inner-hero.is-hero-case-v1.has-hero-banner-v1{
    min-height:0;
  }
  .gexyral-inner-hero.is-hero-case-v1 .gexyral-hero-banner-image{
    object-position:66% center;
    opacity:.67;
  }
}


/* HERO-04C: Resource detail / document family.
 * Existing document cover is the visual anchor.
 * /resources hub intentionally remains on its dedicated resource-hub hero contract.
 */
.gexyral-inner-hero.is-hero-resource-v1.has-hero-banner-v1{min-height:660px}
.gexyral-inner-hero.is-hero-resource-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.995) 0%,rgba(2,7,19,.97) 34%,rgba(2,7,19,.84) 57%,rgba(2,7,19,.32) 82%,rgba(2,7,19,.16) 100%),
    linear-gradient(180deg,rgba(2,7,19,.08),rgba(2,7,19,.42));
}
.gexyral-inner-hero.is-hero-resource-v1 .gexyral-hero-system-copy h1{width:100%;max-width:none;white-space:normal;text-wrap:wrap;text-wrap-style:auto;word-break:normal;overflow-wrap:normal}
.gexyral-inner-hero.is-hero-resource-v1 .gexyral-hero-system-copy p{max-width:680px}
.gexyral-inner-hero.is-hero-resource-v1 .gexyral-inner-eyebrow{color:#9bdcff}
.gexyral-inner-hero.is-hero-resource-v1 .gexyral-hero-capability-rail{
  max-width:790px;border-color:rgba(111,182,232,.11);
  background:linear-gradient(90deg,rgba(9,34,65,.24),rgba(3,16,36,.07));
}
.gexyral-inner-hero.is-hero-resource-v1 .gexyral-hero-banner-image{object-position:79% center}
@media(max-width:980px){
  .gexyral-inner-hero.is-hero-resource-v1 .gexyral-hero-banner-image{object-position:69% center;opacity:.80}
}
@media(max-width:600px){
  .gexyral-inner-hero.is-hero-resource-v1.has-hero-banner-v1{min-height:0}
  .gexyral-inner-hero.is-hero-resource-v1 .gexyral-hero-banner-image{object-position:67% center;opacity:.66}
}



/* HERO-05B: final formal inner-page families.
 * Category pages inherit their existing Case / Resource family.
 * Legal + utility stay compact and neutral; project request remains conversion-oriented.
 */
.gexyral-inner-hero.is-hero-legal-v1.has-hero-banner-v1{
  min-height:520px;
}
.gexyral-inner-hero.is-hero-legal-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.997) 0%,rgba(2,7,19,.975) 39%,rgba(2,7,19,.88) 61%,rgba(2,7,19,.48) 82%,rgba(2,7,19,.30) 100%),
    linear-gradient(180deg,rgba(2,7,19,.06),rgba(2,7,19,.34));
}
.gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-system-stage{
  min-height:400px;
  padding-top:72px;
  padding-bottom:52px;
}
.gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-system-copy h1{width:100%;max-width:none;min-width:0}
.gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-system-copy p{max-width:680px}
.gexyral-inner-hero.is-hero-legal-v1 .gexyral-inner-eyebrow{color:#9bcfe7}
.gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-capability-rail{
  max-width:760px;
  border-color:rgba(125,184,215,.08);
  background:linear-gradient(90deg,rgba(10,28,50,.17),rgba(3,16,34,.04));
}
.gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-banner-image{
  object-position:80% center;
  opacity:.78;
  filter:saturate(.62) contrast(.98);
}

.gexyral-inner-hero.is-hero-request-v1.has-hero-banner-v1{
  min-height:650px;
}
.gexyral-inner-hero.is-hero-request-v1.has-hero-banner-v1::before{
  background:
    linear-gradient(90deg,rgba(2,7,19,.997) 0%,rgba(2,7,19,.97) 35%,rgba(2,7,19,.82) 57%,rgba(2,7,19,.34) 82%,rgba(2,7,19,.17) 100%),
    linear-gradient(180deg,rgba(2,7,19,.06),rgba(2,7,19,.38));
}
.gexyral-inner-hero.is-hero-request-v1 .gexyral-hero-system-copy h1{width:100%;max-width:none;min-width:0}
.gexyral-inner-hero.is-hero-request-v1 .gexyral-hero-system-copy p{max-width:690px}
.gexyral-inner-hero.is-hero-request-v1 .gexyral-inner-eyebrow{color:#82ddff}
.gexyral-inner-hero.is-hero-request-v1 .gexyral-hero-capability-rail{
  max-width:820px;
  border-color:rgba(82,196,240,.12);
  background:linear-gradient(90deg,rgba(6,39,70,.24),rgba(3,16,34,.05));
}
.gexyral-inner-hero.is-hero-request-v1 .gexyral-hero-banner-image{object-position:79% center}

@media(max-width:980px){
  .gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-banner-image,
  .gexyral-inner-hero.is-hero-request-v1 .gexyral-hero-banner-image{
    object-position:69% center;
    opacity:.66;
  }
}
@media(max-width:600px){
  .gexyral-inner-hero.is-hero-legal-v1.has-hero-banner-v1,
  .gexyral-inner-hero.is-hero-request-v1.has-hero-banner-v1{min-height:0}
  .gexyral-inner-hero.is-hero-legal-v1 .gexyral-hero-system-stage,
  .gexyral-inner-hero.is-hero-request-v1 .gexyral-hero-system-stage{
    min-height:0;
    padding-top:56px;
    padding-bottom:42px;
  }
}


/* GLOBAL CONTENT HERO NATURAL FLOW B02
 * Content-family local contract. Shared final authority remains gexyral-hero-layout.css.
 * Keep paragraph reading widths unchanged; only heading line distribution is normalized.
 */
