/* ============================================================
   PGTEK — inner-page system (site.css)
   Built on the homepage tokens defined in styles.css :root.
   Loaded alongside styles.css on every non-home page.
   ============================================================ */

/* inner-page tokens */
:root{--hover-glow:.35}

/* page rhythm ------------------------------------------------- */
main{display:block}
.sec{padding-block:clamp(54px,8vw,100px)}
.sec-sm{padding-block:clamp(40px,5vw,68px)}
.sec.alt{background:var(--page-2)}
.rule{height:1px;background:var(--line-soft);border:0;margin:0}

/* ============================================================
   PAGE HERO (dark, cinematic — echoes the homepage)
   ============================================================ */
.page-hero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(120% 105% at 78% 14%,#2b313c 0%,#15181d 52%,#0b0d11 100%);
  padding-top:clamp(168px,19vh,232px);padding-bottom:clamp(64px,8vw,104px)}
.page-hero .ph-photo{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('assets/hero-datacenter-bright.webp') center right / cover no-repeat;
  opacity:.4;
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.35) 32%,#000 72%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.35) 32%,#000 72%)}
.page-hero .ph-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
body.hero-ai-strategy .page-hero .ph-photo{display:none}
body.hero-hybrid .page-hero .ph-photo{background-image:url('assets/hero-hybrid-cloud.jpg');
  background-position:100% center;background-size:cover;opacity:.85;filter:contrast(1.04) saturate(1.05);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 34%,#000 66%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 34%,#000 66%)}
body.hero-hpc .page-hero .ph-photo{background-image:url('assets/hero-hpc.jpg');
  background-position:100% center;background-size:cover;opacity:.85;filter:contrast(1.04) saturate(1.05);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 34%,#000 66%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 34%,#000 66%)}
body.hero-migration .page-hero .ph-photo{background-image:url('assets/hero-migration.jpg');
  background-position:center right;background-size:cover;opacity:.85;filter:contrast(1.05) saturate(1.05);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%)}
body.hero-managed .page-hero .ph-photo{background-image:url('assets/hero-managed.jpg');
  background-position:72% 8%;background-size:cover;opacity:.82;filter:contrast(1.04) saturate(1.04);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%)}
body.hero-security .page-hero .ph-photo{background-image:url('assets/hero-security.jpg');
  background-position:center right;background-size:cover;opacity:.9;filter:contrast(1.04) saturate(1.06);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%)}body.hero-ai-strategy .page-hero .ph-video{opacity:.88;filter:contrast(1.04) saturate(1.08);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%)}
body.hero-federal .page-hero .ph-photo{display:none}
body.hero-federal .page-hero .ph-video{opacity:.92;filter:contrast(1) brightness(1.55) saturate(1.05);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.32) 22%,#000 52%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.32) 22%,#000 52%)}
body.hero-federal .page-hero .ph-scrim{
  background:linear-gradient(180deg,rgba(11,13,17,.22) 0%,rgba(11,13,17,.05) 38%,rgba(11,13,17,.35) 100%),
             linear-gradient(95deg,rgba(11,13,17,.62) 0%,rgba(11,13,17,.28) 36%,rgba(11,13,17,.02) 74%)}

/* ============================================================
   EDITORIAL HERO (light, Palantir-style split statement)
   ============================================================ */
