/**
 * Trinetix Consultancy — main theme styles
 * Built from _extract/consolidated.css (cascade order preserved).
 * Asset paths are relative to this file (assets/css/).
 *
 * Sections:
 *  1. Design tokens & base
 *  2. Components (buttons, arrows, progress)
 *  3. Header / navigation
 *  4. Hero
 *  5. Page sections (intro → contact / footer)
 *  6. Motion (reveal / stagger)
 *  7. Responsive (embedded media queries)
 *  8. Cascade overrides (V8–V18 visual refinements)
 *  9. Accessibility & motion preferences
 */

/* ==========================================================
   1. Design tokens & base
   ========================================================== */
:root{
  --purple:#23307e;
  --cyan:#27d7ee;
  --navy:#102e52;
  --deep:#102542;
  --mint:#76ecbd;
  --royal:#1140f0;
  --dark:#020814;
  --dark2:#06152c;
  --text:#13233e;
  --muted:#627188;
  --white:#fff;
  --ice:#bcecff;
  --container:1360px;
  --ease:cubic-bezier(.2,.75,.2,1);
  --ease-slow:cubic-bezier(.16,.84,.28,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Poppins",Arial,sans-serif;
  color:var(--text);
  background:#fff;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 96px));margin:auto}
.section{padding:84px 0}
.section-title{
  margin:0;
  font-size:clamp(34px,3vw,50px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:700;
}
.section-title .accent{color:#a7d9ff}
.section-head{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  margin-bottom:40px;
}
.section-head-left{display:flex;align-items:center;gap:14px}
.btn{
  min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:11px;
  padding:0 19px;border-radius:999px;border:1px solid transparent;
  font-size:13px;font-weight:700;transition:.32s var(--ease)
}
.btn-light{background:#fff;color:var(--deep)}
.btn-light:hover{background:#dcf9fc;transform:translateY(-2px)}
.btn-cyan{background:#c5f3fa;color:var(--deep)}
.btn-cyan:hover{background:var(--cyan);transform:translateY(-2px)}
.btn-outline{background:rgba(255,255,255,.03);color:#fff;border-color:rgba(255,255,255,.3)}
.btn-outline:hover{background:#fff;color:var(--deep)}
.arrow-img{width:8px;height:14px;object-fit:contain;flex:0 0 auto}
.circle-arrow{
  width:44px;height:44px;border-radius:50%;
  display:inline-grid;place-items:center;flex:0 0 auto;
  background:var(--ice);border:1px solid rgba(16,37,66,.04);
  transition:.36s var(--ease);
}
.circle-arrow .arrow-img{width:8px;height:14px}
.circle-arrow:hover{background:var(--cyan);transform:translateY(-3px);box-shadow:0 14px 30px rgba(39,215,238,.22)}
.circle-arrow.outline{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.28);
  backdrop-filter:blur(10px)
}
.circle-arrow.outline:hover{background:rgba(39,215,238,.92);border-color:var(--cyan)}
#progress{position:fixed;left:0;top:0;z-index:999;width:0;height:3px;background:linear-gradient(90deg,var(--purple),var(--cyan));box-shadow:0 0 14px rgba(39,215,238,.55)}

/* HEADER */
.site-header{
  position:absolute;left:0;top:0;width:100%;z-index:100;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:.35s var(--ease)
}
.site-header.fixed{
  position:fixed;background:rgba(2,8,20,.9);backdrop-filter:blur(16px);
  box-shadow:0 14px 40px rgba(0,0,0,.22)
}
.navbar{height:82px;display:flex;align-items:center;gap:34px}
.brand{width:190px;display:flex;align-items:center}
.brand img{
  width:190px;height:auto;object-fit:contain;
  /* no background, no filter, no recolour: exact client logo file */
}
.nav{margin-left:auto;display:flex;align-items:center;gap:25px}
.nav a{position:relative;padding:30px 0;font-size:11px;font-weight:600;color:rgba(255,255,255,.9)}
.nav a::after{content:"";position:absolute;left:0;bottom:20px;width:0;height:2px;background:var(--cyan);transition:.28s}
.nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:10px}
.search{
  width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;
  display:grid;place-items:center
}
.menu-toggle{display:none;border:none;background:none;color:#fff;font-size:26px}

/* HERO — reference-led but deliberately not a clone */
.hero{
  position:relative;min-height:max(700px,90vh);color:#fff;background:#06152c;overflow:hidden
}
.hero-media{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(2,8,20,.86) 0%,rgba(2,8,20,.54) 20%,rgba(2,8,20,.36) 48%,rgba(2,8,20,.68) 100%),
    linear-gradient(90deg,rgba(2,8,20,.88) 0%,rgba(2,8,20,.53) 45%,rgba(2,8,20,.18) 72%,rgba(2,8,20,.38) 100%),
    url("../images/hero-poster.jpg") center 52%/cover no-repeat;
  filter:brightness(1.08);
  transform:scale(1.02);will-change:transform
}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 77% 24%,rgba(39,215,238,.18),transparent 22%),
    linear-gradient(115deg,transparent 55%,rgba(35,48,126,.18) 78%,rgba(39,215,238,.09) 100%);
}
.hero-grid{
  position:relative;z-index:2;min-height:max(700px,90vh);
  display:grid;grid-template-columns:1.18fr .82fr;gap:86px;align-items:center;
  padding:132px 0 62px
}
.hero-copy{max-width:690px}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:#d5eef5
}
.hero-eyebrow::before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent)}
.hero h1{
  margin:0 0 22px;
  font-size:clamp(48px,5.1vw,76px);
  line-height:.95;letter-spacing:-.052em;font-weight:700;
  max-width:690px
}
.hero p{
  margin:0 0 28px;max-width:610px;
  font-size:15px;line-height:1.72;color:rgba(255,255,255,.82)
}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-panel{
  position:relative;
  padding:25px;border-radius:28px;
  background:linear-gradient(180deg,rgba(6,25,55,.48),rgba(6,25,55,.18));
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(11px);
  box-shadow:0 24px 70px rgba(0,0,0,.24)
}
.hero-panel::before{
  content:"";position:absolute;left:0;top:44px;bottom:44px;width:3px;
  background:linear-gradient(180deg,var(--cyan),var(--purple))
}
.hero-cap{
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;
  padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)
}
.hero-cap:last-child{border-bottom:none}
.hero-cap small{display:block;margin-bottom:4px;color:#88a6c2;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.hero-cap strong{font-size:17px;line-height:1.3}
.hero-cap p{margin:4px 0 0;font-size:11px;color:#a9bdd1;line-height:1.45}
.hero-cap .circle-arrow{width:40px;height:40px}
.hero-bottom-bar{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  z-index:3;width:min(var(--container),calc(100% - 96px));
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.17)
}
.hero-bottom-bar div{
  padding:15px 18px;color:#b9c9da;font-size:10px;letter-spacing:.03em;
  border-right:1px solid rgba(255,255,255,.10)
}
.hero-bottom-bar div:last-child{border-right:none}
.hero-bottom-bar b{display:block;color:#fff;font-size:11px;margin-bottom:2px}

/* INTRO */
.intro{background:#fff}
.intro-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:start}
.intro-copy h2{
  margin:0 0 18px;
  max-width:710px;
  font-size:clamp(30px,2.5vw,42px);
  line-height:1.12;
  letter-spacing:-.04em
}
.intro-copy p{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.68;
  color:var(--muted)
}
.intro-copy strong{color:#103b71}
.video-card{
  position:relative;min-height:298px;overflow:hidden;background:#07182f;
  border:4px solid #fff;box-shadow:0 18px 48px rgba(13,39,75,.14)
}
.video-card img{width:100%;height:298px;object-fit:cover}
.video-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(2,8,20,.30))}
.play{
  position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
  background:rgba(16,46,82,.78);border:1px solid rgba(255,255,255,.55);color:#fff
}
.video-label{position:absolute;z-index:3;right:15px;bottom:12px;text-align:right;color:#fff;font-size:10px;font-weight:600;line-height:1.35}
.approach-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin-top:24px
}
.approach-card{
  position:relative;height:220px;border-radius:18px;overflow:hidden;background:#0b1f3e;color:#fff
}
.approach-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.76;transition:.65s var(--ease-slow)}
.approach-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(2,8,20,.92))}
.approach-card:hover img{transform:scale(1.06)}
.approach-card .inner{
  position:absolute;z-index:3;left:20px;right:18px;bottom:22px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px
}
.approach-card h3{font-size:16px;line-height:1.22;margin:0 0 2px}
.approach-card .circle-arrow{width:38px;height:38px}
.approach-card:hover .circle-arrow{background:var(--cyan);transform:translateY(-2px)}

