/* GA Applications — industry-specific story systems.
   This layer keeps the shared navigation and accessibility foundation while
   giving each operating model its own composition, rhythm and visual signal. */

.nx-industries{
  --nx-accent:var(--industry-accent,#b9f23f);
  --nx-accent-ink:var(--industry-accent-ink,#0d1412);
  --industry-soft:color-mix(in srgb,var(--industry-accent) 12%,var(--nx-bg));
  --industry-line:color-mix(in srgb,var(--industry-accent) 30%,var(--nx-line));
}
.nx-industries .nx-main{background:var(--nx-bg)}
.nx-industries .nx-hero{
  min-height:min(850px,calc(100vh - 80px));
  display:grid;
  align-items:center;
  padding-block:clamp(3.8rem,6.5vw,6.8rem);
  background:
    radial-gradient(circle at 82% 16%,color-mix(in srgb,var(--industry-accent) 13%,transparent),transparent 28%),
    linear-gradient(145deg,var(--nx-bg),color-mix(in srgb,var(--nx-panel) 80%,var(--nx-bg)));
}
.nx-industries .nx-hero::before{background:none}
.nx-industries .nx-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.52;
}
.nx-industries .nx-hero-grid{gap:clamp(2rem,4vw,4.5rem)}
.nx-industries .nx-display{
  max-width:20ch;
  font-size:clamp(2.65rem,4.25vw,4.45rem);
  line-height:.97;
}
.nx-industries .nx-display em{display:inline;color:var(--industry-accent);font-size:.72em}
.nx-industries .nx-lead{max-width:68ch;font-size:clamp(1rem,1.25vw,1.16rem)}
.nx-industries .nx-statband{border-color:var(--industry-line)}
.nx-industries .nx-stat{background:color-mix(in srgb,var(--nx-panel) 82%,transparent)}
.nx-industries .nx-console{
  border-color:var(--industry-line);
  box-shadow:0 28px 90px color-mix(in srgb,var(--industry-accent) 16%,#0006);
}
.nx-industries .nx-stage-tabs button[aria-selected=true],
.nx-industries .nx-btn-primary{background:var(--industry-accent);border-color:var(--industry-accent);color:var(--industry-accent-ink)}
.nx-industries .nx-eyebrow,.nx-industries .nx-index{color:var(--industry-accent)}

.industry-pulse{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.8rem 1.2rem;
  align-items:start;
  margin-top:1rem;
  padding:1rem 1.05rem;
  border:1px solid var(--industry-line);
  border-radius:.8rem;
  background:color-mix(in srgb,var(--industry-soft) 72%,transparent);
}
.industry-pulse strong{
  color:var(--industry-accent);
  font:700 .63rem/1.25 var(--nx-mono);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.industry-pulse span{color:var(--nx-muted);font-size:.78rem;line-height:1.48}

.nx-industries .nx-section{position:relative;overflow:hidden}
.nx-industries .nx-section-grid{position:relative}
.nx-industries .nx-card{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--industry-accent) 18%,var(--nx-line));
}
.nx-industries .nx-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-42px;
  width:92px;
  height:92px;
  border:1px solid var(--industry-line);
  border-radius:50%;
}
.nx-industries .nx-card:hover{border-color:var(--industry-accent);transform:translateY(-3px)}
.nx-industries .nx-route:hover{border-color:var(--industry-accent)}