.ed-hero{background:var(--page);padding-top:clamp(150px,17vh,206px);padding-bottom:clamp(30px,4vw,48px)}
.ed-hero .ed-split{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.ed-hero h1{font-family:var(--display);font-weight:500;letter-spacing:-.038em;line-height:.94;
  font-size:clamp(2.6rem,7.4vw,6.2rem);color:var(--ink);margin:0;text-wrap:balance}
.ed-hero .ed-statement{font-family:var(--display);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.35rem,2.5vw,2.1rem);line-height:1.22;color:var(--ink);max-width:26ch;padding-top:.5rem;text-wrap:pretty}
.ed-hero .ed-statement em{font-style:normal;color:var(--ink-3)}
.ed-hero .crumb{color:var(--ink-3)}
.ed-hero .crumb:hover{color:var(--ink)}
.ed-band{padding-bottom:clamp(48px,7vw,88px);background:var(--page)}
.ed-figure{position:relative;overflow:hidden;border-radius:var(--r-md);
  aspect-ratio:21/9;min-height:300px;
  background:radial-gradient(120% 130% at 78% 12%,#39414f 0%,#1b1f26 46%,#0b0d11 100%)}
.ed-figure .ph-grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.45;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(78% 84% at 24% 18%,#000,transparent);mask-image:radial-gradient(78% 84% at 24% 18%,#000,transparent)}
.ed-figure .ph-mesh{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.9}
.ed-figure .ed-photo{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('assets/hero-datacenter-bright.webp') center/cover no-repeat;opacity:.5;
  -webkit-mask-image:linear-gradient(100deg,transparent 4%,rgba(0,0,0,.4) 34%,#000 74%);
  mask-image:linear-gradient(100deg,transparent 4%,rgba(0,0,0,.4) 34%,#000 74%)}
.ed-figure .ed-cap{position:absolute;z-index:3;left:clamp(1.2rem,2.4vw,2rem);bottom:clamp(1.1rem,2.2vw,1.7rem);
  font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:rgba(255,255,255,.72)}
body.hero-about .ed-figure{background:none;aspect-ratio:16/9;min-height:520px}
@media (max-width:900px){
  .ed-hero .ed-split{grid-template-columns:1fr;gap:1.6rem}
  .ed-hero .ed-statement{max-width:46ch;padding-top:0}
  .ed-figure{aspect-ratio:16/10}
  /* narrower ratio + shorter min-height than the desktop rule above (which,
     at this width, would force the box wider than the viewport to keep
     16/9 at 520px tall — that's the mobile horizontal-overflow bug) */
  body.hero-about .ed-figure{aspect-ratio:4/5;min-height:420px}
}
body.hero-about .ed-figure .ed-photo{background-image:url('assets/about-stratosphere.jpg');
  background-position:center 30%;opacity:1;-webkit-mask-image:none;mask-image:none}
body.hero-about .ed-figure .ph-grid{display:none}
body.hero-about .ed-figure .ph-mesh{opacity:.3}
body.hero-about .ed-figure .ed-cap{color:rgba(255,255,255,.86)}

/* ============================================================
   JOB BOARD (careers)
   ============================================================ */
.jobfilter{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.6rem}
.jobfilter input,.jobfilter select{font-family:var(--body);font-size:.95rem;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:.85rem 1rem;
  transition:border-color .2s,box-shadow .2s}
.jobfilter input{flex:1;min-width:240px}
.jobfilter select{min-width:190px;cursor:pointer}
.jobfilter input:focus,.jobfilter select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(21,23,27,.12)}
.jobfilter input::placeholder{color:var(--ink-4)}
.jobgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.job{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:1.5rem 1.6rem;display:flex;flex-direction:column;gap:1rem;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.job:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(20,23,27,.4);border-color:var(--line)}
.job h3{font-family:var(--display);font-weight:500;font-size:1.12rem;letter-spacing:-.012em;color:var(--ink);line-height:1.28}
.job-meta{display:flex;gap:.45rem;flex-wrap:wrap}
.job-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:99px;padding:.32rem .7rem;color:var(--ink)}
.job-tag.loc{color:var(--ink-2);border-color:color-mix(in oklab,var(--ink) 25%,transparent)}
.job-tag.clr{color:var(--ink-2)}
.job-apply{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--display);font-size:.85rem;
  font-weight:500;color:var(--ink);margin-top:auto}
.job-apply .ar{transition:transform .3s}
.job:hover .job-apply .ar{transform:translateX(4px)}
.job-empty{padding:2.4rem 0;color:var(--ink-3);font-size:.98rem}

/* benefits columns */
.bencols{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bencol{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:1.6rem 1.5rem}
.bencol h3{font-family:var(--display);font-weight:500;font-size:1.08rem;color:var(--ink);margin-bottom:.9rem;
  padding-bottom:.8rem;border-bottom:1px solid var(--line-soft)}
.bencol ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.bencol li{position:relative;padding-left:1.1rem;font-size:.88rem;color:var(--ink-3);line-height:1.5}
.bencol li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:1px;
  background:var(--accent);transform:rotate(45deg)}

/* rights list */
.rights{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);
  border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden}
.right-item{background:var(--card);padding:1.15rem 1.4rem;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;transition:background .2s}
.right-item:hover{background:var(--page-2)}
.right-item .rt{font-size:.94rem;color:var(--ink-2);line-height:1.4}
.right-item .rl{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap}
.rights .right-item:last-child:nth-child(odd){grid-column:1 / -1}
@media (max-width:1080px){.bencols{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.jobgrid,.bencols,.rights{grid-template-columns:1fr}}

/* partner lockup (logo | role) above the hero headline */
.plock{display:flex;align-items:center;gap:.7rem;margin-bottom:1.25rem}
.plock img{height:15px;width:auto;display:block}
.plock .plock-icon{height:26px}
.plock .plock-google{height:28px;width:auto}
.plock .plock-word{font-family:var(--display);font-weight:500;font-size:.98rem;letter-spacing:-.01em;color:#fff;margin-left:-.2rem}
.plock .pdiv{width:1px;height:14px;background:rgba(255,255,255,.3)}
.plock .prole{font-family:var(--body);font-style:italic;font-size:.84rem;color:rgba(255,255,255,.8);letter-spacing:.005em}
@media (max-width:680px){.plock img{height:13px}.plock .plock-icon{height:17px}.plock .plock-google{height:23px}.plock .prole{font-size:.78rem}}

/* ============================================================
   EMPLOYEE PORTAL — standalone (internal.pgtek.com)
   ============================================================ */
body.portal{background:#fff}
.portal-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--line-soft)}
.portal-nav .pn-inner{max-width:var(--max);margin:0 auto;padding:0 var(--gut);height:68px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem}
.portal-nav .pn-brand{display:flex;align-items:center;gap:.8rem}
.portal-nav .pn-brand img{height:22px;width:auto;display:block}
.portal-nav .pn-env{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:var(--ink-4);
  border-left:1px solid var(--line);padding-left:.8rem}
.portal-nav .pn-user{display:flex;align-items:center;gap:.7rem}
.portal-nav .pn-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--ink);color:#fff;font-family:var(--display);font-size:.7rem;font-weight:600;letter-spacing:.01em}
.portal-nav .pn-email{font-family:var(--mono);font-size:.78rem;color:var(--ink-2)}
.portal-nav .pn-out{font-family:var(--mono);font-size:.74rem;color:var(--ink-4);
  border-left:1px solid var(--line);padding-left:.8rem;transition:color .2s}
.portal-nav .pn-out:hover{color:var(--ink)}

.portal-head{padding:clamp(38px,6vw,62px) 0 clamp(18px,2.6vw,26px)}
.portal-head h1{font-family:var(--display);font-weight:500;letter-spacing:-.03em;line-height:1.02;
  font-size:clamp(1.9rem,4vw,3rem);color:var(--ink);margin-bottom:.9rem}
.portal-head h1 em{font-style:normal;color:var(--ink-3)}
.portal-head p{font-size:1rem;color:var(--ink-3);line-height:1.6;max-width:58ch}

.portal-search{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.4rem}
.portal-search input{flex:1;min-width:260px;font-family:var(--body);font-size:.95rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1.05rem;
  transition:border-color .2s,box-shadow .2s}
.portal-search input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(21,23,27,.12)}
.portal-search input::placeholder{color:var(--ink-4)}

.pgroup{margin-bottom:clamp(2.6rem,4.5vw,3.6rem)}
.pgroup:last-child{margin-bottom:0}
.pgroup-head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1.3rem;
  padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.pgroup-head h2{font-family:var(--display);font-weight:500;font-size:1.22rem;letter-spacing:-.02em;color:var(--ink)}
.pgroup-head .psub{font-size:.88rem;color:var(--ink-3)}
.pgroup-head .pcount{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-4);margin-left:auto}