/* SERVICES */
.services{
  position:relative;overflow:hidden;background:#020814;color:#fff;padding:82px 0 90px
}
.services::after{
  content:"";display:block;width:570px;height:770px;position:absolute;top:-50%;right:0;
  border-radius:566.609px;opacity:.32;
  background:linear-gradient(180deg,#76ECBD 0%,#1140F0 100%);
  filter:blur(150px);z-index:0;pointer-events:none
}
.services .container{position:relative;z-index:2}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{
  position:relative;min-height:360px;border-radius:20px;overflow:hidden;
  padding:22px;background:#11284e;border:1px solid rgba(255,255,255,.08);
  display:flex;align-items:flex-end;
  transition:transform .5s var(--ease-slow),box-shadow .5s,border-color .5s
}
.service-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.76;
  transition:transform .8s var(--ease-slow),filter .55s
}
.service-card::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(5,17,40,.14) 10%,rgba(5,17,40,.54) 56%,rgba(5,17,40,.94))
}
.service-card:hover{
  transform:translateY(-8px);
  border-color:rgba(39,215,238,.38);
  box-shadow:0 28px 65px rgba(0,0,0,.28)
}
.service-card:hover img{transform:scale(1.07);filter:brightness(1.06)}
.service-card .number{position:absolute;z-index:3;left:20px;top:18px;color:#bad0e4;font-size:10px;letter-spacing:.12em}
.service-content{
  position:relative;z-index:3;width:100%;
  transition:background .5s var(--ease-slow),backdrop-filter .5s,padding .5s,border-color .5s
}
.service-card:hover .service-content{
  padding:16px;border-radius:16px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(11px);
  border:1px solid rgba(255,255,255,.12)
}
.service-title-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px
}
.service-title-row h3{
  margin:0;font-size:23px;line-height:1.08;letter-spacing:-.035em;max-width:220px
}
.service-title-row .circle-arrow{width:38px;height:38px}
.service-card p{
  margin:12px 0 0;font-size:12px;line-height:1.58;color:#d9e6f0;
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .55s var(--ease-slow) .08s,opacity .45s ease .12s
}
.service-card:hover p{max-height:100px;opacity:1}

