
/* Industries page-specific styles */
:root{ --brand:#081B25; --ink:#0E2330; --muted:#5B6D77; --stroke: rgba(8,27,37,.10); }

.wrap{max-width:1200px; margin-inline:auto; padding-inline:clamp(16px,5vw,24px)}
main section{padding: clamp(48px, 6vw, 96px) 0}
#industries-main{ margin-top:0; }
.industries-hero{
  width:100vw;
  margin-left:calc(50% - 50vw);
  height:100vh;
  min-height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  overflow:hidden;
}

/* Intro */
.inds-hero{min-height:42vh; display:grid; place-items:center}
.inds-hero .eyebrow{color:var(--muted); letter-spacing:.28em; text-transform:uppercase; font-weight:600; font-size:.8rem}
.inds-hero .headline{font-family:"Saira",sans-serif; font-weight:700; color:var(--brand); text-align:center; line-height:1.1; font-size:clamp(32px,6vw,56px); margin:10px 0 6px}
.inds-hero .sub{color:#2d3f4a; text-align:center; max-width:900px; margin:0 auto}
.inds-hero-grid{ display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0, 1fr)); margin-top:20px; }
.inds-hero-card{ display:grid; place-items:center; text-align:center; padding:14px 16px; border-radius:16px; border:1px solid rgba(8,27,37,.12); background:linear-gradient(145deg, rgba(232,244,255,.95), #ffffff); box-shadow:0 12px 28px rgba(8,27,37,.1); font-weight:700; color:var(--brand); font-size:.95rem; }
@media (min-width:720px){
  .inds-hero-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (min-width:1080px){
  .inds-hero-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
}

/* Sectors Grid */
.inds-grid{ display:grid; gap:16px; grid-template-columns:1fr; margin-top:18px }
@media (min-width:760px){ .inds-grid{ grid-template-columns: repeat(2,1fr);} }
@media (min-width:1140px){ .inds-grid{ grid-template-columns: repeat(4,1fr);} }
.inds-card{ position:relative; padding:18px; border-radius:18px; border:1px solid var(--stroke); background:linear-gradient(45deg, #e6f3ff 0%, #ffffff 100%); backdrop-filter: blur(12px) saturate(1.05); box-shadow: 0 10px 20px rgba(8,27,37,.08); transition:.25s ease transform, .25s ease box-shadow }
.inds-card:hover{ transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8,27,37,.12) }
.inds-card h3{ margin:4px 0 6px; font:600 18px "Saira",sans-serif; color:var(--brand) }
.inds-card p{ margin:0; color:#2f4554; font-size:14px }
.inds-chiprow{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px }
.inds-chip{ padding:6px 10px; font-size:12px; border-radius:999px; border:1px solid rgba(8,27,37,.12); background:rgba(8,27,37,.06); color:#4B5A62 }

/* Client overview */
.client-overview__intro{ text-align:center; max-width:760px; margin:0 auto 32px; }
.client-overview__grid{ display:grid; gap:18px; grid-template-columns:1fr; }
.client-overview__card{ position:relative; padding:24px 24px 28px; border-radius:20px; border:1px solid rgba(8,27,37,.08); background:linear-gradient(145deg, rgba(232,244,255,.95), #fff); box-shadow:0 16px 32px rgba(8,27,37,.12); transition: transform .25s ease, box-shadow .25s ease; cursor:pointer; }
.client-overview__card:hover{ transform: translateY(-6px); box-shadow:0 24px 48px rgba(8,27,37,.18); }
.client-overview__card h3{ margin:0 0 8px; font:600 20px "Saira",sans-serif; color:var(--brand); }
.client-overview__card p{ margin:0 0 16px; color:#2f4554; line-height:1.6; }
.client-overview__card ul{ list-style:none; padding:0; margin:0; display:grid; gap:6px; font-size:.9rem; color:#1f3240; }
.client-overview__card li{ position:relative; padding-left:18px; }
.client-overview__card li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:rgba(8,27,37,.35); }

.inds-contact__grid{ display:grid; gap:18px; grid-template-columns:1fr; margin-top:24px; }
.inds-contact__actions{ margin-top:8px; }
.contact-call-btn{ display:inline-flex; align-items:center; gap:10px; padding:12px 16px; border-radius:999px; border:1px solid rgba(8,27,37,.18); background:linear-gradient(145deg, #0F3142, #081B25); color:#fff; font-weight:700; text-decoration:none; box-shadow:0 14px 30px rgba(8,27,37,.2); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.contact-call-btn:hover{ transform:translateY(-2px); box-shadow:0 18px 36px rgba(8,27,37,.28); }
.contact-call-btn:focus-visible{ outline:2px solid #58a4d7; outline-offset:3px; }
.contact-call-btn__icon{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.12); }
.contact-call-btn__text{ color:#ffffff; font-weight:700; letter-spacing:.02em; }
@media (min-width:860px){
  .inds-contact__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (min-width:880px){
  .client-overview__grid{ grid-template-columns: repeat(3, 1fr); }
}

/* Client stories */
.client-stories__header{ text-align:center; max-width:760px; margin:0 auto 32px; }
.client-stories__grid{ display:grid; gap:18px; grid-template-columns:1fr; }
.client-story{ padding:26px 24px 30px; border-radius:20px; border:1px solid rgba(8,27,37,.08); background:linear-gradient(150deg, rgba(239,247,255,.94), #ffffff); box-shadow:0 18px 36px rgba(8,27,37,.12); transition:transform .25s ease, box-shadow .25s ease; cursor:pointer; }
.client-story:hover{ transform:translateY(-6px); box-shadow:0 26px 52px rgba(8,27,37,.19); }
.client-story__head{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.client-story__sector{ display:inline-flex; align-items:center; gap:6px; font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; color:#1f3442; opacity:.7; }
.client-story h3{ margin:0; font:600 20px "Saira",sans-serif; color:var(--brand); }
.client-story p{ margin:0 0 16px; color:#2f4554; line-height:1.6; }
.client-story ul{ list-style:none; padding:0; margin:0; display:grid; gap:6px; color:#1f3240; font-size:.92rem; }
.client-story li{ position:relative; padding-left:18px; }
.client-story li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:rgba(8,27,37,.35); }

@media (min-width:900px){
  .client-stories__grid{ grid-template-columns: repeat(3, 1fr); }
}

/* SHOWCASE SLIDER (iacfx-*) */
.iacfx-demo{ position:relative; width:100%; height:100%; display:grid; place-items:center; }
.iacfx-stage{ position:relative; width:100%; height:100%; min-height:560px; overflow:hidden; border:none; margin-inline:0; }
.iacfx-slides{ position:relative; height:100%; transition: transform 1s .66s; }
.iacfx-slide{ position:absolute; inset:0; overflow:hidden; transform: translate3d(0,0,0) }
.iacfx-slide.m--before{ z-index:2 !important; transform: translate3d(100%,0,0) }
.iacfx-slide.m--active{ z-index:1; transition: transform 1s .66s ease-in-out; transform: translate3d(0,0,0) }

.iacfx-inner{ position:relative; height:100%; background-size:cover; background-position:center top; transform: translate3d(0,0,0) }
.m--before .iacfx-inner{ transform: translate3d(-100%,0,0) }
.m--active .iacfx-inner{ transition: transform 1s .66s ease-in-out; transform: translate3d(0,0,0) }

.iacfx-mask{ position:absolute; right: 40%; top:12%; width:min(50vh, 56vw); height:67vh; overflow:hidden; transform-origin:50% 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 0, 6vh 0, 6vh 61vh, 44vh 61vh, 44vh 6vh, 6vh 6vh); }
.iacfx-mask-inner{ position:absolute; left:50%; top:50%; width:150vw; height:150vh; margin-left:-50vw; margin-top:-50vh; background-size:cover; background-position:center center }

.iacfx-content{ position:absolute; left:40%; top:40%; z-index:2; color:#fff; text-transform:uppercase }
.iacfx-title{
    color: white;
}
.iacfx-title-line{ overflow:hidden; position:relative; padding-right:20px; font-family:"Saira",sans-serif; font-size:clamp(32px,6.5vw,100px); font-weight:700; word-spacing:10px }
.m--before .iacfx-title-line{ transform: translateY(100%) }
.m--active  .iacfx-title-line{ transition: transform 1.5s 1s ease-in-out; transform: translateY(0) }
.m--previous .iacfx-title-line{ transition: transform 1.5s; transform: translateY(-100%) }
.iacfx-title-line span{ display:block }
.m--before .iacfx-title-line span{ transform: translateY(-100%) }
.m--active .iacfx-title-line span{ transition: transform 1.5s 1s ease-in-out; transform: translateY(0) }
.m--previous .iacfx-title-line span{ transition: transform 1.5s; transform: translateY(100%) }

@media (max-width:900px){
  .iacfx-mask{ right:auto; left:8%; top:14%; width:45vw; height:55vh; }
  .iacfx-content{ left:56%; top:42%; }
}
@media (max-width:680px){
  .industries-hero{ min-height:100vh; height:auto; padding-top:80px; }
  .iacfx-stage{ min-height:520px; }
  .iacfx-mask{ left:50%; top:12%; width:min(280px,80vw); height:min(420px,70vh); transform:translateX(-50%); clip-path:none; border-radius:22px; }
  .iacfx-mask-inner{ margin:0; left:0; top:0; width:100%; height:100%; }
  .iacfx-content{ left:50%; top:auto; bottom:10%; transform:translateX(-50%); text-align:center; }
  .iacfx-title-line{ font-size:clamp(36px,12vw,64px); padding-right:0; }
  .iacfx-nav{ left:50%; right:auto; transform:translateX(-50%); padding:12px 0; width:100%; text-align:center; }
  .iacfx-control{ min-width:auto; padding:10px 14px; margin:0 6px 6px; }
}

/* Color themes */
.m--theme-green .iacfx-inner{ background-color:#6c8f8c }
.m--theme-green .iacfx-mask-inner{ background-color:#42605E }
.m--theme-dark .iacfx-inner{ background-color:#555 }
.m--theme-dark .iacfx-mask-inner{ background-color:#6b6b6b }
.m--theme-red .iacfx-inner{ background-color:#a44 }
.m--theme-red .iacfx-mask-inner{ background-color:#7c191c }
.m--theme-blue .iacfx-inner{ background-color:#3b7f98 }
.m--theme-blue .iacfx-mask-inner{ background-color:#2D7791 }

/* Background nav panels */
.iacfx-nav{ position:absolute; right:0; bottom:0; z-index:5; padding:18px; pointer-events:none; }
.iacfx-nav-bgs{ position:absolute; inset:0; z-index:-1; overflow:hidden }
.iacfx-nav-bg{ position:absolute; inset:0 }
.iacfx-nav-bg.m--before{ z-index:2 !important; transform: translateX(100%) }
.iacfx-nav-bg.m--active{ z-index:1; transition: transform 1s .66s; transform: translateX(0) }
.iacfx-nav-rings{ width:120px; height:120px; opacity:.6; }

/* Credits panel */
/* CTA */
.inds-cta{ text-align:center }
.industries-hero + *{ }
main section.industries-hero{ padding:0; }

.client-overview__media{ margin:32px auto 0; max-width:820px; position:relative;aspect-ratio:4/3; border-radius:24px; overflow:hidden; box-shadow:0 28px 60px rgba(8,27,37,.18); border:1px solid rgba(8,27,37,.08); }
.client-overview__media img{ width:100%; height:auto; display:block; object-fit:cover; aspect-ratio:4/2.7; }
.client-overview__media figcaption{ display:flex; align-items:center; gap:12px; padding:16px 20px; background:linear-gradient(135deg, rgba(232,244,255,.92), #ffffff); color:#1f3442; font-size:.96rem; }
.client-overview__glyph{ width:40px; height:40px; flex-shrink:0; }

.esa-cert__grid{ display:grid; gap:28px; align-items:center; }
.esa-cert__badge{ justify-self:center; width:min(100%, 460px); padding:22px; border-radius:20px; background:linear-gradient(140deg, rgba(232,244,255,.9), #ffffff); box-shadow:0 18px 36px rgba(8,27,37,.12); border:1px solid rgba(8,27,37,.08); }
.esa-cert__badge img{ width:100%; height:auto; display:block; }
.esa-cert__content{ display:grid; gap:18px; }
.esa-cert__license{ display:flex; align-items:center; gap:18px; padding:18px 20px; border-radius:20px; background:linear-gradient(135deg, rgba(8,27,37,.08), rgba(8,27,37,.02)); border:1px solid rgba(8,27,37,.12); }
.esa-cert__shield{ width:64px; height:72px; flex-shrink:0; }
.esa-cert__label{ font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(8,27,37,.66); display:block; }
.esa-cert__number{ font:600 1.8rem "Saira",sans-serif; color:var(--brand); display:block; margin-top:6px; }
.esa-cert__list{ margin:0; padding-left:20px; display:grid; gap:8px; color:#1f3240; }
.esa-cert__list li{ line-height:1.5; }
.esa-cert__note{ padding:16px 18px; border-radius:16px; background:rgba(8,27,37,.04); border:1px solid rgba(8,27,37,.12); font-size:.82rem; color:#2a3f4c; line-height:1.5; }
.esa-cert__note strong{ font-weight:600; color:var(--brand); }

@media (min-width:980px){
  .esa-cert__grid{ grid-template-columns:360px 1fr; }
}

@media (prefers-reduced-motion: reduce){
  .client-overview__media,
  .esa-cert__badge,
  .esa-cert__license{ transition:none !important; }
}