.applist{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.app{--ac:var(--accent);position:relative;display:flex;flex-direction:column;gap:.5rem;
  background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:1.4rem 1.45rem;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}
.app::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ac);
  opacity:0;transition:opacity .3s}
.app:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(20,23,27,.4);border-color:var(--line)}
.app:hover::before{opacity:1}
.app-top{display:flex;align-items:center;gap:.7rem;margin-bottom:.35rem}
.app-dot{width:9px;height:9px;border-radius:50%;background:var(--ac);flex:0 0 auto}
.app-num{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--ink-4)}
.app-slug{font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;color:var(--ink-4);
  background:rgba(20,23,27,.05);border-radius:5px;padding:.15rem .45rem}
.app h3{font-family:var(--display);font-weight:500;font-size:1.04rem;letter-spacing:-.01em;color:var(--ink);line-height:1.3}
.app-logo{height:30px;max-width:190px;width:auto;object-fit:contain;object-position:left center;
  display:block;margin:.1rem 0 .5rem}
.app-logo.wide{height:22px;max-width:210px}
.app-logo.tall{height:34px}
.app p{font-size:.86rem;color:var(--ink-3);line-height:1.55}
.app .app-meta{font-family:var(--mono);font-size:.72rem;color:var(--ink-4);line-height:1.65;
  padding-top:.7rem;margin-top:.2rem;border-top:1px solid var(--line-soft)}