/* INDUSTRY */
.industries{
  position:relative;min-height:650px;overflow:hidden;background:#06162e;color:#fff
}
.industry-bg{position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.02);transition:opacity .4s,transform .9s var(--ease-slow)}
.industry-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,18,42,.96) 0%,rgba(5,18,42,.78) 37%,rgba(5,18,42,.18) 72%,rgba(5,18,42,.42) 100%)
}
.industry-content{position:relative;z-index:2;padding-top:62px}
.industry-copy{max-width:650px;margin-top:74px}
.industry-copy h3{margin:0 0 14px;font-size:31px;letter-spacing:-.035em}
.industry-copy p{margin:0 0 24px;font-size:15px;line-height:1.7;color:#d8e6f2}
.industry-nav{display:flex;gap:10px}
.industry-nav .circle-arrow{width:42px;height:42px}
.industry-tabs-wrap{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:min(var(--container),calc(100% - 96px));z-index:4
}
.industry-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.18)}
.industry-tab{
  position:relative;background:none;border:none;color:#fff;text-align:left;
  padding:17px 10px 20px;font-size:11px;opacity:.58;transition:.3s
}
.industry-tab span{display:block;font-size:9px;color:#97abc1;margin-bottom:5px}
.industry-tab::before{
  content:"";position:absolute;left:0;top:-2px;width:0;height:3px;
  background:linear-gradient(90deg,var(--mint),var(--royal));transition:.35s
}
.industry-tab.active{opacity:1}
.industry-tab.active::before{width:100%}

/* WORK */
.work{
  position:relative;background:#020814;color:#fff;padding:86px 0 94px;overflow:hidden
}
.work::after{
  content:"";display:block;width:570px;height:770px;position:absolute;top:-50%;right:0;
  border-radius:566.609px;opacity:.4;
  background:linear-gradient(180deg,#76ECBD 0%,#1140F0 100%);
  filter:blur(150px);z-index:0;pointer-events:none
}
.work .container{position:relative;z-index:2}
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.work-card{
  position:relative;height:445px;border-radius:16px;overflow:hidden;background:#102549;
  border:1px solid rgba(255,255,255,.07);
  transition:transform .62s var(--ease-slow),box-shadow .62s var(--ease-slow),border-color .62s
}
.work-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;
  transition:transform .9s var(--ease-slow),opacity .62s var(--ease-slow)
}
.work-card::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(5,14,33,.08) 10%,rgba(9,25,55,.58) 58%,rgba(9,27,59,.96))
}
.work-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:58%;z-index:1;
  background:linear-gradient(180deg,transparent,rgba(39,215,238,.12));
  opacity:0;transition:opacity .62s var(--ease-slow) .08s
}
.work-card:hover{
  transform:translateY(-9px);
  box-shadow:0 28px 72px rgba(0,0,0,.33);
  border-color:rgba(39,215,238,.34)
}
.work-card:hover img{transform:scale(1.065);opacity:.84}
.work-card:hover::after{opacity:1}
.work-info{position:absolute;z-index:3;left:24px;right:22px;bottom:22px}
.work-info small{display:block;margin-bottom:9px;color:#94d8ff;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.work-info h3{margin:0 54px 0 0;font-size:17px;line-height:1.28;letter-spacing:-.02em}
.work-info p{
  margin:12px 54px 0 0;font-size:12px;line-height:1.56;color:#d7e6ef;
  max-height:0;opacity:0;overflow:hidden;
  transition:max-height .66s var(--ease-slow) .12s,opacity .52s ease .16s,transform .52s var(--ease-slow) .12s;
  transform:translateY(7px)
}
.work-card:hover .work-info p{max-height:130px;opacity:1;transform:none}
.work-card .circle-arrow{position:absolute;right:0;bottom:0}
.work-card:first-child .circle-arrow{background:#ffc34a}

/* TESTIMONIAL */
.testimonials{
  min-height:90vh;display:flex;align-items:center;
  padding:72px 0;background:linear-gradient(180deg,#fff,#fff 72%,#edfaff)
}
.testimonial-wrap{width:min(1180px,100%);margin:auto}
.testimonial-wrap>h2{
  margin:0 0 38px;font-size:clamp(36px,3vw,52px);letter-spacing:-.045em
}
.testimonial-main{display:grid;grid-template-columns:285px 1fr;gap:58px;align-items:center}
.testimonial-photo{width:285px;height:285px;border-radius:21px;overflow:hidden;box-shadow:0 18px 50px rgba(13,39,75,.12)}
.testimonial-photo img{width:100%;height:100%;object-fit:cover}
.quote-mark{font-family:Georgia,serif;font-size:78px;line-height:.62;color:#c9edf6}
.quote-text{font-size:19px;line-height:1.65;color:#32435d;margin:14px 0 20px;max-width:820px}
.person-name{font-size:16px;font-weight:700}
.person-role{font-size:12px;color:#7a899d;margin-top:4px}
.stars{font-size:12px;color:#f2a700;letter-spacing:2px;margin-top:11px}
.testimonial-nav{display:flex;justify-content:center;gap:22px;margin-top:38px}
.person-chip{width:74px;border:none;background:none;text-align:center;color:#7c8da1;opacity:.5;transition:.25s}
.person-chip img{width:52px;height:52px;border-radius:50%;object-fit:cover;margin:0 auto 7px;border:2px solid transparent}
.person-chip span{display:block;font-size:10px}
.person-chip.active{opacity:1}
.person-chip.active img{border-color:var(--cyan)}

/* PARTNERS */
.ecosystem{
  position:relative;background:#06152f;color:#fff;padding:82px 0 92px;overflow:hidden
}
.ecosystem::after{
  content:"";display:block;width:570px;height:770px;position:absolute;top:-50%;right:0;
  border-radius:566.609px;opacity:.38;
  background:linear-gradient(180deg,#76ECBD 0%,#1140F0 100%);
  filter:blur(150px);z-index:0;pointer-events:none
}
.ecosystem .container{position:relative;z-index:2}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.partner-card{
  position:relative;height:210px;border-radius:14px;overflow:hidden;
  background:#fff;border:1px solid rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;padding:24px;
  box-shadow:0 10px 25px rgba(0,0,0,.1);
  transition:transform .48s var(--ease-slow),box-shadow .48s,border-color .48s
}
.partner-card img{
  position:relative;z-index:2;max-width:76%;max-height:80px;object-fit:contain;
  transition:transform .48s var(--ease-slow),opacity .48s
}
.partner-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(35,48,126,.97),rgba(16,46,82,.96) 55%,rgba(39,215,238,.86));
  opacity:0;transition:.48s var(--ease-slow)
}
.partner-hover{
  position:absolute;inset:0;z-index:3;padding:22px;
  display:flex;flex-direction:column;justify-content:space-between;
  opacity:0;transform:translateY(8px);
  transition:opacity .48s ease .06s,transform .48s var(--ease-slow) .06s
}
.partner-hover h4{margin:0;font-size:18px}
.partner-hover p{margin:8px 0 0;font-size:12px;line-height:1.55;color:#e2f1f8}
.partner-hover .circle-arrow{width:38px;height:38px}
.partner-card:hover{
  transform:translateY(-7px);
  border-color:rgba(39,215,238,.75);
  box-shadow:0 25px 58px rgba(0,0,0,.24)
}
.partner-card:hover::before{opacity:1}
.partner-card:hover img{opacity:.1;transform:scale(.84)}
.partner-card:hover .partner-hover{opacity:1;transform:none}
.partner-card.aws img{max-width:42%;max-height:78px}
.partner-card.microsoft img{max-width:72%;max-height:70px}
.partner-card.google img{max-width:78%;max-height:68px}
.partner-card.databricks img{max-width:66%;max-height:68px}
.partner-card.cprime img{max-width:54%;max-height:78px}
.partner-card.salesforce img{max-width:54%;max-height:82px}
.partner-card.servicenow img{max-width:75%;max-height:65px}
.partner-card.atlassian img{max-width:76%;max-height:64px}

/* KNOWLEDGE */
.knowledge{background:#fff;padding:82px 0 90px}
.knowledge .section-title .accent{color:var(--deep)}
.knowledge-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;grid-template-rows:190px 190px;gap:18px}
.insight{position:relative;border-radius:15px;overflow:hidden;background:#0d2c54;color:#fff}
.insight.featured{grid-column:2;grid-row:1/3}
.insight.wide{grid-column:3;grid-row:2}
.insight img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.74;transition:.7s var(--ease-slow)}
.insight::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 15%,rgba(2,8,20,.94))}
.insight:hover img{transform:scale(1.055)}
.insight-info{position:absolute;z-index:2;left:18px;right:16px;bottom:15px}
.insight-info small{font-size:9px;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase}
.insight-info h3{margin:6px 0 0;font-size:14px;line-height:1.35}
.insight.featured .insight-info h3{font-size:21px}

/* CONTACT + FOOTER */
.contact{background:#020814;color:#fff;padding:76px 0 54px}
.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px}
.contact h2{margin:0 0 20px;font-size:34px;letter-spacing:-.04em}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.pill{border:1px solid rgba(255,255,255,.3);background:none;color:#fff;border-radius:999px;padding:8px 13px;font-size:10px;transition:.25s}
.pill.active,.pill:hover{background:#fff;color:var(--deep)}
.contact-copy{max-width:470px;font-size:14px;line-height:1.7;color:#93a5bd}
.email-row{display:flex;align-items:center;gap:11px;margin-top:27px;font-size:13px}
.email-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#c7f5fb;color:var(--deep)}
.form{display:grid;gap:13px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form input,.form textarea{width:100%;background:none;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.26);outline:none;padding:11px 0;font-size:12px}
.form textarea{height:90px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:#8293aa}
.form-end{display:flex;justify-content:flex-end;margin-top:8px}

.footer{background:#050919;color:#fff}
.footer-top{padding:44px 0 28px;border-top:1px solid rgba(255,255,255,.06)}
.footer-heading-row{display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:center;margin-bottom:20px}
.footer-brand img{width:190px;height:auto}
.footer-intro{font-size:13px;line-height:1.65;color:#93a5bd;max-width:800px}
.footer-directory{display:grid;gap:18px}
.footer-row{display:grid;grid-template-columns:210px 1fr;gap:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}
.footer-row-title{font-size:14px;font-weight:700;color:#e4edf7}
.footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.footer-col h4{font-size:12px;margin:0 0 9px}
.footer-col a{display:block;font-size:11px;line-height:1.45;color:#8192a9;margin-bottom:6px;transition:.2s}
.footer-col a:hover{color:var(--cyan);transform:translateX(3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:17px 0 21px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#6b7c92}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-slow),transform .8s var(--ease-slow)}
.reveal.show{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(20px);transition:opacity .68s var(--ease-slow),transform .68s var(--ease-slow)}
.stagger.show>*{opacity:1;transform:none}
.stagger.show>*:nth-child(2){transition-delay:.06s}
.stagger.show>*:nth-child(3){transition-delay:.12s}
.stagger.show>*:nth-child(4){transition-delay:.18s}
.stagger.show>*:nth-child(5){transition-delay:.24s}
.stagger.show>*:nth-child(6){transition-delay:.30s}
.stagger.show>*:nth-child(7){transition-delay:.36s}
.stagger.show>*:nth-child(8){transition-delay:.42s}

@media(max-width:1200px){
  .container,.hero-bottom-bar,.industry-tabs-wrap{width:min(var(--container),calc(100% - 56px))}
  .service-grid,.work-grid,.partner-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .nav,.header-actions .btn{display:none}
  .header-actions .search{display:grid !important}
  .menu-toggle{display:block;margin-left:auto}
  .site-header.open .nav{
    display:flex;position:absolute;left:0;right:0;top:82px;background:#041127;
    flex-direction:column;align-items:flex-start;gap:0;padding:15px 28px 24px
  }
  .site-header.open .nav a{width:100%;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .hero-grid{grid-template-columns:1fr;gap:34px;align-content:center}
  .hero-panel{max-width:650px}
  .hero-bottom-bar{display:none}
  .intro-grid,.contact-grid{grid-template-columns:1fr}
  .approach-grid{grid-template-columns:1fr 1fr}
  .industry-tabs{grid-template-columns:repeat(3,1fr)}
  .industry-tab:nth-child(n+4){display:none}
  .testimonial-main{grid-template-columns:250px 1fr;gap:34px}
  .knowledge-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .insight.featured{grid-column:2;grid-row:1/3}
  .insight.wide{grid-column:1/3;grid-row:3}
  .footer-heading-row,.footer-row{grid-template-columns:1fr}
  .footer-columns{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .container,.industry-tabs-wrap{width:calc(100% - 30px)}
  .navbar{height:74px}
  .brand{width:155px}
  .brand img{width:155px}
  .site-header.open .nav{top:74px}

  .hero{min-height:760px}
  .hero-grid{min-height:760px;padding:100px 0 44px}
  .hero h1{font-size:46px}
  .hero p{font-size:14px}
  .hero-panel{padding:19px;border-radius:22px}
  .hero-cap strong{font-size:15px}

  .section{padding:64px 0}
  .intro-copy h2{font-size:30px}
  .intro-copy p{font-size:14px}
  .video-card,.video-card img{min-height:240px;height:240px}
  .approach-grid,.service-grid,.work-grid,.partner-grid{grid-template-columns:1fr}
  .approach-card{height:205px}
  .service-card{min-height:330px}
  .industries{min-height:650px}
  .industry-content{padding-top:52px}
  .industry-copy{margin-top:48px}
  .industry-copy h3{font-size:27px}
  .industry-copy p{font-size:14px}
  .work-card{height:410px}
  .testimonial-main{grid-template-columns:1fr;gap:22px}
  .testimonial-photo{width:220px;height:220px}
  .quote-text{font-size:17px}
  .testimonial-nav{justify-content:flex-start;overflow-x:auto;padding-bottom:5px}
  .partner-card{height:200px}
  .knowledge-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}
  .insight,.insight.featured,.insight.wide{grid-column:auto;grid-row:auto;min-height:210px}
  .section-head{align-items:flex-start;flex-direction:column}
  .knowledge .section-head{flex-direction:row;align-items:center}
  .knowledge .btn{font-size:11px;padding:0 14px;min-height:42px}
  .form-row{grid-template-columns:1fr}
  .footer-columns{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column}
}



/* ==========================================================
   V8 FIXES — logo visibility + guaranteed arrows
   ========================================================== */

/* Use the original transparent client logo, without any box/background.
   A soft glow behind it improves contrast on dark sections without altering the logo artwork. */
.brand,
.footer-brand{
  position:relative;
  isolation:isolate;
}
.brand::before,
.footer-brand::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:115%;
  height:120%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,
    rgba(39,215,238,.16) 0%,
    rgba(35,48,126,.10) 38%,
    rgba(255,255,255,.035) 58%,
    transparent 75%);
  filter:blur(13px);
  pointer-events:none;
}
.brand{
  width:168px !important;
  min-width:168px;
}
.brand img{
  width:168px !important;
  max-width:168px !important;
  height:auto !important;
  opacity:1 !important;
  filter:
    brightness(1.13)
    contrast(1.06)
    drop-shadow(0 0 1px rgba(255,255,255,.28))
    drop-shadow(0 8px 17px rgba(39,215,238,.17));
}
.footer-brand{
  width:178px;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  position:relative;
}
.footer-brand::before{
  display:none !important;
}
.footer-brand img{
  width:178px !important;
  max-width:178px !important;
  height:auto !important;
  background:transparent !important;
  padding:0 !important;
  display:block !important;
  filter:drop-shadow(0 10px 24px rgba(39,215,238,.10)) !important;
}
.footer-tagline{
  margin:0;
  font-size:10px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#d7eefb;
}

/* Hide old image arrows and render the supplied chevron shape in CSS.
   This prevents browser/data-URI failures and guarantees visibility. */
.arrow-img{display:none !important}

.circle-arrow::after{
  content:"";
  display:block;
  width:9px;
  height:15px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:9px 15px;
  background-image:url("../icons/arrow-dark.svg");
  transition:transform .28s var(--ease),filter .28s;
}
.circle-arrow.outline::after{
  background-image:url("../icons/arrow-light.svg");
}
.circle-arrow:hover::after{
  transform:translateX(2px);
}
.circle-arrow.outline:hover::after{
  background-image:url("../icons/arrow-dark.svg");
}

/* Previous industry arrow */
#industryPrev::after{
  transform:rotate(180deg);
}
#industryPrev:hover::after{
  transform:rotate(180deg) translateX(2px);
}

/* Text buttons also get the same visible chevron */
.btn::after{
  content:"";
  display:block;
  width:8px;
  height:14px;
  flex:0 0 auto;
  background-repeat:no-repeat;
  background-position:center;
  background-size:8px 14px;
  background-image:url("../icons/arrow-dark.svg");
}
.btn-outline::after{
  background-image:url("../icons/arrow-light.svg");
}
.btn-outline:hover::after{
  background-image:url("../icons/arrow-dark.svg");
}

/* Extra contrast so arrows are unmistakable on approach/service/work cards */
.approach-card .circle-arrow,
.service-card .circle-arrow,
.work-card .circle-arrow{
  box-shadow:0 7px 18px rgba(0,0,0,.16);
}
.approach-card .circle-arrow::after,
.service-card .circle-arrow::after,
.work-card .circle-arrow::after{
  filter:contrast(1.3);
}

/* Slightly improve spacing around approach-card titles/arrows */
.approach-card .inner{
  bottom:20px !important;
}
.approach-card h3{
  margin-bottom:1px !important;
}

/* Header logo standard professional size on tablet/mobile */
@media(max-width:980px){
  .brand{width:158px !important;min-width:158px}
  .brand img{width:158px !important;max-width:158px !important}
}
@media(max-width:640px){
  .brand{width:142px !important;min-width:142px}
  .brand img{width:142px !important;max-width:142px !important}
  .footer-brand{width:160px}
  .footer-brand img{width:160px !important;max-width:160px !important}
}



/* =========================================================
   V11 — Clean header + bright simple eye-catching banner
   Logo always inside header · no bottom strip
   ========================================================= */

.hero-bottom-bar{display:none !important}

/* ----- HEADER: clean frosted bar, logo INSIDE (no separate plate) ----- */
.site-header{
  position:fixed !important;
  left:0; top:0; width:100%;
  z-index:300 !important;
  padding:16px 0 0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.site-header.fixed,
.site-header.is-scrolled{
  padding:12px 0 0 !important;
  background:transparent !important;
}

.site-header .container.navbar,
.site-header .navbar{
  width:min(var(--container), calc(100% - 64px)) !important;
  margin:0 auto !important;
  height:72px !important;
  padding:0 22px !important;
  gap:24px !important;
  align-items:center !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(255,255,255,.75) !important;
  backdrop-filter:blur(22px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(180%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 14px 40px rgba(8,28,58,.12) !important;
}

/* Logo flush inside header — no white box around it */
.brand{
  display:flex !important;
  align-items:center !important;
  width:168px !important;
  min-width:168px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.brand::before{display:none !important}
.brand img{
  width:168px !important;
  max-width:168px !important;
  height:auto !important;
  display:block !important;
  filter:none !important;
  opacity:1 !important;
}

.nav{
  margin-left:auto !important;
  gap:24px !important;
}
.nav a{
  color:#102542 !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-shadow:none !important;
  padding:26px 0 !important;
}
.nav a::after{
  background:linear-gradient(90deg,#27d7ee,#1140f0) !important;
  bottom:17px !important;
}
.nav a:hover{color:#23307e !important}

.search{
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
  border:1px solid rgba(16,37,66,.14) !important;
  background:rgba(16,37,66,.04) !important;
  color:#102542 !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:none !important;
}
.search svg{
  width:17px !important;
  height:17px !important;
  fill:none !important;
  stroke:#102542 !important;
  stroke-width:2.35 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.search circle,
.search path{
  fill:none !important;
  stroke:#102542 !important;
}
.search:hover{
  background:rgba(16,37,66,.08) !important;
}

.header-actions{gap:10px !important}
.header-actions .btn-outline{
  min-height:42px !important;
  padding:0 18px !important;
  color:#fff !important;
  background:#102542 !important;
  border:1px solid #102542 !important;
  box-shadow:0 8px 20px rgba(16,37,66,.18) !important;
}
.header-actions .btn-outline::after{
  background-image:url("../icons/arrow-light.svg") !important;
}
.header-actions .btn-outline:hover{
  background:#23307e !important;
  border-color:#23307e !important;
  color:#fff !important;
}
.menu-toggle{color:#102542 !important}
.menu-toggle svg{stroke:#102542 !important; fill:none !important}

@media(max-width:980px){
  .site-header .navbar{
    width:calc(100% - 28px) !important;
    height:64px !important;
    padding:0 14px !important;
  }
  .site-header.open .nav{
    top:76px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(16,37,66,.08) !important;
    border-radius:14px !important;
    backdrop-filter:blur(16px) !important;
    box-shadow:0 16px 40px rgba(8,28,58,.12) !important;
  }
  .site-header.open .nav a{
    color:#102542 !important;
    border-bottom-color:rgba(16,37,66,.08) !important;
  }
}

/* ----- BANNER: brighter, simpler, 90vh ----- */
.hero{
  height:90vh !important;
  max-height:90vh !important;
  min-height:0 !important;
  background:#0a1c33 !important;
  overflow:hidden !important;
}
.hero-media{
  filter:none !important;
  transform:none !important;
  background:
    url("../images/hero-poster.jpg")
    center/cover no-repeat !important;
}
.hero-video{
  filter:brightness(1.18) saturate(1.12) contrast(1.02) !important;
  object-position:center 40% !important;
  opacity:1 !important;
}
/* Lighter veil — still readable, not muddy */
.hero-media::before{
  background:
    linear-gradient(105deg,
      rgba(4,18,36,.72) 0%,
      rgba(4,18,36,.48) 34%,
      rgba(4,18,36,.22) 62%,
      rgba(4,18,36,.18) 100%) !important;
}
.hero-media::after{
  background:
    linear-gradient(180deg,
      rgba(4,18,36,.28) 0%,
      rgba(4,18,36,.05) 40%,
      rgba(4,18,36,.20) 78%,
      rgba(4,18,36,.45) 100%),
    radial-gradient(ellipse at 70% 30%, rgba(120,210,255,.18), transparent 40%) !important;
}

.hero-grid{
  height:90vh !important;
  max-height:90vh !important;
  min-height:0 !important;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr) !important;
  gap:48px !important;
  align-items:center !important;
  padding:110px 0 56px !important;
}

.hero-copy{max-width:600px !important}
.hero-eyebrow{
  margin-bottom:14px !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  color:#d7f6ff !important;
}
.hero h1{
  margin:0 0 16px !important;
  max-width:580px !important;
  font-size:clamp(28px, 3.1vw, 44px) !important;
  line-height:1.15 !important;
  letter-spacing:-.03em !important;
  font-weight:700 !important;
  color:#fff !important;
  text-shadow:0 4px 24px rgba(0,0,0,.35) !important;
}
.hero h1 .hero-line2{
  display:inline !important;
  color:#e8f7ff !important;
  font-weight:600 !important;
  font-size:inherit !important;
}
.hero p{
  margin:0 0 24px !important;
  max-width:480px !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:rgba(255,255,255,.9) !important;
  text-shadow:0 2px 16px rgba(0,0,0,.3) !important;
}

.hero-actions{gap:12px !important}
.hero-actions .btn{
  min-height:48px !important;
  padding:0 20px !important;
  font-size:13px !important;
  border-radius:999px !important;
}
.hero-actions .btn-cyan-hero,
.hero-actions .btn-light{
  background:#fff !important;
  color:#102542 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
}
.hero-actions .btn-cyan-hero:hover,
.hero-actions .btn-light:hover{
  background:#e8f9ff !important;
  transform:translateY(-2px) !important;
}
.hero-actions .btn-outline{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.45) !important;
  color:#fff !important;
  backdrop-filter:blur(10px) !important;
}
.hero-actions .btn-outline:hover{
  background:#fff !important;
  color:#102542 !important;
}

/* Simple glass capability card */
.hero-panel{
  margin:0 !important;
  padding:8px 10px 8px 20px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  backdrop-filter:blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(160%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 20px 50px rgba(0,0,0,.22) !important;
}
.hero-panel::before{
  top:22px !important;
  bottom:22px !important;
  background:linear-gradient(180deg,#7ae7ff,#3b6cff) !important;
}
.hero-cap{
  padding:18px 8px !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
}
.hero-cap:last-child{border-bottom:0 !important}
.hero-cap small{
  color:#c8f3ff !important;
  font-size:10px !important;
  margin-bottom:6px !important;
}
.hero-cap strong{
  font-size:18px !important;
  color:#fff !important;
}
.hero-cap p{
  margin:5px 0 0 !important;
  font-size:12px !important;
  color:rgba(255,255,255,.82) !important;
  text-shadow:none !important;
  max-width:none !important;
}
.hero-cap .circle-arrow{
  width:40px !important;
  height:40px !important;
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.35) !important;
}

.hero-speed-chip{
  right:20px !important;
  bottom:20px !important;
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.28) !important;
}

@media(max-width:1100px){
  .hero, .hero-grid{
    height:auto !important;
    max-height:none !important;
    min-height:90vh !important;
  }
  .hero-grid{
    grid-template-columns:1fr !important;
    padding:100px 0 48px !important;
    gap:28px !important;
  }
  .hero-panel{max-width:520px}
}
@media(max-width:640px){
  .brand, .brand img{
    width:140px !important;
    min-width:140px !important;
    max-width:140px !important;
  }
  .hero h1{font-size:26px !important}
  .hero p{font-size:14px !important}
  .site-header .navbar{width:calc(100% - 20px) !important}
}



/* Logo breathing room + true glass header + stronger banner overlay */

.site-header .container.navbar,
.site-header .navbar{
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(255,255,255,.55) !important;
  backdrop-filter:blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(180%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 14px 40px rgba(8,28,58,.14) !important;
  padding:0 26px !important;
}

.site-header.fixed .navbar,
.site-header.is-scrolled .navbar{
  background:rgba(255,255,255,.72) !important;
}

/* Logo padding inside header */
.brand{
  padding:10px 14px 10px 6px !important;
  margin-right:4px !important;
  box-sizing:content-box !important;
}
.brand img{
  width:158px !important;
  max-width:158px !important;
}

/* Stronger left overlay so white text stays readable on bright video */
.hero-media::before{
  background:
    linear-gradient(105deg,
      rgba(2,10,24,.88) 0%,
      rgba(2,10,24,.72) 28%,
      rgba(2,10,24,.42) 52%,
      rgba(2,10,24,.22) 72%,
      rgba(2,10,24,.28) 100%) !important;
}
.hero-media::after{
  background:
    linear-gradient(180deg,
      rgba(2,10,24,.45) 0%,
      rgba(2,10,24,.12) 35%,
      rgba(2,10,24,.25) 75%,
      rgba(2,10,24,.55) 100%),
    radial-gradient(ellipse at 30% 45%, rgba(0,0,0,.28), transparent 45%) !important;
}
.hero-video{
  filter:brightness(1.02) saturate(1.08) contrast(1.04) !important;
}

.hero h1,
.hero p,
.hero-eyebrow{
  text-shadow:0 6px 28px rgba(0,0,0,.55) !important;
}
.hero p{
  color:rgba(255,255,255,.94) !important;
}

@media(max-width:640px){
  .brand{padding:8px 10px 8px 4px !important}
  .brand img{width:136px !important; max-width:136px !important}
}



/* ==========================================================
   V13 — Reference-led Trinetix hero
   Apexon-like composition, but distinct Trinetix treatment
   ========================================================== */

.hero-bottom-bar,
.hero-panel,
.hero-speed-chip,
.hero-scroll-cue,
.hero-eyebrow{
  display:none !important;
}

/* ---------- Transparent / dark glass header ---------- */
.site-header,
.site-header.fixed,
.site-header.is-scrolled{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  z-index:500 !important;
  padding:0 !important;
  background:
    linear-gradient(180deg,
      rgba(2,14,35,.52) 0%,
      rgba(2,14,35,.30) 62%,
      rgba(2,14,35,.06) 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(7px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(7px) saturate(125%) !important;
}

.site-header .container.navbar,
.site-header .navbar,
.site-header.fixed .navbar,
.site-header.is-scrolled .navbar{
  width:min(var(--container), calc(100% - 80px)) !important;
  height:105px !important;
  margin:0 auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Original logo remains unchanged; only a soft ambient glow improves contrast */
.brand{
  position:relative !important;
  width:178px !important;
  min-width:178px !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.brand::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:45% !important;
  top:50% !important;
  width:210px !important;
  height:68px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,.26) 0%,
    rgba(255,255,255,.12) 40%,
    transparent 74%) !important;
  filter:blur(12px) !important;
  z-index:-1 !important;
  pointer-events:none !important;
}
.brand img{
    width: 178px !important;
    max-width: 178px !important;
    height: auto !important;
    filter: drop-shadow(0 1px 1px rgba(255,255,255,.42))
    drop-shadow(0 6px 18px rgba(0,0,0,.26)) !important;
    opacity: 1 !important;
    background: #fff;
    padding: 10px;
}

.nav{
  margin-left:auto !important;
  gap:29px !important;
}
.nav a{
  padding:31px 0 !important;
  color:rgba(255,255,255,.94) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:500 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45) !important;
}
.nav a::after{
  bottom:20px !important;
  height:2px !important;
  background:linear-gradient(90deg,#27d7ee,#ffffff) !important;
}
.nav a:hover{
  color:#fff !important;
}

.header-actions{
  gap:12px !important;
}
.search{
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
}
.search svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:2.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));
}
.search circle,
.search path{
  fill:none !important;
  stroke:#fff !important;
}
.search:hover{
  transform:scale(1.08);
  background:transparent !important;
}

.header-actions .btn-outline{
  min-height:44px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  color:#fff !important;
  background:rgba(4,17,39,.18) !important;
  box-shadow:none !important;
  backdrop-filter:blur(8px) !important;
}
.header-actions .btn-outline::after{
  background-image:url("../icons/arrow-light.svg") !important;
}
.header-actions .btn-outline:hover{
  background:#fff !important;
  color:#102542 !important;
}
.header-actions .btn-outline:hover::after{
  background-image:url("../icons/arrow-dark.svg") !important;
}

/* ---------- Reference-led cinematic hero ---------- */
.hero{
  position:relative !important;
  height:100vh !important;
  min-height:760px !important;
  max-height:none !important;
  overflow:hidden !important;
  color:#fff !important;
  background:#06162e !important;
  isolation:isolate;
  max-height: 90vh !important;
}

/* AI/night-mountain style base image + subtle moving video layer */
.hero-media{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  transform:none !important;
  filter:none !important;
  background:
    url("../images/hero-poster.jpg")
    center 52% / cover no-repeat !important;
  animation:v13HeroDrift 18s ease-in-out infinite alternate;
}
@keyframes v13HeroDrift{
  from{background-position:center 48%}
  to{background-position:center 54%}
}
.hero-video{
  position:absolute !important;
  inset:-2% !important;
  width:104% !important;
  height:104% !important;
  object-fit:cover !important;
  object-position:center 46% !important;
  opacity:.34 !important;
  mix-blend-mode:soft-light !important;
  filter:brightness(.76) contrast(1.18) saturate(1.30) hue-rotate(6deg) !important;
  transform:scale(1.035) !important;
}

/* Bright enough to feel premium, dark enough for white text */
.hero-media::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:
    linear-gradient(90deg,
      rgba(1,9,24,.76) 0%,
      rgba(2,12,29,.54) 32%,
      rgba(2,13,31,.20) 60%,
      rgba(2,13,31,.24) 100%),
    linear-gradient(180deg,
      rgba(4,18,38,.18) 0%,
      rgba(4,18,38,.04) 38%,
      rgba(2,10,24,.18) 72%,
      rgba(2,8,20,.52) 100%) !important;
  pointer-events:none;
}
.hero-media::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  background:
    radial-gradient(circle at 50% 22%, rgba(255,255,255,.12), transparent 8%),
    radial-gradient(ellipse at 49% 40%, rgba(39,215,238,.10), transparent 30%),
    radial-gradient(ellipse at 83% 72%, rgba(35,48,126,.16), transparent 35%) !important;
  pointer-events:none;
}

/* subtle starfield enhancement — distinct from reference */
.hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  opacity:.62;
  background-image:
    radial-gradient(circle at 11% 9%, rgba(255,255,255,.95) 0 1px, transparent 1.5px),
    radial-gradient(circle at 18% 17%, rgba(255,255,255,.70) 0 1px, transparent 1.4px),
    radial-gradient(circle at 27% 8%, rgba(255,255,255,.75) 0 1px, transparent 1.4px),
    radial-gradient(circle at 38% 16%, rgba(255,255,255,.60) 0 1px, transparent 1.4px),
    radial-gradient(circle at 59% 10%, rgba(255,255,255,.82) 0 1px, transparent 1.5px),
    radial-gradient(circle at 68% 18%, rgba(255,255,255,.70) 0 1px, transparent 1.4px),
    radial-gradient(circle at 78% 8%, rgba(255,255,255,.82) 0 1px, transparent 1.5px),
    radial-gradient(circle at 89% 16%, rgba(255,255,255,.68) 0 1px, transparent 1.4px);
  background-size:
    185px 150px, 230px 170px, 270px 190px, 215px 165px,
    245px 180px, 195px 145px, 280px 205px, 220px 175px;
  animation:v13Stars 7s ease-in-out infinite alternate;
}
@keyframes v13Stars{
  from{opacity:.42; transform:translateY(0)}
  to{opacity:.74; transform:translateY(2px)}
}

.hero-reference-layout{
  position:relative !important;
  z-index:5 !important;
  height:100% !important;
  min-height:760px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr) !important;
  gap:70px !important;
  align-items:end !important;
  padding-top:128px !important;
  padding-bottom:78px !important;
}

.hero-reference-copy{
  align-self:end !important;
  max-width:670px !important;
  padding-bottom:4px;
}
.hero-reference-copy h1{
  margin:0 !important;
  max-width:690px !important;
  font-size:clamp(48px,4.7vw,60px) !important;
  line-height:1.25 !important;
  letter-spacing:-.048em !important;
  font-weight:700 !important;
  color:#fff !important;
  text-shadow:0 6px 30px rgba(0,0,0,.50) !important;
}
.hero-subline{
  margin-top:8px;
  color:#fff;
  font-size:clamp(23px,2vw,31px);
  line-height:1.2;
  font-weight:600;
  letter-spacing:-.028em;
  text-shadow:0 4px 22px rgba(0,0,0,.48);
}
.hero-reference-copy p{
  margin:40px 0 0 !important;
  max-width:590px !important;
  font-size:16px !important;
  line-height:1.48 !important;
  color:rgba(255,255,255,.95) !important;
  text-shadow:0 3px 16px rgba(0,0,0,.55) !important;
}
.hero-reference-copy .hero-actions{
  margin-top:28px !important;
}
.hero-primary-cta{
  min-height:48px !important;
  padding:0 22px !important;
  border-radius:7px !important;
  background:#c6e9ff !important;
  color:#102542 !important;
  border:1px solid rgba(255,255,255,.38) !important;
  font-size:14px !important;
  font-weight:700 !important;
  box-shadow:0 14px 34px rgba(0,0,0,.20) !important;
}
.hero-primary-cta::after{
  background-image:url("../icons/arrow-dark.svg") !important;
}
.hero-primary-cta:hover{
  transform:translateY(-2px) !important;
  background:#fff !important;
  box-shadow:0 18px 40px rgba(0,0,0,.24) !important;
}

/* ---------- Right capability list: reference-like, no large box ---------- */
.hero-capability-list{
  align-self:end !important;
  justify-self:end !important;
  width:min(100%,520px) !important;
  margin-bottom:14px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.hero-capability{
  position:relative;
  display:grid;
  grid-template-columns:1fr 44px;
  gap:18px;
  align-items:center;
  min-height:62px;
  padding:8px 2px 8px 16px;
  color:#fff;
  text-decoration:none;
  border-radius:12px;
  transition:
    transform .38s var(--ease-slow),
    background .38s var(--ease-slow),
    color .38s var(--ease-slow);
}
.hero-capability::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:5px;
  height:0;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(180deg,#27d7ee,#23307e);
  opacity:0;
  transition:height .38s var(--ease-slow), opacity .38s var(--ease-slow);
}
.hero-capability:hover{
  transform:translateX(8px);
  background:linear-gradient(90deg, rgba(5,23,49,.30), rgba(5,23,49,.04));
}
.hero-capability:hover::before{
  height:72%;
  opacity:1;
}
.capability-copy{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.capability-copy small{
  order:1;
  min-width:22px;
  color:rgba(184,221,242,.58);
  font-size:9px;
  line-height:1;
  font-weight:600;
  letter-spacing:.14em;
}
.capability-copy strong{
  order:0;
  text-align:right;
  color:#fff;
  font-size:clamp(22px,2vw,29px);
  line-height:1.18;
  font-weight:650;
  letter-spacing:-.032em;
  text-shadow:0 4px 18px rgba(0,0,0,.56);
}
.capability-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  transition:
    transform .35s var(--ease),
    color .35s var(--ease),
    background .35s var(--ease);
}
.capability-icon svg{
  width:31px;
  height:31px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.45));
}
.hero-capability:hover .capability-icon{
  transform:rotate(7deg) scale(1.08);
  background:rgba(255,255,255,.06);
}
.capability-cognitive:hover .capability-icon{
  color:#7feaff;
}
.capability-engineering:hover .capability-icon{
  color:#ffd15b;
}

.hero-star{
  position:absolute;
  z-index:4;
  top:23%;
  left:50%;
  width:8px;
  height:8px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:
    0 0 7px #fff,
    0 0 18px rgba(169,229,255,.96),
    0 0 38px rgba(39,215,238,.65);
  animation:v13StarPulse 3.4s ease-in-out infinite;
  pointer-events:none;
}
.hero-star::before,
.hero-star::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:linear-gradient(90deg,transparent,#fff,transparent);
  opacity:.84;
}
.hero-star::before{width:42px;height:1px}
.hero-star::after{width:1px;height:42px;background:linear-gradient(180deg,transparent,#fff,transparent)}
@keyframes v13StarPulse{
  0%,100%{opacity:.72; transform:translate(-50%,-50%) scale(.82)}
  50%{opacity:1; transform:translate(-50%,-50%) scale(1.10)}
}

.hero-edge-glow{
  position:absolute;
  z-index:4;
  right:-170px;
  bottom:-210px;
  width:600px;
  height:600px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(39,215,238,.13), rgba(17,64,240,.06) 44%, transparent 70%);
  filter:blur(34px);
  pointer-events:none;
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .site-header .container.navbar,
  .site-header .navbar{
    width:calc(100% - 42px) !important;
  }
  .hero{
    height:auto !important;
    min-height:900px !important;
  }
  .hero-reference-layout{
    min-height:900px !important;
    grid-template-columns:1fr !important;
    align-content:end !important;
    gap:30px !important;
    padding-top:126px !important;
    padding-bottom:54px !important;
  }
  .hero-capability-list{
    justify-self:start !important;
    width:min(100%,650px) !important;
    margin-bottom:0 !important;
  }
  .capability-copy{
    justify-content:flex-start;
  }
  .capability-copy strong{
    text-align:left;
    font-size:23px;
  }
}
@media(max-width:980px){
  .site-header .container.navbar,
  .site-header .navbar{
    height:72px !important;
    width:calc(100% - 26px) !important;
  }
  .site-header.open .nav{
    top:72px !important;
    left:13px !important;
    right:13px !important;
    background:rgba(4,17,38,.94) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:14px !important;
    backdrop-filter:blur(18px) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.28) !important;
  }
  .site-header.open .nav a{
    color:#fff !important;
    border-bottom-color:rgba(255,255,255,.09) !important;
  }
  .menu-toggle{
    color:#fff !important;
  }
  .menu-toggle svg{
    stroke:#fff !important;
  }
}
@media(max-width:640px){
  .brand{
    width:142px !important;
    min-width:142px !important;
  }
  .brand img{
    width:142px !important;
    max-width:142px !important;
  }
  .hero{
    min-height:820px !important;
  }
  .hero-reference-layout{
    min-height:820px !important;
    padding-top:104px !important;
    padding-bottom:36px !important;
  }
  .hero-reference-copy h1{
    font-size:40px !important;
    line-height:1 !important;
  }
  .hero-subline{
    font-size:20px !important;
  }
  .hero-reference-copy p{
    margin-top:24px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
  .hero-primary-cta{
    width:100%;
    text-align:center;
    padding:10px 16px !important;
  }
  .hero-capability{
    grid-template-columns:1fr 40px;
    padding-left:4px;
  }
  .capability-copy{
    gap:8px;
  }
  .capability-copy small{
    display:none;
  }
  .capability-copy strong{
    font-size:19px;
  }
  .hero-star{
    top:17%;
    left:76%;
    transform:translate(-50%,-50%) scale(.76);
  }
}



/* ==========================================================
   V15 — Bright, eye-catching imagery across all non-hero areas
   while preserving strong text readability
   ========================================================== */

/* Intro image */
.video-card{
  background:#dce9f3 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.video-card img{
  opacity:1 !important;
  filter:brightness(1.12) saturate(1.08) contrast(1.02) !important;
  transition:transform .7s var(--ease-slow),filter .5s ease !important;
}
.video-card:hover img{
  transform:scale(1.025) !important;
  filter:brightness(1.16) saturate(1.10) contrast(1.02) !important;
}
.video-card::after{
  background:
    linear-gradient(180deg,
      rgba(2,8,20,.02) 0%,
      rgba(2,8,20,.02) 48%,
      rgba(2,8,20,.36) 100%) !important;
}

/* Approach cards — bright like the attached/reference cards */
.approach-card{
  background:#edf5fb !important;
  box-shadow:0 14px 36px rgba(16,37,66,.10) !important;
}
.approach-card img{
  opacity:1 !important;
  filter:brightness(1.13) saturate(1.12) contrast(1.03) !important;
}
.approach-card::after{
  background:
    linear-gradient(180deg,
      rgba(2,8,20,.00) 5%,
      rgba(2,8,20,.10) 48%,
      rgba(2,8,20,.78) 100%) !important;
}
.approach-card h3{
  color:#fff !important;
  font-size:18px !important;
  font-weight:700 !important;
  text-shadow:0 3px 14px rgba(0,0,0,.72) !important;
}
.approach-card:hover img{
  transform:scale(1.055) !important;
  filter:brightness(1.18) saturate(1.14) contrast(1.03) !important;
}

/* Services: brighter photos, stronger bottom-only readable overlay */
.service-card{
  background:#17365b !important;
}
.service-card img{
  opacity:1 !important;
  filter:brightness(1.12) saturate(1.12) contrast(1.02) !important;
}
.service-card::before{
  background:
    linear-gradient(180deg,
      rgba(4,16,36,.02) 0%,
      rgba(4,16,36,.08) 34%,
      rgba(4,16,36,.36) 62%,
      rgba(4,16,36,.88) 100%) !important;
}
.service-card:hover img{
  transform:scale(1.065) !important;
  filter:brightness(1.18) saturate(1.15) contrast(1.02) !important;
}
.service-card .number,
.service-title-row h3,
.service-card p{
  text-shadow:0 3px 14px rgba(0,0,0,.64) !important;
}
.service-card .number{
  color:#e7f7ff !important;
}

/* Industry: show more of the photo, keep left copy readable */
.industry-bg{
  filter:brightness(1.12) saturate(1.10) contrast(1.02) !important;
}
.industry-bg::after{
  background:
    linear-gradient(90deg,
      rgba(5,18,42,.86) 0%,
      rgba(5,18,42,.64) 28%,
      rgba(5,18,42,.30) 52%,
      rgba(5,18,42,.10) 78%,
      rgba(5,18,42,.18) 100%),
    linear-gradient(180deg,
      rgba(3,14,31,.05) 0%,
      rgba(3,14,31,.04) 58%,
      rgba(3,14,31,.48) 100%) !important;
}
.industry-copy{
  padding:24px 26px !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,rgba(6,28,57,.48),rgba(6,28,57,.22)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  box-shadow:0 20px 45px rgba(0,0,0,.14) !important;
}
.industry-copy h3,
.industry-copy p{
  text-shadow:0 3px 16px rgba(0,0,0,.55) !important;
}

/* Work cards */
.work-card{
  background:#16365d !important;
}
.work-card img{
  opacity:1 !important;
  filter:brightness(1.11) saturate(1.10) contrast(1.02) !important;
}
.work-card::before{
  background:
    linear-gradient(180deg,
      rgba(5,14,33,.01) 8%,
      rgba(9,25,55,.08) 38%,
      rgba(9,25,55,.44) 66%,
      rgba(9,27,59,.94) 100%) !important;
}
.work-card:hover img{
  opacity:1 !important;
  filter:brightness(1.18) saturate(1.13) contrast(1.02) !important;
}
.work-info small,
.work-info h3,
.work-info p{
  text-shadow:0 3px 15px rgba(0,0,0,.65) !important;
}

/* Testimonials */
.testimonials{
  min-height:82vh !important;
  background:
    radial-gradient(circle at 86% 22%,rgba(39,215,238,.08),transparent 28%),
    linear-gradient(180deg,#fff,#f6fbff 100%) !important;
}
.testimonial-heading-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin-bottom:38px !important;
}
.testimonial-heading-row h2{
  margin:0 !important;
}
.testimonial-top-controls{
  display:flex !important;
  gap:10px !important;
}
.testimonial-arrow{
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  border:1px solid rgba(16,37,66,.16) !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(16,37,66,.10) !important;
  display:grid !important;
  place-items:center !important;
  transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease) !important;
}
.testimonial-arrow::before{
  content:"" !important;
  display:block !important;
  width:9px !important;
  height:15px !important;
  background:center/contain no-repeat url("../icons/arrow-dark.svg") !important;
}
.testimonial-prev::before{
  transform:rotate(180deg) !important;
}
.testimonial-arrow:hover{
  transform:translateY(-2px) !important;
  background:#c8f3fa !important;
  border-color:rgba(39,215,238,.45) !important;
}
.testimonial-stage{
  position:relative !important;
  padding:6px 0 !important;
}
.testimonial-main{
  padding:34px !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid #e6eef4 !important;
  box-shadow:0 24px 70px rgba(16,37,66,.10) !important;
  transition:opacity .22s ease,transform .22s ease !important;
}
.testimonial-main.is-changing{
  opacity:.25 !important;
  transform:translateY(6px) !important;
}
.testimonial-photo{
  width:300px !important;
  height:330px !important;
  border-radius:24px !important;
}
.testimonial-photo img{
  filter:brightness(1.08) saturate(1.06) contrast(1.01) !important;
}
.quote-text{
  font-size:20px !important;
  color:#2e415d !important;
}
.person-chip img{
  filter:brightness(1.07) saturate(1.04) !important;
}
.person-chip.active{
  opacity:1 !important;
  color:#102542 !important;
}

/* Knowledge Hub: bright imagery + readable lower gradient */
.insight{
  background:#e8f2f8 !important;
}
.insight img{
  opacity:1 !important;
  filter:brightness(1.12) saturate(1.10) contrast(1.02) !important;
}
.insight::after{
  background:
    linear-gradient(180deg,
      rgba(2,8,20,.00) 0%,
      rgba(2,8,20,.05) 42%,
      rgba(2,8,20,.78) 100%) !important;
}
.insight:hover img{
  transform:scale(1.055) !important;
  filter:brightness(1.17) saturate(1.13) contrast(1.02) !important;
}
.insight-info h3,
.insight-info small{
  text-shadow:0 3px 14px rgba(0,0,0,.66) !important;
}

/* Keep partner logos untouched; only brighten white card surface */
.partner-card{
  background:#fff !important;
}

/* responsive */
@media(max-width:980px){
  .testimonial-main{
    grid-template-columns:240px 1fr !important;
    padding:26px !important;
  }
  .testimonial-photo{
    width:240px !important;
    height:280px !important;
  }
}
@media(max-width:640px){
  .testimonial-heading-row{
    align-items:flex-start !important;
  }
  .testimonial-arrow{
    width:44px !important;
    height:44px !important;
  }
  .testimonial-main{
    grid-template-columns:1fr !important;
    padding:20px !important;
  }
  .testimonial-photo{
    width:100% !important;
    height:300px !important;
  }
  .testimonial-nav{
    justify-content:flex-start !important;
  }
}



/* V14 — header logo matched to the approved dark-header mockup */
.site-header .brand{
  width:168px !important;
  min-width:168px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  isolation:auto !important;
}
.site-header .brand::before,
.site-header .brand::after{
  display:none !important;
  content:none !important;
}
.site-header .brand img{
  width:168px !important;
  max-width:168px !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:drop-shadow(0 5px 13px rgba(0,0,0,.22)) !important;
}
@media(max-width:980px){
  .site-header .brand{width:154px !important;min-width:154px !important}
  .site-header .brand img{width:154px !important;max-width:154px !important}
}
@media(max-width:640px){
  .site-header .brand{width:140px !important;min-width:140px !important}
  .site-header .brand img{width:140px !important;max-width:140px !important}
}



.footer-heading-row{
  align-items:flex-start !important;
}
.footer-intro{
  padding-top:8px;
}
.hero-media video.hero-video{
  position:absolute !important;
  inset:-2% !important;
  width:104% !important;
  height:104% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:.9 !important;
  mix-blend-mode:normal !important;
  filter:brightness(.88) contrast(1.08) saturate(1.15) !important;
  transform:scale(1.03) !important;
}
.hero-media{
  background:
    linear-gradient(135deg, rgba(6,22,46,.18), rgba(6,22,46,.10)),
    url("../images/hero-poster.jpg") center 52% / cover no-repeat !important;
}
.hero-media::before{
  background:
    linear-gradient(90deg,
      rgba(1,10,24,.82) 0%,
      rgba(2,12,29,.64) 34%,
      rgba(2,13,31,.32) 62%,
      rgba(2,13,31,.30) 100%),
    linear-gradient(180deg,
      rgba(8,26,52,.22) 0%,
      rgba(8,26,52,.08) 40%,
      rgba(2,10,24,.22) 74%,
      rgba(2,8,20,.56) 100%) !important;
}
.hero-media::after{
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.16), transparent 9%),
    radial-gradient(ellipse at 48% 42%, rgba(39,215,238,.10), transparent 28%),
    radial-gradient(ellipse at 85% 70%, rgba(35,48,126,.18), transparent 34%) !important;
}
.hero-reference-copy h1,
.hero-subline,
.hero-reference-copy p{
  text-shadow:0 8px 30px rgba(0,0,0,.56) !important;
}
@media(max-width:640px){
  .footer-tagline{font-size:11px; letter-spacing:.07em;}
}



/* ==========================================================
   V17 — Header tagline + premium mountain/technology hero
   ========================================================== */
.site-header .brand{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:4px !important;
  width:226px !important;
  min-width:226px !important;
}
.site-header .brand img{
  width:168px !important;
  max-width:168px !important;
}
.site-header .brand .brand-tagline{
  display:block;
  margin:0;
  font-size:9px;
  line-height:1.15;
  letter-spacing:.18em;
  font-weight:600;
  text-transform:uppercase;
  color:rgba(223,243,255,.9);
  text-shadow:0 3px 10px rgba(0,0,0,.35);
  white-space:nowrap;
}
.hero-media{
  background:
    linear-gradient(135deg, rgba(6,22,46,.16), rgba(8,24,52,.08)),
    url("../images/hero-poster.jpg") center 50% / cover no-repeat !important;
}
.hero-media video.hero-video{
  opacity:.96 !important;
  object-position:center center !important;
  filter:brightness(.82) contrast(1.16) saturate(1.2) !important;
  transform:scale(1.04) !important;
}
.hero-media::before{
  background:
    linear-gradient(90deg,
      rgba(1,10,24,.84) 0%,
      rgba(2,12,29,.66) 32%,
      rgba(2,13,31,.34) 60%,
      rgba(2,13,31,.32) 100%),
    linear-gradient(180deg,
      rgba(8,26,52,.26) 0%,
      rgba(8,26,52,.08) 38%,
      rgba(2,10,24,.18) 72%,
      rgba(2,8,20,.58) 100%) !important;
}
.hero-media::after{
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.18), transparent 10%),
    radial-gradient(ellipse at 49% 40%, rgba(39,215,238,.10), transparent 28%),
    radial-gradient(ellipse at 83% 72%, rgba(35,48,126,.18), transparent 36%) !important;
}
.hero-tech-grid,
.hero-tech-lines,
.hero-tech-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-tech-grid{
  z-index:4;
  opacity:.22;
  background-image:
    linear-gradient(rgba(110,202,255,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110,202,255,.11) 1px, transparent 1px);
  background-size:64px 64px, 64px 64px;
  mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.9) 20%, rgba(0,0,0,.9) 78%, transparent 100%);
}
.hero-tech-lines{
  z-index:5;
  background:
    linear-gradient(112deg, transparent 58%, rgba(57,210,255,.18) 74%, transparent 88%),
    linear-gradient(90deg, transparent 66%, rgba(124,235,255,.18) 72%, transparent 78%),
    linear-gradient(180deg, transparent 0%, transparent 62%, rgba(75,168,255,.12) 100%);
}
.hero-tech-lines::before,
.hero-tech-lines::after{
  content:"";
  position:absolute;
  border-radius:999px;
  filter:blur(0px);
  opacity:.95;
}
.hero-tech-lines::before{
  width:260px;
  height:1px;
  right:8%;
  top:27%;
  background:linear-gradient(90deg, transparent, rgba(136,234,255,.92), transparent);
  box-shadow:0 0 18px rgba(101,223,255,.35);
}
.hero-tech-lines::after{
  width:1px;
  height:180px;
  right:15%;
  top:18%;
  background:linear-gradient(180deg, transparent, rgba(136,234,255,.85), transparent);
  box-shadow:0 0 18px rgba(101,223,255,.35);
}
.hero-tech-glow{
  z-index:3;
  background:
    radial-gradient(circle at 78% 18%, rgba(69,216,255,.16), transparent 0 18%),
    radial-gradient(circle at 80% 74%, rgba(56,80,196,.18), transparent 0 24%);
}
.hero-reference-copy h1,
.hero-subline,
.hero-reference-copy p{
  text-shadow:0 8px 30px rgba(0,0,0,.58) !important;
}
@media(max-width:1100px){
  .site-header .brand{width:210px !important;min-width:210px !important;gap:3px !important;}
  .site-header .brand .brand-tagline{font-size:9px;letter-spacing:.15em;}
}
@media(max-width:980px){
  .site-header .brand{width:190px !important;min-width:190px !important;}
  .site-header .brand img{width:150px !important;max-width:150px !important;}
  .site-header .brand .brand-tagline{font-size:8px;letter-spacing:.13em;}
  .hero-tech-grid{opacity:.16;background-size:44px 44px,44px 44px;}
}
@media(max-width:640px){
  .site-header .brand{width:164px !important;min-width:164px !important;gap:2px !important;}
  .site-header .brand img{width:136px !important;max-width:136px !important;}
  .site-header .brand .brand-tagline{font-size:7px;letter-spacing:.11em;}
  .hero-tech-lines::before{width:160px; right:5%; top:21%;}
  .hero-tech-lines::after{height:110px; right:10%; top:15%;}
}



/* V18 — Technology-focused banner video */
.hero-media{
  background:
    linear-gradient(135deg, rgba(4,14,34,.22), rgba(8,24,52,.10)),
    url("../images/hero-poster.jpg") center 50% / cover no-repeat !important;
}
.hero-media video.hero-video{
  opacity:.98 !important;
  object-position:center center !important;
  filter:brightness(.70) contrast(1.2) saturate(1.15) !important;
}
.hero-media::before{
  background:
    linear-gradient(90deg,
      rgba(2,10,24,.88) 0%,
      rgba(3,12,30,.72) 32%,
      rgba(3,15,34,.40) 62%,
      rgba(3,15,34,.36) 100%),
    linear-gradient(180deg,
      rgba(6,20,46,.30) 0%,
      rgba(6,20,46,.10) 40%,
      rgba(2,10,24,.20) 74%,
      rgba(2,8,20,.62) 100%) !important;
}
.hero-tech-grid{
  opacity:.28;
  background-size:56px 56px, 56px 56px;
}
.hero-tech-lines{
  background:
    linear-gradient(112deg, transparent 58%, rgba(57,210,255,.24) 74%, transparent 88%),
    linear-gradient(90deg, transparent 66%, rgba(124,235,255,.18) 72%, transparent 78%),
    linear-gradient(180deg, transparent 0%, transparent 62%, rgba(75,168,255,.15) 100%);
}
.hero-tech-glow{
  background:
    radial-gradient(circle at 77% 22%, rgba(39,215,238,.22), transparent 0 18%),
    radial-gradient(circle at 79% 72%, rgba(56,80,196,.22), transparent 0 24%);
}



.hero-media video.hero-video{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:1 !important;
  filter:brightness(1.06) contrast(1.08) saturate(1.16) !important;
  transform:scale(1.015) !important;
  z-index:1 !important;
}
.hero-media::before{
  z-index:2 !important;
  background:
    linear-gradient(90deg,
      rgba(1,9,23,.88) 0%,
      rgba(2,12,29,.70) 32%,
      rgba(2,14,32,.34) 60%,
      rgba(2,14,32,.24) 100%),
    linear-gradient(180deg,
      rgba(3,13,31,.18) 0%,
      rgba(3,13,31,.05) 42%,
      rgba(2,8,20,.20) 74%,
      rgba(2,8,20,.54) 100%) !important;
}
.hero-media::after{
  z-index:3 !important;
  background:
    radial-gradient(circle at 80% 31%, rgba(39,215,238,.10), transparent 18%),
    radial-gradient(ellipse at 80% 74%, rgba(17,64,240,.12), transparent 28%) !important;
}
.hero-tech-grid{opacity:.08 !important; z-index:4 !important;}
.hero-tech-lines{opacity:.12 !important; z-index:4 !important;}
.hero-tech-glow{opacity:.22 !important; z-index:3 !important;}
.hero-reference-layout,
.hero-star,
.hero-edge-glow{position:relative; z-index:6;}
.hero-reference-copy h1,
.hero-subline,
.hero-reference-copy p{
  text-shadow:0 8px 32px rgba(0,0,0,.62) !important;
}

/* ==========================================================
   Accessibility & motion
   ========================================================== */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  z-index:10000;
}
.skip-link:focus{
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  padding:12px 18px;
  background:var(--cyan);
  color:var(--deep);
  font-weight:700;
  border-radius:999px;
  outline:2px solid #fff;
  outline-offset:2px;
}
:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
}
:focus:not(:focus-visible){
  outline:none;
}
body.menu-open{
  overflow:hidden;
}
.form-status{
  margin-top:14px;
  font-size:13px;
  line-height:1.5;
  color:rgba(255,255,255,.72);
  min-height:1.25em;
}
.form-status.is-pending{color:#9ec5ff}
.form-status.is-success{
  color:#7dffa8;
  font-weight:600;
}
.form-status.is-error{
  color:#ff8f8f;
  font-weight:600;
}
.contact .form-status.is-success,
.contact .form-status.is-error{
  padding:10px 0 2px;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  .reveal,.stagger>*{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .hero-media{transform:none !important;will-change:auto}
  .hero-media video.hero-video{transform:none !important}
}

/* WordPress menu compatibility */
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:25px}
.nav li{margin:0;padding:0}
.footer-col .menu,.footer-columns .menu{list-style:none;margin:0;padding:0}
.footer-col .menu a{display:block}
.footer-legal{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
.footer-legal a{color:inherit;text-decoration:none}
.footer-legal a:hover{text-decoration:underline}

/* Search overlay */
button.search{
  cursor:pointer;
  font:inherit;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
}
.trinetix-search-overlay{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:min(18vh,140px) 20px 40px;
  background:rgba(4,17,39,.72);
  backdrop-filter:blur(6px);
}
.trinetix-search-overlay[hidden]{display:none !important}
.trinetix-search-overlay__panel{
  position:relative;
  width:min(640px,100%);
  background:#081a33;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:28px 24px 24px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.trinetix-search-overlay__close{
  position:absolute;
  top:10px;
  right:12px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.trinetix-search-overlay__form{
  display:flex;
  gap:12px;
  align-items:stretch;
  margin-top:8px;
}
.trinetix-search-overlay__input{
  flex:1;
  min-height:48px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0 16px;
  font-size:16px;
}
.trinetix-search-overlay__input::placeholder{color:rgba(255,255,255,.55)}
.trinetix-search-overlay__submit{flex-shrink:0;min-height:48px}
body.search-open{overflow:hidden}
@media(max-width:640px){
  .trinetix-search-overlay__form{flex-direction:column}
}

/* Page Sections template */
.page-sections .page-hero{padding-top:120px;padding-bottom:48px}
.page-sections .page-hero-media{margin-bottom:28px;border-radius:16px;overflow:hidden}
.page-sections .page-hero-media img{display:block;width:100%;height:auto}
.page-sections .page-hero-copy h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3.2rem)}
.page-sections .page-hero-copy p{margin:0;max-width:42rem;opacity:.85}
.page-sections-content .entry-content > *:first-child{margin-top:0}