/* Site and project delivery: datum lines, work packages, field-to-office flow. */
.nx-industries[data-industry-mode="field"] .nx-hero::after{
  background-image:
    linear-gradient(90deg,transparent 49.8%,var(--industry-line) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 49.8%,var(--industry-line) 50%,transparent 50.2%);
  background-size:96px 96px;
  mask-image:linear-gradient(90deg,transparent 38%,#000 76%);
}
.nx-industries[data-industry-mode="field"] .nx-console{border-radius:.25rem;transform:rotate(-.7deg)}
.nx-industries[data-industry-mode="field"] .nx-console::after{
  content:"FIELD / OFFICE";
  position:absolute;
  left:-2.2rem;
  bottom:2.1rem;
  color:var(--industry-accent);
  font:700 .55rem var(--nx-mono);
  letter-spacing:.14em;
  transform:rotate(-90deg);
}
.nx-industries[data-industry-mode="field"] .nx-section:nth-child(2) .nx-section-grid{grid-template-columns:minmax(0,1.28fr) minmax(250px,.72fr)}
.nx-industries[data-industry-mode="field"] .nx-section:nth-child(2) .nx-section-head{order:2}

/* Mobile and distributed operations: route arcs, resilient hand-offs. */
.nx-industries[data-industry-mode="mobile"] .nx-hero::after{
  background:
    radial-gradient(ellipse at 86% 42%,transparent 0 18%,var(--industry-line) 18.2% 18.6%,transparent 18.8% 29%,var(--industry-line) 29.2% 29.6%,transparent 29.8%),
    linear-gradient(110deg,transparent 58%,color-mix(in srgb,var(--industry-accent) 12%,transparent));
}
.nx-industries[data-industry-mode="mobile"] .nx-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)}
.nx-industries[data-industry-mode="mobile"] .nx-console{border-radius:2.2rem 2.2rem .5rem 2.2rem}
.nx-industries[data-industry-mode="mobile"] .nx-stage-tabs{grid-template-columns:1fr}
.nx-industries[data-industry-mode="mobile"] .nx-stage-card{min-height:150px;border-radius:1.4rem}
.nx-industries[data-industry-mode="mobile"] .nx-card-grid{grid-template-columns:repeat(3,1fr)}
.nx-industries[data-industry-mode="mobile"] .nx-card{min-height:260px;border-radius:1.4rem}
.nx-industries[data-industry-mode="mobile"] .nx-card:nth-child(3n){grid-column:auto}

/* Production and commerce: precise modular bands and state transitions. */
.nx-industries[data-industry-mode="production"] .nx-hero::after{
  background:repeating-linear-gradient(90deg,transparent 0 58px,var(--industry-line) 59px 60px);
  mask-image:linear-gradient(90deg,transparent 52%,#000);
}
.nx-industries[data-industry-mode="production"] .nx-console{border-radius:0;box-shadow:12px 12px 0 color-mix(in srgb,var(--industry-accent) 34%,transparent)}
.nx-industries[data-industry-mode="production"] .nx-stage-tabs{display:flex;overflow:auto}
.nx-industries[data-industry-mode="production"] .nx-stage-tabs button{flex:1 0 145px;border-radius:0}
.nx-industries[data-industry-mode="production"] .nx-stage-card{border-radius:0}
.nx-industries[data-industry-mode="production"] .nx-section-grid{grid-template-columns:1fr}
.nx-industries[data-industry-mode="production"] .nx-section-head{display:grid;grid-template-columns:.25fr 1fr .8fr;gap:1.5rem;max-width:none;align-items:start}
.nx-industries[data-industry-mode="production"] .nx-section-head p{margin:0}
.nx-industries[data-industry-mode="production"] .nx-card-grid{grid-template-columns:repeat(3,1fr)}
.nx-industries[data-industry-mode="production"] .nx-card:nth-child(3n){grid-column:auto}

/* Trust-led services: calmer editorial spacing and permission hierarchy. */
.nx-industries[data-industry-mode="trust"] .nx-hero::after{
  background:
    radial-gradient(circle at 78% 34%,transparent 0 16%,var(--industry-line) 16.2% 16.6%,transparent 16.8%),
    radial-gradient(circle at 78% 34%,transparent 0 27%,var(--industry-line) 27.2% 27.5%,transparent 27.7%);
}
.nx-industries[data-industry-mode="trust"] .nx-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr)}
.nx-industries[data-industry-mode="trust"] .nx-console{border-radius:14rem 14rem 1rem 1rem;padding:2rem 1.3rem 1.3rem}
.nx-industries[data-industry-mode="trust"] .nx-console::before{right:50%;transform:translateX(50%);border-radius:999px}
.nx-industries[data-industry-mode="trust"] .nx-section-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}
.nx-industries[data-industry-mode="trust"] .nx-card{border-radius:1.6rem;min-height:230px}
.nx-industries[data-industry-mode="trust"] .nx-card:nth-child(3n){grid-column:2}