.app .app-open{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:.9rem;
  font-family:var(--display);font-size:.82rem;font-weight:500;color:var(--ink-2);transition:color .25s}
.app .app-open .ar{transition:transform .3s}
.app:hover .app-open{color:var(--ac)}
.app:hover .app-open .ar{transform:translateX(4px)}

.portal-empty{padding:2.4rem 0;color:var(--ink-3);font-size:.98rem}
.portal-foot{border-top:1px solid var(--line-soft);margin-top:clamp(48px,7vw,80px);
  padding:1.8rem 0 2.4rem;background:none;color:var(--ink)}
.portal-foot .pf-inner{max-width:var(--max);margin:0 auto;padding:0 var(--gut);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.portal-foot .pf-l{display:flex;align-items:center;gap:.7rem}
.portal-foot img{height:16px;width:auto;opacity:.7}
.portal-foot .pf-tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--ink-4)}
.portal-foot .pf-cp{font-family:var(--mono);font-size:.72rem;color:var(--ink-4)}
@media (max-width:980px){.applist{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .applist{grid-template-columns:1fr}
  .portal-nav .pn-env,.portal-nav .pn-email{display:none}
}

/* per-page hero backdrops */
body.hero-hpe .page-hero .ph-photo{background-image:url('assets/hero-hpe.jpg');opacity:.52;
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 30%,#000 68%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 30%,#000 68%)}
body.hero-dell .page-hero .ph-photo{background-image:url('assets/hero-dell.jpg');opacity:.5;
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 30%,#000 68%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 30%,#000 68%)}
body.hero-broadcom .page-hero .ph-photo{background-image:url('assets/hero-broadcom-hq.jpg');
  background-position:center center;background-size:cover;background-repeat:no-repeat;opacity:.9;
  -webkit-mask-image:none;mask-image:none}
body.hero-broadcom .page-hero .ph-scrim{
  background:linear-gradient(180deg,rgba(11,13,17,.5) 0%,rgba(11,13,17,.25) 40%,rgba(11,13,17,.62) 100%),
             linear-gradient(95deg,rgba(11,13,17,.82) 0%,rgba(11,13,17,.55) 34%,rgba(11,13,17,.3) 62%,rgba(11,13,17,.22) 100%)}
body.hero-broadcom .page-hero h1 em{color:#CC092F}
body.hero-dell .page-hero h1 em{color:#0076CE}
body.hero-hpe .page-hero h1 em{color:#01A982}
body.hero-nutanix .page-hero h1 em{color:#7855fa}
body.hero-nutanix .page-hero .ph-photo{background-image:url('assets/hero-nutanix.jpg');
  background-position:center 44%;opacity:.85;filter:contrast(1.14) brightness(1.06);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.35) 16%,#000 40%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.35) 16%,#000 40%)}
body.hero-ai-infra .page-hero .ph-photo{background-image:url('assets/hero-ai-infrastructure.jpg');
  background-position:center right;background-size:cover;opacity:.85;filter:contrast(1.05) saturate(1.1);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%)}
body.hero-omnissa .page-hero .ph-photo{background-image:url('assets/hero-omnissa.jpg');
  background-position:center 44%;background-size:cover;opacity:.85;filter:contrast(1.08) saturate(1.05);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.3) 28%,#000 62%)}
body.hero-google .page-hero h1 em .g-b{color:#4285F4}
body.hero-google .page-hero h1 em .g-r{color:#EA4335}
body.hero-google .page-hero h1 em .g-y{color:#FBBC05}
body.hero-google .page-hero h1 em .g-g{color:#0F9D58}
body.hero-google .page-hero .ph-photo{background-image:url('assets/hero-google-5.webp');
  background-position:right center;background-size:cover;opacity:.8;filter:contrast(1.06);
  -webkit-mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.32) 16%,#000 40%);
  mask-image:linear-gradient(95deg,transparent 0%,rgba(0,0,0,.32) 16%,#000 40%)}
.page-hero .ph-grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(78% 80% at 72% 22%,#000,transparent);mask-image:radial-gradient(78% 80% at 72% 22%,#000,transparent)}
.page-hero .ph-mesh{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.9}
.page-hero .ph-scrim{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,13,17,.42) 0%,rgba(11,13,17,.12) 38%,rgba(11,13,17,.6) 100%),
             linear-gradient(95deg,rgba(11,13,17,.86) 0%,rgba(11,13,17,.5) 36%,rgba(11,13,17,.05) 74%)}
.page-hero .wrap{position:relative;z-index:4}
.crumb{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--display);
  font-size:.8rem;font-weight:500;color:rgba(255,255,255,.66);margin-bottom:1.4rem;transition:color .2s}
.crumb:hover{color:#fff}
.crumb .ar{transition:transform .25s}
.crumb:hover .ar{transform:translateX(-3px)}
.page-hero .eyebrow{color:rgba(255,255,255,.72)}
.page-hero .eyebrow::before{background:rgba(255,255,255,.6)}
body.accent-on .page-hero .eyebrow::before{background:var(--accent)}
.page-hero h1{font-family:var(--display);font-weight:500;letter-spacing:-.03em;line-height:1.0;
  font-size:clamp(2.3rem,5.4vw,4.5rem);margin:1.2rem 0 0;max-width:17ch;text-wrap:balance;color:#fff}
.page-hero h1 em{font-style:normal;color:rgba(255,255,255,.6)}
.hero-lede{font-size:clamp(1.05rem,1.6vw,1.3rem);color:rgba(255,255,255,.82);line-height:1.6;max-width:62ch;margin-top:1.5rem}
.hero-row{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem;align-items:center}

/* award / fact chips ----------------------------------------- */
.chips-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.8rem}
.chip-fact{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:rgba(255,255,255,.8);
  border:1px solid var(--dark-line);border-radius:99px;padding:.45rem .9rem;
  background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.chip-fact b{color:var(--accent);font-weight:600}
body.hero-dell .chip-fact b{color:#0076CE}
body.hero-hpe .chip-fact b{color:#01A982}
body.hero-nutanix .chip-fact b{color:#7855fa}
body.hero-google .chip-fact b{color:#0F9D58}
body.hero-broadcom .chip-fact b{color:#CC092F}
body.hero-omnissa .chip-fact b{color:#FF6B00}

/* ============================================================
   SECTION HEADS
   ============================================================ */
.khead{margin-bottom:clamp(2rem,4vw,3rem)}
.khead h2{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3.2vw,2.7rem);
  letter-spacing:-.026em;line-height:1.05;margin-top:1rem;max-width:20ch;text-wrap:balance}
.khead h2 em{font-style:normal;color:var(--ink-3)}
.khead p{color:var(--ink-3);font-size:1rem;line-height:1.62;max-width:54ch;margin-top:1rem}
.khead.between{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.band .khead h2{color:#fff}
.band .khead h2 em{color:rgba(255,255,255,.55)}
.band .khead p{color:rgba(255,255,255,.72)}

/* ============================================================
   FEATURE / CAPABILITY CARDS
   ============================================================ */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fgrid.two{grid-template-columns:repeat(2,1fr)}
.fcard{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:1.7rem 1.6rem;display:flex;flex-direction:column;gap:.55rem;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.fcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(20,23,27,.4);border-color:var(--line)}
.fcard .fnum{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-4)}
.fcard h3{font-family:var(--display);font-weight:500;font-size:1.18rem;letter-spacing:-.012em;color:var(--ink)}
.fcard p{font-size:.92rem;color:var(--ink-3);line-height:1.58}
.fcard .spec{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}
.fcard .spec li{position:relative;padding-left:1.3rem;font-size:.86rem;color:var(--ink-2);line-height:1.5}
.fcard .spec li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:2px;
  background:var(--accent);transform:rotate(45deg)}

/* dark variant for cards inside a band */
.band .fcard{background:var(--dark-2);border-color:var(--dark-line-soft)}
.band .fcard:hover{border-color:var(--dark-line);box-shadow:0 26px 50px -28px rgba(0,0,0,.6)}
.band .fcard h3{color:#fff}
.band .fcard p{color:rgba(255,255,255,.62)}
.band .fcard .spec li{color:rgba(255,255,255,.78)}
.band .value{background:rgba(255,255,255,.03);border-color:transparent;-webkit-backdrop-filter:blur(10px) saturate(1.25);backdrop-filter:blur(10px) saturate(1.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,255,255,.09)}
.band .value .vn{color:rgba(255,255,255,.5)}
.band .value h3{color:#fff}
.band .value p{color:rgba(255,255,255,.62)}

/* ============================================================
   DARK BAND (rhythm / emphasis)
   ============================================================ */
.band{position:relative;overflow:hidden;background:var(--dark);color:#fff}
.band .gtex{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(70% 80% at 85% 8%,#000,transparent);mask-image:radial-gradient(70% 80% at 85% 8%,#000,transparent)}
.band .glow{position:absolute;width:60%;height:120%;right:-10%;top:-30%;pointer-events:none;
  background:radial-gradient(circle at 70% 40%,rgba(0,189,176,.12),transparent 60%)}
.band .wrap{position:relative;z-index:1}

/* ============================================================
   STAT ROW
   ============================================================ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stats.dark{border-top-color:var(--dark-line-soft)}
.stat{padding:1.8rem 1.3rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.stat:nth-child(4n){border-right:0}
.stats.dark .stat{border-bottom-color:var(--dark-line-soft);border-right-color:var(--dark-line-soft)}
.stat .n{font-family:var(--display);font-weight:500;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1;color:var(--ink)}
.stats.dark .stat .n{color:#fff}
.stat .k{font-size:.86rem;color:var(--ink-3);line-height:1.45;margin-top:.65rem}
.stats.dark .stat .k{color:rgba(255,255,255,.6)}
.stats.no-fade .stat .n{opacity:1!important;filter:none!important;transition:none!important}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);
  border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden}
.band .steps{background:var(--dark-line-soft);border-color:var(--dark-line-soft)}
.step{background:var(--card);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.55rem}
.band .step{background:var(--dark-2)}
.step .sn{font-family:var(--mono);font-size:.74rem;color:var(--ink-4);letter-spacing:.05em}
.step .st{font-family:var(--display);font-weight:500;font-size:1.12rem;color:var(--ink)}
.band .step .st{color:#fff}
.step .sd{font-size:.88rem;color:var(--ink-3);line-height:1.55}
.band .step .sd{color:rgba(255,255,255,.62)}

/* ============================================================
   SPLIT (text + aside)
   ============================================================ */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.narrow{grid-template-columns:1fr 1fr}
.split-copy h2{font-family:var(--display);font-weight:500;font-size:clamp(1.6rem,2.9vw,2.4rem);letter-spacing:-.025em;line-height:1.08;margin-bottom:1.1rem;text-wrap:balance}
.split-copy p{color:var(--ink-2);font-size:1rem;line-height:1.68;margin-bottom:1rem;max-width:54ch}
.band .split-copy h2{color:#fff}
.band .split-copy p{color:rgba(255,255,255,.74)}
.checklist{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-top:1.2rem}
.checklist li{position:relative;padding-left:1.7rem;color:var(--ink-2);font-size:.96rem;line-height:1.5}
.band .checklist li{color:rgba(255,255,255,.82)}
.checklist li::before{content:"";position:absolute;left:0;top:.15em;width:16px;height:16px;border-radius:5px;
  background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}

/* aside visual panel (no photo needed) */
.aside-panel{position:relative;border-radius:var(--r-md);overflow:hidden;min-height:340px;
  background:radial-gradient(120% 90% at 75% 18%,#2b313c 0%,#15181d 52%,#0b0d11 100%);
  border:1px solid var(--dark-line-soft);display:flex;align-items:flex-end;padding:1.8rem}
.aside-panel .gtex{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:46px 46px;-webkit-mask-image:radial-gradient(80% 70% at 70% 30%,#000,transparent);mask-image:radial-gradient(80% 70% at 70% 30%,#000,transparent)}
.aside-panel .ap-tag{position:relative;font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:rgba(255,255,255,.7)}
.aside-slot{width:100%;height:100%;min-height:340px;border-radius:var(--r-md);overflow:hidden}
.aside-panel.has-photo{background:#0b0d11}
.aside-panel .ap-photo{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('assets/federal-veteran.jpg') center/cover no-repeat;opacity:.9}
.aside-panel.has-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,13,17,.15) 0%,rgba(11,13,17,.05) 46%,rgba(11,13,17,.78) 100%)}
.aside-panel.has-photo .gtex{z-index:2;opacity:.3}
.aside-panel.has-photo .ap-tag{z-index:3;color:rgba(255,255,255,.9)}
.aside-panel.photo-skillbridge .ap-photo{background-image:url('assets/careers-skillbridge.jpg')}
.aside-slot::part(frame){border-radius:var(--r-md)}

/* ============================================================
   PARTNER LOGO WALL
   ============================================================ */
.pwall{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pcard{position:relative;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:1.8rem 1.7rem;display:flex;flex-direction:column;gap:.9rem;min-height:230px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.pcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(20,23,27,.42);border-color:var(--line)}
.pcard .pname{font-family:var(--display);font-weight:600;font-size:1.5rem;letter-spacing:-.01em;color:var(--ink)}
.pcard .paward{font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;color:var(--ink);
  display:inline-flex;align-items:center;gap:.4rem}
.pcard p{font-size:.9rem;color:var(--ink-3);line-height:1.55;flex:1}
.pcard .plink{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--display);font-size:.82rem;color:var(--ink);margin-top:.2rem}
.pcard .plink .ar{transition:transform .3s}
.pcard:hover .plink .ar{transform:translateX(4px)}

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.5rem}
.field.full{grid-column:1 / -1}
.field label{font-family:var(--display);font-size:.78rem;font-weight:500;letter-spacing:.02em;color:var(--ink-2)}
.field input,.field textarea{font-family:var(--body);font-size:.95rem;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:.85rem 1rem;
  transition:border-color .2s,box-shadow .2s;width:100%}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(21,23,27,.12)}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-4)}
.contact-info{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:1.9rem 1.8rem;display:flex;flex-direction:column;gap:1.5rem}
.cinfo-item .ci-k{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:.4rem}
.cinfo-item .ci-v{font-size:.98rem;color:var(--ink);line-height:1.5}
.cinfo-item a{color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .2s,color .2s}
.cinfo-item a:hover{color:var(--ink);border-color:var(--ink)}

/* ============================================================
   PROSE (about / careers narrative)
   ============================================================ */
.prose{max-width:64ch}
.prose p{color:var(--ink-2);font-size:1.05rem;line-height:1.72;margin-bottom:1.2rem}
.prose p:last-child{margin-bottom:0}
.twocol-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden}
.twocol-list .tli{background:var(--card);padding:1.1rem 1.4rem;font-size:.95rem;color:var(--ink-2);display:flex;align-items:center;gap:.7rem}
.twocol-list .tli b{font-family:var(--display);font-weight:500;color:var(--ink)}
.band .twocol-list{background:var(--dark-line-soft);border-color:var(--dark-line-soft)}
.band .twocol-list .tli{background:var(--dark-2);color:rgba(255,255,255,.78)}
.band .twocol-list .tli b{color:#fff}

/* ============================================================
   LEGAL PAGES (privacy / terms / accessibility / sitemap)
   ============================================================ */
body.hero-legal .page-hero .ph-photo{display:none}
.legal-meta{font-family:var(--mono);font-size:.8rem;color:var(--ink-4);margin-bottom:2.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line-soft)}
.legal-section{max-width:70ch;padding-bottom:2.6rem;margin-bottom:2.6rem;border-bottom:1px solid var(--line-soft)}
.legal-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.legal-num{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;color:var(--ink-4);text-transform:uppercase;margin-bottom:.6rem}
.legal-section h2{font-family:var(--display);font-weight:500;font-size:1.35rem;color:var(--ink);margin-bottom:1rem;letter-spacing:-.012em}
.legal-section p{color:var(--ink-2);font-size:.98rem;line-height:1.72;margin-bottom:1rem}
.legal-section p:last-child{margin-bottom:0}
.legal-list{list-style:none;margin:1rem 0 1.3rem;padding:0}
.legal-list li{position:relative;padding-left:1.4rem;font-size:.95rem;color:var(--ink-2);line-height:1.72;margin-bottom:.55rem}
.legal-list li:last-child{margin-bottom:0}
.legal-list li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:2px;background:var(--ink-4)}
.legal-callout{background:var(--page-2);border:1px solid var(--line-soft);border-left:3px solid var(--ink);border-radius:var(--r-md);
  padding:1.1rem 1.4rem;margin:1.2rem 0;font-size:.92rem;color:var(--ink-2);line-height:1.65}
.legal-callout strong{color:var(--ink);font-weight:600}
.legal-contact{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:1.6rem 1.8rem;margin-top:1rem}
.legal-contact .lc-label{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--ink-4);text-transform:uppercase;margin-bottom:.6rem}
.legal-contact a{color:var(--ink);border-bottom:1px solid var(--line);font-weight:500}
.legal-contact a:hover{border-color:var(--ink)}
.legal-contact .lc-org{font-size:.92rem;color:var(--ink-3);margin-top:.5rem;line-height:1.65}

/* sitemap */
.sm-group{margin-bottom:2.6rem}
.sm-group:last-child{margin-bottom:0}
.sm-group-label{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--ink-4);text-transform:uppercase;
  margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line-soft)}
.sm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sm-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:1.3rem 1.5rem;
  text-decoration:none;display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s,box-shadow .2s,transform .2s}
.sm-card:hover{border-color:var(--line);box-shadow:0 26px 50px -28px rgba(20,23,27,.4);transform:translateY(-3px)}
.sm-card .sm-title{font-family:var(--display);font-weight:500;font-size:1rem;color:var(--ink)}
.sm-card .sm-desc{font-size:.85rem;color:var(--ink-3);line-height:1.55}
.sm-card .sm-arrow{font-family:var(--mono);font-size:.72rem;color:var(--ink-4);margin-top:.3rem}
@media(max-width:900px){.sm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sm-grid{grid-template-columns:1fr}}

/* values grid */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.value{padding:1.7rem 1.6rem;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--card)}
.value .vn{font-family:var(--mono);font-size:.72rem;color:var(--ink-4);letter-spacing:.05em}
.value h3{font-family:var(--display);font-weight:500;font-size:1.2rem;color:var(--ink);margin:.5rem 0 .5rem}
.value p{font-size:.92rem;color:var(--ink-3);line-height:1.58}

/* ============================================================
   IN-PAGE NAV (prev / related)
   ============================================================ */
.relrow{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .fgrid,.pwall,.values{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(4n){border-right:1px solid var(--line)}
  .stat:nth-child(2n){border-right:0}
  .stats.dark .stat:nth-child(2n){border-right:0}
  .steps{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:2.2rem}
  .aside-panel,.aside-slot{min-height:280px}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .fgrid,.fgrid.two,.pwall,.values,.steps,.stats,.form,.twocol-list{grid-template-columns:1fr}
  .stat{border-right:0!important}
  .stat:nth-child(2n){border-right:0}
  .page-hero h1{font-size:clamp(2rem,8vw,2.8rem)}
}