/* Place and experience: cinematic framing with a clear booking path. */
.nx-industries[data-industry-mode="experience"] .nx-hero{
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--nx-bg) 94%,transparent) 0 54%,transparent 72%),
    radial-gradient(circle at 84% 35%,color-mix(in srgb,var(--industry-accent) 34%,transparent),transparent 35%),
    linear-gradient(145deg,var(--nx-bg),var(--industry-soft));
}
.nx-industries[data-industry-mode="experience"] .nx-hero::after{
  background:linear-gradient(120deg,transparent 0 64%,var(--industry-line) 64.2% 64.6%,transparent 64.8%);
}
.nx-industries[data-industry-mode="experience"] .nx-console{border-radius:50% 50% 1rem 1rem;padding-top:2.3rem}
.nx-industries[data-industry-mode="experience"] .nx-card-grid{grid-template-columns:1.15fr .85fr}
.nx-industries[data-industry-mode="experience"] .nx-card:first-child{grid-row:span 2;min-height:430px}
.nx-industries[data-industry-mode="experience"] .nx-card:nth-child(3n){grid-column:auto}

/* Per-industry colour identities. */
.nx-industries[data-industry-key="construction"]{--industry-accent:#f2b544;--industry-accent-ink:#171006}
.nx-industries[data-industry-key="civil-infrastructure"]{--industry-accent:#7bd7ff;--industry-accent-ink:#06151d}
.nx-industries[data-industry-key="traffic-management"]{--industry-accent:#ffd52f;--industry-accent-ink:#151202}
.nx-industries[data-industry-key="trades-and-home-services"]{--industry-accent:#ff765d;--industry-accent-ink:#1a0804}
.nx-industries[data-industry-key="agriculture-and-rural"]{--industry-accent:#a8dc67;--industry-accent-ink:#0c1607}
.nx-industries[data-industry-key="labour-hire-and-field-workforce"]{--industry-accent:#ff9564;--industry-accent-ink:#1a0903}
.nx-industries[data-industry-key="logistics-and-transport"]{--industry-accent:#57d5d0;--industry-accent-ink:#061817}
.nx-industries[data-industry-key="manufacturing"]{--industry-accent:#9cb7ff;--industry-accent-ink:#080d1c}
.nx-industries[data-industry-key="retail-and-ecommerce"]{--industry-accent:#ff86c8;--industry-accent-ink:#1b0712}
.nx-industries[data-industry-key="professional-services"]{--industry-accent:#92b8ff;--industry-accent-ink:#071226}
.nx-industries[data-industry-key="health-and-care"]{--industry-accent:#71dfc4;--industry-accent-ink:#061713}
.nx-industries[data-industry-key="education-and-training"]{--industry-accent:#c2a0ff;--industry-accent-ink:#100720}
.nx-industries[data-industry-key="community-and-nonprofit"]{--industry-accent:#ff9f91;--industry-accent-ink:#1c0906}
.nx-industries[data-industry-key="hospitality-and-tourism"]{--industry-accent:#ffbd6f;--industry-accent-ink:#1b0f03}

@media(max-width:960px){
  .nx-industries .nx-hero{min-height:0}
  .nx-industries[data-industry-mode] .nx-hero-grid{grid-template-columns:1fr}
  .nx-industries[data-industry-mode="field"] .nx-console{transform:none}
  .nx-industries[data-industry-mode="mobile"] .nx-card-grid,
  .nx-industries[data-industry-mode="production"] .nx-card-grid{grid-template-columns:repeat(2,1fr)}
  .nx-industries[data-industry-mode="production"] .nx-section-head{grid-template-columns:1fr}
  .nx-industries[data-industry-mode="trust"] .nx-card:nth-child(3n){grid-column:auto}
}
@media(max-width:620px){
  .nx-industries .nx-display{font-size:clamp(2.55rem,12vw,4rem)}
  .nx-industries .nx-display em{display:block;margin-top:.18em;line-height:1.02}
  .industry-pulse{grid-template-columns:1fr}
  .nx-industries[data-industry-mode="mobile"] .nx-card-grid,
  .nx-industries[data-industry-mode="production"] .nx-card-grid,
  .nx-industries[data-industry-mode="experience"] .nx-card-grid{grid-template-columns:1fr}
  .nx-industries[data-industry-mode="experience"] .nx-card:first-child{grid-row:auto;min-height:230px}
  .nx-industries[data-industry-mode="trust"] .nx-console,
  .nx-industries[data-industry-mode="experience"] .nx-console{border-radius:1rem}
}
@media(prefers-reduced-motion:reduce){.nx-industries .nx-card:hover{transform:none}}
