/*
  PRIMAL live-standard polish layer.
  Late-loading overrides for the staged full site only.
*/

:root{
  --primal-black:#03070c;
  --primal-graphite:#07111a;
  --primal-panel:rgba(7,18,28,0.78);
  --primal-panel-strong:rgba(8,22,34,0.94);
  --primal-line:rgba(149,222,255,0.16);
  --primal-line-strong:rgba(149,222,255,0.32);
  --primal-ice:#8ce5ff;
  --primal-ice-soft:rgba(140,229,255,0.16);
  --primal-pink:rgba(255,122,202,0.34);
}

html,
body{
  max-width:100%;
  overflow-x:hidden;
}

body{
  background:
    radial-gradient(circle at 18% 0%, rgba(140,229,255,0.075), transparent 27rem),
    radial-gradient(circle at 78% 18%, rgba(255,122,202,0.035), transparent 25rem),
    linear-gradient(180deg, #03070c 0%, #07131c 44%, #03070c 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(rgba(149,222,255,0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(149,222,255,0.018) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.7), transparent 76%);
}

.launch-banner{
  background:linear-gradient(90deg, rgba(3,7,12,0.96), rgba(8,24,36,0.92), rgba(3,7,12,0.96));
  border-bottom:1px solid rgba(140,229,255,0.18);
  color:#b7c7d2;
  letter-spacing:.03em;
  text-transform:none;
}

.site-nav{
  background:rgba(3,8,13,0.92);
  box-shadow:0 16px 38px rgba(0,0,0,0.24);
}

.nav-inner{
  height:70px;
}

.nav-brand{
  gap:12px;
  color:#f5fbff;
}

.nav-brand img{
  width:38px;
  height:38px;
  filter:drop-shadow(0 0 18px rgba(140,229,255,0.34));
}

.nav-links a{
  letter-spacing:.06em;
}

.nav-cta,
.btn-primary,
.btn-submit{
  background:linear-gradient(135deg, #a7efff 0%, #60c8f0 52%, #3c9fd2 100%);
  color:#021019 !important;
  box-shadow:0 12px 30px rgba(94,184,232,0.18);
}

.btn,
.nav-cta,
.btn-submit{
  letter-spacing:.1em;
  border-radius:4px;
}

.btn-secondary,
.btn-ghost{
  border-color:rgba(140,229,255,0.22);
  background:rgba(5,14,22,0.5);
  color:#dcebf3;
}

.hero,
.hero.hero-short{
  min-height:min(720px, calc(100svh - 86px));
  background:#03070c;
}

.hero-bg{
  background-image:
    linear-gradient(90deg, rgba(3,7,12,0.98) 0%, rgba(3,7,12,0.78) 38%, rgba(3,7,12,0.24) 64%, rgba(3,7,12,0.82) 100%),
    image-set(url("../primal-command-hero-generated.webp") type("image/webp"), url("../primal-command-hero-generated.png") type("image/png")) !important;
  background-position:center !important;
  background-size:cover !important;
}

body.home-page #main > .hero:first-child{
  background-image:
    linear-gradient(90deg, rgba(3,7,12,0.98) 0%, rgba(3,7,12,0.82) 38%, rgba(3,7,12,0.32) 64%, rgba(3,7,12,0.8) 100%),
    image-set(url("/assets/hero-bg.webp") type("image/webp"), url("/assets/hero-bg.png") type("image/png")) !important;
  background-position:center right !important;
  background-size:cover !important;
}

.hero::before,
body.home-page #main > .hero:first-child::before{
  background:
    radial-gradient(circle at 76% 42%, rgba(140,229,255,0.17), transparent 30rem),
    linear-gradient(180deg, rgba(3,7,12,0.04), rgba(3,7,12,0.68)) !important;
}

body.apparel-page .hero-bg{
  background-image:
    linear-gradient(90deg, rgba(3,7,12,0.98) 0%, rgba(3,7,12,0.83) 38%, rgba(3,7,12,0.28) 66%, rgba(3,7,12,0.76) 100%),
    image-set(url("../primal-apparel-street-gym-generated.webp") type("image/webp"), url("../primal-apparel-street-gym-generated.png") type("image/png")) !important;
  background-position:center right !important;
  background-size:cover !important;
}

body.apparel-page .apparel-hero-grid{
  grid-template-columns:minmax(0, 760px);
}

body.apparel-page .apparel-visual{
  display:none;
}

.hero h1,
.hero h1.fade-up-2,
.hero-title,
.page-title{
  max-width:780px;
  color:#f5fbff !important;
  opacity:1 !important;
  text-shadow:0 22px 54px rgba(0,0,0,0.52);
}

.hero-lead,
.hero-sub,
.page-lead,
.section-lead,
.section-sub,
.panel-sub{
  color:#aebfcb;
}

.page-hero{
  position:relative;
  overflow:hidden;
  padding-top:clamp(4.4rem,7vw,6rem) !important;
  padding-bottom:clamp(2.8rem,5vw,4rem) !important;
}

.page-hero::before{
  content:"";
  position:absolute;
  right:clamp(-72px, -5vw, -28px);
  top:50%;
  width:clamp(180px,23vw,320px);
  aspect-ratio:1;
  transform:translateY(-50%);
  background:url("/assets/logo/primal-mark-shield-512.webp") center/contain no-repeat;
  opacity:.085;
  filter:drop-shadow(0 0 34px rgba(140,229,255,0.34));
  pointer-events:none;
}

.page-eyebrow,
.section-eyebrow,
.section-label,
.eyebrow{
  color:var(--primal-ice) !important;
}

.hero-crest,
.home-hero-crest{
  position:absolute;
  z-index:-1;
  right:clamp(1.5rem, 7vw, 7rem);
  top:50%;
  width:clamp(230px, 29vw, 430px);
  transform:translateY(-45%);
  opacity:.18;
  filter:drop-shadow(0 0 46px rgba(140,229,255,0.5));
  pointer-events:none;
}

.hero-proof-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-width:760px;
  margin-top:1.45rem;
}

.hero-proof-strip span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(140,229,255,0.18);
  background:rgba(4,14,22,0.62);
  color:#d6e6ee;
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ticker-wrap{
  background:rgba(3,8,13,0.88);
  box-shadow:inset 0 1px rgba(140,229,255,0.1), inset 0 -1px rgba(140,229,255,0.1);
}

.ticker-track{
  padding-left:3rem;
}

.stats-bar{
  background:linear-gradient(90deg, rgba(5,14,22,0.9), rgba(10,28,40,0.82), rgba(5,14,22,0.9));
}

.stat-item{
  padding:clamp(1.2rem, 2vw, 1.75rem) clamp(1rem, 2vw, 2rem);
}

.stat-number{
  color:var(--primal-ice);
  text-shadow:0 0 26px rgba(140,229,255,0.22);
}

.services-section .orbital-wrap,
.services-section .mobile-services,
.services-orbit-stage,
.services-orbit-info,
.services-orbit-mobile{
  display:none !important;
}

.services-section,
.services-orbit-section{
  padding:clamp(4.4rem, 8vw, 6.7rem) 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(140,229,255,0.13), transparent 28rem),
    linear-gradient(180deg, #04090f 0%, #07131c 52%, #03070c 100%) !important;
}

.services-section .section-header,
.services-orbit-header{
  margin-bottom:clamp(2rem,4vw,3rem);
}

.services-section .section-title,
.services-orbit-title{
  font-family:var(--font-display) !important;
  font-size:clamp(2rem,4vw,3.25rem) !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}

.service-lanes{
  position:relative;
  z-index:3;
  width:min(1160px, calc(100% - 44px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px, .88fr) minmax(0, 1.45fr);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:stretch;
}

.service-command-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(140,229,255,0.18);
  background:
    radial-gradient(circle at 50% 22%, rgba(140,229,255,0.16), transparent 17rem),
    linear-gradient(180deg, rgba(11,29,42,0.94), rgba(4,12,20,0.96));
  padding:clamp(1.55rem,3vw,2.15rem);
  min-height:100%;
  box-shadow:0 34px 80px rgba(0,0,0,0.35);
}

.service-command-card::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(140,229,255,0.08);
  pointer-events:none;
}

.service-command-card img{
  width:min(62%, 250px);
  margin:0 auto 1.4rem;
  display:block;
  filter:drop-shadow(0 0 38px rgba(140,229,255,0.32));
}

.service-command-card strong{
  display:block;
  font-size:clamp(1.7rem,3vw,2.45rem);
  line-height:1.02;
  color:#f6fbff;
  letter-spacing:0;
}

.service-command-card p{
  margin-top:1rem;
  color:#a9bac6;
  line-height:1.68;
}

.service-board-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.service-lane{
  position:relative;
  min-height:188px;
  padding:1.2rem;
  border:1px solid rgba(140,229,255,0.14);
  background:
    linear-gradient(180deg, rgba(10,26,38,0.9), rgba(4,13,21,0.92)),
    radial-gradient(circle at 85% 0%, rgba(140,229,255,0.12), transparent 12rem);
  color:#eaf4f8;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.service-lane:hover,
.service-lane:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(140,229,255,0.34);
  text-decoration:none;
  background:
    linear-gradient(180deg, rgba(13,34,50,0.96), rgba(5,16,25,0.96)),
    radial-gradient(circle at 85% 0%, rgba(140,229,255,0.18), transparent 12rem);
}

.service-lane-index{
  display:block;
  color:rgba(140,229,255,0.62);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  margin-bottom:1rem;
}

.service-lane-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  padding:3px 8px;
  border:1px solid rgba(140,229,255,0.14);
  color:#9db1bf;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.service-lane-status.live{
  color:#38e3ad;
  border-color:rgba(56,227,173,0.24);
  background:rgba(56,227,173,0.06);
}

.service-lane h3{
  margin:.85rem 0 .55rem;
  color:#f5fbff;
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.08;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.service-lane p{
  color:#a8b8c4;
  font-size:.86rem;
  line-height:1.55;
}

.card,
.panel,
.signal-card,
.faq-item,
.step,
.constant-card,
.pillar-card,
.form-card,
.apparel-card,
.quote-block,
.details-panel,
.cta-strip{
  border:1px solid rgba(140,229,255,0.14) !important;
  background:
    linear-gradient(180deg, rgba(12,29,42,0.82), rgba(5,15,24,0.92)) !important;
  box-shadow:0 24px 64px rgba(0,0,0,0.24);
}

.structure-squares{
  display:none !important;
}

.motif-orbit,
.motif-orbit.is-compact{
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-top:1.5rem;
}

.motif-orbit::before,
.motif-orbit::after{
  display:none !important;
}

.motif-core,
.motif-node,
.motif-orbit.is-compact .motif-core,
.motif-orbit.is-compact .motif-node{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:auto !important;
  height:auto !important;
  min-height:168px;
  border-radius:8px !important;
  padding:1.15rem !important;
}

.motif-core{
  order:1;
}

.motif-node.node-a{order:2;}
.motif-node.node-b{order:3;}
.motif-node.node-c{order:4;}

.motif-core img{
  width:58px !important;
  height:58px !important;
}

.about-grid{
  gap:clamp(2rem,4vw,4rem);
}

.portrait-wrap{
  position:relative;
  overflow:hidden;
}

.portrait-wrap::before{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:-1;
  border:1px solid rgba(140,229,255,0.16);
  background:radial-gradient(circle at 50% 0%, rgba(140,229,255,0.15), transparent 18rem);
}

.apparel-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(340px, .95fr);
  gap:clamp(1.4rem,4vw,3rem);
  align-items:center;
  padding:clamp(4.2rem,7vw,5.6rem) 0 clamp(3rem,5vw,4.4rem);
}

.apparel-visual{
  position:relative;
  overflow:hidden;
  min-height:390px;
  border:1px solid rgba(140,229,255,0.16);
  background:#03070c;
  box-shadow:0 34px 88px rgba(0,0,0,0.4);
}

.apparel-visual picture,
.apparel-visual img.apparel-photo{
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
}

.apparel-visual img.apparel-photo{
  object-fit:cover;
  opacity:.92;
}

.apparel-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, transparent 42%, rgba(3,7,12,0.78) 100%),
    radial-gradient(circle at 100% 20%, rgba(140,229,255,0.22), transparent 16rem);
  pointer-events:none;
}

.apparel-visual-logos{
  position:absolute;
  z-index:2;
  left:1rem;
  right:1rem;
  bottom:1rem;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}

.apparel-visual-logos img{
  max-width:min(44%, 190px);
  max-height:72px;
  object-fit:contain;
  padding:10px 12px;
  background:rgba(3,8,13,0.72);
  border:1px solid rgba(140,229,255,0.14);
}

.apparel-card{
  overflow:hidden;
}

.apparel-card img{
  max-width:min(100%, 270px);
}

.contact-layout{
  gap:clamp(1.5rem,4vw,3rem) !important;
}

.details-panel{
  position:sticky;
  top:94px;
}

.brand-assurance{
  margin-top:1.25rem;
  padding:1.2rem;
  border:1px solid rgba(140,229,255,0.14);
  background:
    radial-gradient(circle at top right, rgba(140,229,255,0.14), transparent 12rem),
    rgba(5,16,25,0.72);
}

.brand-assurance img{
  width:76px;
  display:block;
  margin-bottom:.9rem;
  filter:drop-shadow(0 0 20px rgba(140,229,255,0.24));
}

.brand-assurance strong{
  display:block;
  color:#f5fbff;
  line-height:1.2;
}

.brand-assurance span{
  display:block;
  margin-top:.55rem;
  color:#9fb0bc;
  font-size:.86rem;
  line-height:1.6;
}

.form-card{
  padding:clamp(1.4rem,3vw,2.2rem) !important;
}

.form-row{
  gap:1rem !important;
}

.form-group input,
.form-group select,
.form-group textarea{
  background:rgba(3,10,17,0.72) !important;
  border-color:rgba(140,229,255,0.16) !important;
}

.site-footer{
  background:
    radial-gradient(circle at 18% 0%, rgba(140,229,255,0.08), transparent 18rem),
    linear-gradient(180deg, rgba(3,7,12,0.2), rgba(3,7,12,0.94));
}

.cookie-banner{
  left:auto !important;
  right:1.25rem;
  bottom:calc(1.25rem + env(safe-area-inset-bottom, 0px));
  z-index:2147483000 !important;
  pointer-events:auto;
  touch-action:pan-y;
  transform:none !important;
  width:min(460px, calc(100% - 2rem));
  justify-content:space-between;
  gap:.85rem;
  padding:.82rem .95rem !important;
  background:rgba(6,18,28,0.94) !important;
  border-color:rgba(140,229,255,0.22) !important;
  box-shadow:0 18px 54px rgba(0,0,0,0.42);
}

.cookie-banner.hidden,
.cookie-banner[hidden]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.cookie-banner span{
  line-height:1.35;
}

.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.65rem;
  position:relative;
  z-index:2147483001;
}

.cookie-dismiss{
  min-height:48px;
  min-width:150px;
  position:relative;
  z-index:2147483002;
  pointer-events:auto;
  touch-action:manipulation;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}

.cookie-accept{
  background:#8ce5ff !important;
  border-color:#8ce5ff !important;
  color:#021019 !important;
}

.footer-brand-logo{
  width:44px;
  height:44px;
}

@media (min-width:1200px) and (max-width:1536px){
  .hero:not(.hero-short){
    min-height:calc(100svh - 86px);
  }
  .service-board-grid{
    gap:10px;
  }
  .service-lane{
    min-height:176px;
    padding:1.05rem;
  }
}

@media (max-width:980px){
  .service-lanes,
  .apparel-hero-grid{
    grid-template-columns:1fr;
  }
  .service-board-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .service-command-card{
    min-height:auto;
  }
  .service-command-card img{
    width:160px;
  }
  .details-panel{
    position:relative;
    top:auto;
  }
}

@media (max-width:760px){
  .nav-inner{
    height:64px;
  }
  .nav-brand img{
    width:32px;
    height:32px;
  }
  body.home-page #main > .hero:first-child,
  .hero,
  .hero.hero-short{
    min-height:auto;
  }
  body.home-page #main > .hero:first-child{
    padding-top:clamp(3.4rem,12vw,4.5rem);
    padding-bottom:clamp(2.4rem,10vw,3.4rem);
    text-align:left;
    background-position:66% center !important;
  }
  .hero-title{
    font-size:clamp(2.65rem,12.4vw,3.45rem) !important;
    max-width:8.7em;
    margin-left:0;
    margin-right:0;
  }
  .hero-sub{
    max-width:30rem;
    margin-left:0;
    margin-right:0;
  }
  .hero-ctas{
    justify-content:flex-start !important;
  }
  .hero-ctas .btn{
    width:auto !important;
    min-width:min(100%, 220px);
  }
  .hero-crest,
  .home-hero-crest{
    right:-64px;
    width:260px;
    opacity:.13;
  }
  .hero-proof-strip{
    gap:7px;
  }
  .hero-proof-strip span{
    min-height:30px;
    padding:7px 9px;
    font-size:10px;
  }
  .ticker-wrap{
    display:none;
  }
  .stats-bar{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .stat-item{
    border-bottom:1px solid var(--border);
    padding:1.05rem .75rem;
  }
  .stat-number{
    font-size:1.75rem;
  }
  .stat-label{
    font-size:10px;
    line-height:1.35;
  }
  .services-section,
  .services-orbit-section{
    padding:3.4rem 0;
  }
  .service-lanes{
    width:min(100% - 28px, 1160px);
  }
  .service-board-grid{
    grid-template-columns:1fr;
  }
  .motif-orbit,
  .motif-orbit.is-compact{
    grid-template-columns:1fr;
  }
  .motif-core,
  .motif-node,
  .motif-orbit.is-compact .motif-core,
  .motif-orbit.is-compact .motif-node{
    min-height:auto;
  }
  .service-lane{
    min-height:auto;
  }
  .section{
    padding:2.8rem 0;
  }
  .quote-block{
    padding:1.4rem !important;
  }
  .apparel-visual,
  .apparel-visual picture,
  .apparel-visual img.apparel-photo{
    min-height:300px;
  }
  .apparel-visual-logos{
    align-items:flex-end;
  }
  .apparel-visual-logos img{
    max-height:56px;
    padding:8px;
  }
  .footer-inner{
    gap:1.5rem;
  }
  .cookie-banner{
    left:1rem !important;
    right:1rem;
    bottom:1rem;
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center !important;
    gap:.65rem .75rem;
    padding:.68rem .72rem !important;
    text-align:left;
    width:auto;
    font-size:12px;
  }
  .cookie-actions{
    flex-direction:row;
    gap:.4rem;
    width:auto;
  }
  .cookie-dismiss{
    width:auto;
    min-height:32px;
    padding:5px 9px;
    font-size:10.5px;
    letter-spacing:0;
  }
}

@media (max-width:560px){
  .cookie-banner{
    grid-template-columns:1fr;
  }
  .cookie-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .cookie-dismiss{
    width:100%;
  }
}

/* Million-pound tightening pass: typography, callback promise, imagery and motion. */
:root{
  --font-display:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --font-body:"Inter", "Helvetica Neue", Arial, sans-serif;
  --text-hero:6.6rem;
  --text-h1:4rem;
  --text-h2:2.5rem;
  --text-h3:1.5rem;
  --text-body:1rem;
  --text-small:.875rem;
  --weight-display:900;
  --weight-heading:800;
  --weight-body:400;
  --weight-ui:600;
  --tracking-display:0;
  --tracking-body:0;
  --tracking-caps:.08em;
  --blue-accent:var(--primal-ice);
  --blue-accent-rgb:140,229,255;
  --bg-nav:#03080d;
}

body,
button,
input,
select,
textarea{
  font-family:var(--font-body) !important;
  letter-spacing:0;
}

body{
  animation:none;
}

h1,
h2,
.hero-title,
.hero-headline,
.page-title,
.section-title,
.services-section .section-title,
.services-orbit-title,
.service-command-card strong,
.stat-number,
.constant-num,
.credential-num{
  font-family:var(--font-display) !important;
  letter-spacing:0 !important;
  line-height:1 !important;
}

.hero-title,
.hero-headline{
  font-size:var(--text-hero) !important;
  font-weight:900 !important;
  text-transform:uppercase;
}

.page-title{
  font-size:var(--text-h1) !important;
  font-weight:800 !important;
}

.section-title,
.services-section .section-title,
.services-orbit-title{
  font-size:var(--text-h2) !important;
  font-weight:800 !important;
  margin-bottom:clamp(2rem,4vw,3.5rem);
}

h3,
.section-label,
.section-eyebrow,
.page-eyebrow,
.form-title,
.footer-col-label{
  font-family:var(--font-body) !important;
}

.section-label,
.section-eyebrow,
.page-eyebrow,
.form-title,
.footer-col-label,
.badge,
.service-lane-status,
.node-status-text,
.mobile-node-status,
.services-orbit-status,
.services-orbit-mobile-status{
  letter-spacing:.1em !important;
  text-transform:uppercase;
}

p,
li,
label,
input,
select,
textarea{
  font-family:var(--font-body) !important;
  line-height:1.6;
  letter-spacing:0;
}

.nav-links a{
  font-family:var(--font-body) !important;
  font-weight:500;
  text-transform:none;
}

.nav-cta,
.btn,
.btn-submit,
.services-orbit-cta,
.info-cta{
  font-family:var(--font-body) !important;
  font-weight:600 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase;
}

.badge,
.service-lane-status,
.stat-number{
  font-weight:900;
}

.page-wrap,
.wrap,
.nav-inner,
.footer-inner,
.footer-legal,
.contact-layout,
.page-hero{
  max-width:1280px !important;
}

.page-wrap,
.wrap,
.nav-inner,
.contact-layout,
.page-hero{
  padding-inline:clamp(1.5rem,4vw,4rem) !important;
}

.section,
main > section:not(.hero):not(.services-section):not(.services-orbit-section){
  padding-block:clamp(4rem,8vw,8rem);
}

.service-grid,
.service-board-grid,
.signal-grid,
.card-grid,
.constants-grid,
.apparel-grid{
  gap:clamp(1rem,2vw,1.5rem) !important;
}

body.home-page .hero{
  background:
    linear-gradient(135deg, rgba(5,12,30,.92) 0%, rgba(8,20,48,.75) 60%, rgba(5,12,30,.88) 100%),
    image-set(url("/assets/hero-bg.webp") type("image/webp"), url("/assets/hero-bg.png") type("image/png")) !important;
  background-size:cover !important;
  background-position:center !important;
}

body.home-page .hero-badge-seat{
  position:absolute;
  right:5%;
  bottom:10%;
  z-index:0;
  display:grid;
  place-items:center;
  width:40vw;
  max-width:600px;
  aspect-ratio:1;
  border:0;
  background:transparent;
  box-shadow:none;
  pointer-events:none;
  isolation:isolate;
}

body.home-page .hero-badge-seat::before,
body.home-page .hero-badge-seat::after{
  content:"";
  position:absolute;
  inset:10%;
  border:1px solid rgba(140,229,255,.08);
  border-radius:50%;
}

body.home-page .hero-badge-seat::after{
  inset:25%;
  opacity:.42;
}

body.home-page .hero-badge-seat img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 0 28px rgba(140,229,255,.28));
}

body.home-page .hero > :not(.hero-brand-mark):not(.hero-badge-seat){
  position:relative;
  z-index:1;
}

.hero-brand-mark{
  position:absolute;
  right:5%;
  bottom:10%;
  z-index:-1;
  width:40vw;
  max-width:600px;
  opacity:.08;
  filter:brightness(0) invert(1) drop-shadow(0 0 44px rgba(140,229,255,.22));
  pointer-events:none;
  user-select:none;
}

.hero-headline{
  display:flex;
  flex-wrap:wrap;
  column-gap:.18em;
  row-gap:.02em;
}

.hero-headline .word{
  display:inline-block;
  color:#f5fbff;
  opacity:0;
  transform:translateY(24px);
  animation:wordReveal .5s cubic-bezier(.22,1,.36,1) forwards;
}

.hero-headline .word:nth-child(1){animation-delay:.1s;}
.hero-headline .word:nth-child(2){animation-delay:.25s;}
.hero-headline .word:nth-child(3){animation-delay:.4s;}
.hero-headline .word.accent{color:var(--blue-accent);}

.stats-bar{
  overflow:hidden;
}

.stat-number{
  font-size:3.2rem !important;
}

.service-lane{
  overflow:hidden;
  border:1px solid rgba(var(--blue-accent-rgb),.16);
  transition:transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out !important;
}

.service-lane::after{
  content:"";
  position:absolute;
  right:-26px;
  bottom:-30px;
  width:128px;
  aspect-ratio:1;
  background:url("/assets/logo/primal-mark-shield-256.webp") center/contain no-repeat;
  opacity:.055;
  filter:brightness(0) invert(1);
  pointer-events:none;
}

.service-lane:hover,
.service-lane:focus-visible{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 48px rgba(0,0,0,.4), 0 0 24px rgba(var(--blue-accent-rgb),.15) !important;
  border-color:rgba(var(--blue-accent-rgb),.3) !important;
  background:
    linear-gradient(180deg, rgba(10,26,38,.9), rgba(4,13,21,.92)),
    radial-gradient(circle at 85% 0%, rgba(140,229,255,.12), transparent 12rem) !important;
}

.quote-block{
  grid-template-columns:minmax(220px,320px) 1fr !important;
}

.quote-portrait,
.portrait-img,
.director-photo{
  width:320px !important;
  height:320px !important;
  max-width:100%;
  border-radius:50% !important;
  object-fit:cover;
  border:3px solid var(--blue-accent) !important;
  box-shadow:0 0 32px rgba(var(--blue-accent-rgb),.25);
}

.portrait-wrap{
  display:grid;
  justify-items:center;
}

body.about-page .page-hero,
body.contact-page .page-hero{
  position:relative;
  display:block;
  min-height:clamp(360px,46vw,520px);
  margin-top:clamp(1.2rem,3vw,2rem);
  padding-right:clamp(16rem,42vw,34rem) !important;
  border:1px solid rgba(140,229,255,.16);
  border-radius:8px;
  background:
    linear-gradient(135deg, rgba(7,18,28,.96), rgba(5,10,16,.88)),
    radial-gradient(circle at 80% 16%, rgba(140,229,255,.14), transparent 22rem);
  box-shadow:0 28px 88px rgba(0,0,0,.34);
  isolation:isolate;
}

body.about-page .page-hero > *,
body.contact-page .page-hero > *{
  position:relative;
  z-index:2;
  max-width:760px;
}

body.about-page .page-hero::before,
body.contact-page .page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(3,7,12,.96) 0%, rgba(3,7,12,.72) 46%, rgba(3,7,12,.18) 72%, rgba(3,7,12,.72) 100%),
    radial-gradient(circle at 72% 30%, rgba(140,229,255,.14), transparent 21rem);
  opacity:1;
  transform:none;
  width:auto;
  aspect-ratio:auto;
  filter:none;
}

body.about-page .page-hero::after,
body.contact-page .page-hero::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  z-index:0;
  width:min(54%,680px);
  background-image:var(--page-hero-image);
  background-size:cover;
  background-position:center;
  opacity:.82;
  filter:saturate(1.05) contrast(1.06);
}

body.about-page .page-hero{
  --page-hero-image:url("/assets/primal-about-hero-custom.webp");
}

body.contact-page .page-hero{
  --page-hero-image:url("/assets/primal-command-hero-generated.webp");
  margin-left:auto;
  margin-right:auto;
}

body.contact-page .page-hero .page-title,
body.about-page .page-hero .page-title{
  max-width:760px;
}

body.about-page .about-grid{
  align-items:start;
}

body.about-page .portrait-wrap{
  padding:clamp(1rem,2vw,1.4rem);
  border:1px solid rgba(140,229,255,.15);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(10,28,40,.62), rgba(5,14,22,.82)),
    radial-gradient(circle at 50% 0%, rgba(140,229,255,.12), transparent 18rem);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}

body.about-page .portrait-caption{
  width:100%;
  text-align:center;
  padding:.9rem 1rem;
  border:1px solid rgba(140,229,255,.12);
  border-radius:6px;
  background:rgba(5,14,22,.62);
}

body.about-page .credentials{
  width:100%;
}

body.about-page .credential-item{
  padding:.9rem 1rem;
  border:1px solid rgba(140,229,255,.12);
  border-radius:6px;
  background:rgba(255,255,255,.035);
}

body.about-page .story-body{
  padding:clamp(1.25rem,2.4vw,2rem);
  border:1px solid rgba(140,229,255,.12);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(9,22,32,.58), rgba(5,13,20,.34));
}

body.about-page .about-field-proof{
  padding-top:clamp(2.5rem,5vw,5rem);
}

.field-proof-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(1rem,2vw,1.5rem);
  align-items:stretch;
}

.field-proof-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  border:1px solid rgba(140,229,255,.14);
  border-radius:8px;
  background:rgba(5,14,22,.72);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}

.field-proof-card picture,
.field-proof-card img{
  display:block;
  width:100%;
}

.field-proof-card img{
  height:100%;
  min-height:360px;
  object-fit:cover;
  filter:saturate(.96) contrast(1.04);
}

.field-proof-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(3,7,12,.02) 28%, rgba(3,7,12,.82) 100%),
    radial-gradient(circle at 80% 10%, rgba(140,229,255,.16), transparent 18rem);
  pointer-events:none;
}

.field-proof-copy{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
  padding:clamp(1.1rem,2.4vw,1.6rem);
}

.field-proof-copy span{
  display:block;
  margin-bottom:.55rem;
  color:var(--accent);
  font:800 .68rem/1 var(--font-body);
  letter-spacing:.16em;
  text-transform:uppercase;
}

.field-proof-copy h3{
  margin:0 0 .45rem;
  color:#f5fbff;
  font-size:clamp(1.15rem,2vw,1.65rem);
}

.field-proof-copy p{
  max-width:620px;
  margin:0;
  color:#c8d6df;
  font-size:.9rem;
  line-height:1.62;
}

.field-proof-card-wide img{
  min-height:420px;
}

@media (max-width:980px){
  body.home-page .hero-badge-seat{
    right:clamp(-2rem, -2vw, 1rem);
    top:32%;
    bottom:auto;
    width:clamp(180px,38vw,280px);
    opacity:.28;
  }

  body.about-page .page-hero,
  body.contact-page .page-hero{
    padding-right:clamp(1.5rem,4vw,4rem) !important;
  }

  body.about-page .page-hero::after,
  body.contact-page .page-hero::after{
    width:100%;
    opacity:.3;
  }

  .field-proof-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  body.home-page .hero-badge-seat{
    display:none;
  }

  body.about-page .page-hero,
  body.contact-page .page-hero{
    min-height:auto;
    border-radius:6px;
  }

  .field-proof-card img,
  .field-proof-card-wide img{
    min-height:320px;
  }
}

.callback-promise{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  align-items:center;
  margin-bottom:1rem;
  padding:1.1rem 1.25rem;
  border-left:3px solid var(--blue-accent);
  border-radius:4px;
  background:linear-gradient(180deg, rgba(15,32,48,.92), rgba(7,19,28,.96));
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}

.callback-icon{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-accent);
  border:1px solid rgba(var(--blue-accent-rgb),.25);
  border-radius:50%;
  background:rgba(var(--blue-accent-rgb),.08);
}

.callback-icon svg{
  width:23px;
  height:23px;
  stroke-width:2;
}

.callback-headline{
  margin:0 0 .2rem;
  color:#f5fbff;
  font-size:.95rem;
  font-weight:700;
}

.callback-body{
  margin:0;
  color:#aebfcb;
  font-size:.88rem;
  line-height:1.55;
}

.callback-body strong{
  color:#f5fbff;
  font-weight:700;
}

.footer-callback{
  margin:.55rem 0 .65rem;
  max-width:34rem;
  color:#aebfcb;
  font-size:.82rem;
  line-height:1.55;
}

.footer-callback a{
  display:inline;
  color:var(--blue-accent);
}

.hero-ctas .btn-primary{
  position:relative;
  overflow:visible;
}

.hero-ctas .btn-primary::after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:inherit;
  border:2px solid var(--blue-accent);
  opacity:0;
  pointer-events:none;
  animation:ctaPulse 2.5s ease-in-out 1.2s infinite;
}

.site-nav{
  transition:background .3s ease, backdrop-filter .3s ease, box-shadow .3s ease;
}

.site-nav.scrolled{
  background:rgba(5,12,30,.95) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(255,255,255,.06), 0 4px 24px rgba(0,0,0,.4);
}

.ticker-wrap{
  position:relative;
  overflow:hidden;
}

.ticker-wrap::before,
.ticker-wrap::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:80px;
  z-index:2;
  pointer-events:none;
}

.ticker-wrap::before{
  left:0;
  background:linear-gradient(to right, var(--bg-nav), transparent);
}

.ticker-wrap::after{
  right:0;
  background:linear-gradient(to left, var(--bg-nav), transparent);
}

.reveal{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

.reveal-group > *:nth-child(1){transition-delay:0s;}
.reveal-group > *:nth-child(2){transition-delay:.08s;}
.reveal-group > *:nth-child(3){transition-delay:.16s;}
.reveal-group > *:nth-child(4){transition-delay:.24s;}
.reveal-group > *:nth-child(5){transition-delay:.32s;}
.reveal-group > *:nth-child(6){transition-delay:.4s;}

/* Review-build interaction pass: controlled motion and tactile feedback. */
.motion-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:10000;
  width:var(--motion-progress, 0%);
  height:3px;
  pointer-events:none;
  background:linear-gradient(90deg, #8ce5ff 0%, #2dd4a0 58%, #f5d17a 100%);
  box-shadow:0 0 18px rgba(140,229,255,.58);
  transform-origin:left center;
}

.motion-safe .site-nav{
  position:sticky;
  overflow:visible;
}

.motion-safe .site-nav::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(140,229,255,.74), rgba(45,212,160,.5), transparent);
  opacity:.78;
}

.motion-safe .nav-brand,
.motion-safe .nav-links a:not(.nav-cta){
  position:relative;
}

.motion-safe .nav-brand::after,
.motion-safe .nav-links a:not(.nav-cta)::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(140,229,255,.86), transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .26s cubic-bezier(.22,1,.36,1), opacity .26s ease;
  opacity:0;
  pointer-events:none;
}

.motion-safe .nav-brand:hover::after,
.motion-safe .nav-links a:not(.nav-cta):hover::before,
.motion-safe .nav-links a:not(.nav-cta):focus-visible::before,
.motion-safe .nav-links a[aria-current="page"]::before{
  transform:scaleX(1);
  opacity:1;
}

.motion-safe .launch-banner{
  position:relative;
  overflow:hidden;
}

.motion-safe .launch-banner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg, transparent 0%, rgba(140,229,255,.08) 44%, transparent 62%);
  transform:translateX(-120%);
  animation:bannerScan 7s ease-in-out infinite;
}

.motion-safe .hero{
  --hero-pan-x:0px;
  --hero-pan-y:0px;
  --hero-float-x:0px;
  --hero-float-y:0px;
  --hero-rotate:0deg;
  background-position:
    calc(50% + var(--hero-pan-x))
    calc(50% + var(--hero-pan-y)) !important;
  transition:background-position .18s ease-out;
}

.motion-safe body.home-page #main > .hero:first-child{
  background-position:
    calc(50% + var(--hero-pan-x))
    calc(50% + var(--hero-pan-y)) !important;
}

.motion-safe .hero::after{
  background:
    linear-gradient(180deg, transparent, rgba(3,7,12,.94)),
    repeating-linear-gradient(90deg, rgba(140,229,255,.07) 0 1px, transparent 1px 72px) !important;
}

.motion-safe .hero-brand-mark{
  translate:var(--hero-float-x) var(--hero-float-y);
  rotate:var(--hero-rotate);
  transition:translate .18s ease-out, rotate .18s ease-out;
  animation:markBreath 8s ease-in-out infinite;
}

.motion-safe .hero-proof-strip span,
.motion-safe .badge,
.motion-safe .service-lane-status{
  transition:transform .24s cubic-bezier(.22,1,.36,1), border-color .24s ease, background .24s ease, color .24s ease;
}

.motion-safe .hero-proof-strip span:hover,
.motion-safe .badge:hover,
.motion-safe .service-lane-status:hover{
  transform:translateY(-2px);
}

.motion-safe .motion-reactive{
  --tilt-x:0deg;
  --tilt-y:0deg;
  --sheen-x:-40%;
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  will-change:transform;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease;
}

.motion-safe .motion-reactive::before{
  content:"";
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:var(--sheen-x);
  z-index:0;
  width:44%;
  pointer-events:none;
  background:linear-gradient(105deg, transparent 0%, rgba(140,229,255,.14) 46%, rgba(255,255,255,.16) 50%, transparent 58%);
  opacity:0;
  transform:translateX(-50%) skewX(-16deg);
  transition:opacity .2s ease, left .12s ease-out;
}

.motion-safe .motion-reactive > *{
  position:relative;
  z-index:1;
}

.motion-safe .motion-reactive.is-pointer-active{
  transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px) !important;
  border-color:rgba(140,229,255,.36) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.42), 0 0 28px rgba(140,229,255,.13) !important;
}

.motion-safe .motion-reactive.is-pointer-active::before{
  opacity:1;
}

.motion-safe .form-group{
  position:relative;
}

.motion-safe .form-group::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-3px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(140,229,255,.92), rgba(45,212,160,.62), transparent);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .24s cubic-bezier(.22,1,.36,1);
}

.motion-safe .form-group:focus-within::after,
.motion-safe .form-group.has-value::after{
  transform:scaleX(1);
}

.motion-safe .form-group:focus-within label,
.motion-safe .form-group.has-value label{
  color:#e8f7ff;
}

.motion-safe .form-group input,
.motion-safe .form-group select,
.motion-safe .form-group textarea{
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease;
}

.motion-safe .form-group:focus-within input,
.motion-safe .form-group:focus-within select,
.motion-safe .form-group:focus-within textarea{
  transform:translateY(-1px);
}

.motion-pressable{
  position:relative;
  overflow:hidden;
  touch-action:manipulation;
}

.press-ripple{
  position:absolute;
  z-index:2;
  width:12px;
  height:12px;
  border-radius:999px;
  pointer-events:none;
  background:rgba(255,255,255,.55);
  transform:translate(-50%, -50%) scale(0);
  animation:pressRipple .62s ease-out forwards;
}

.btn-ghost .press-ripple,
.cookie-dismiss .press-ripple,
.nav-toggle .press-ripple{
  background:rgba(140,229,255,.34);
}

@keyframes wordReveal{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes bannerScan{
  0%, 42%{transform:translateX(-120%);}
  70%, 100%{transform:translateX(120%);}
}

@keyframes markBreath{
  0%, 100%{
    opacity:.07;
    filter:brightness(0) invert(1) drop-shadow(0 0 36px rgba(140,229,255,.16));
  }
  50%{
    opacity:.12;
    filter:brightness(0) invert(1) drop-shadow(0 0 58px rgba(140,229,255,.32));
  }
}

@keyframes pressRipple{
  to{
    opacity:0;
    transform:translate(-50%, -50%) scale(18);
  }
}

@keyframes ctaPulse{
  0%{opacity:0;transform:scale(1);}
  50%{opacity:.4;transform:scale(1.04);}
  100%{opacity:0;transform:scale(1.08);}
}

@keyframes pageFadeIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}

@media (max-width:900px){
  :root{
    --text-hero:4.4rem;
    --text-h1:3.2rem;
    --text-h2:2.15rem;
  }
  .quote-block{
    grid-template-columns:1fr !important;
    justify-items:center;
    text-align:center;
  }
}

@media (max-width:760px){
  :root{
    --text-hero:3.35rem;
    --text-h1:2.85rem;
    --text-h2:2rem;
  }
  .hero-headline{
    max-width:8.8em;
  }
  .hero-brand-mark{
    right:-72px;
    bottom:12%;
    width:280px;
  }
  .quote-portrait,
  .portrait-img,
  .director-photo{
    width:240px !important;
    height:240px !important;
  }
  .callback-promise{
    grid-template-columns:1fr;
    align-items:start;
  }
  .callback-icon{
    width:40px;
    height:40px;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{
    opacity:1 !important;
    transform:none !important;
  }
}

/* Review polish: consistent premium hero image system across the site. */
.hero,
.hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-command-hero-generated.webp") type("image/webp"), url("/assets/primal-command-hero-generated.png") type("image/png"));
  --primal-hero-position:center right;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#03070c !important;
  border-bottom:1px solid rgba(140,229,255,.16);
}

.hero-bg{
  background-image:
    linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.88) 34%, rgba(3,7,12,.46) 62%, rgba(3,7,12,.76) 100%),
    radial-gradient(circle at 72% 32%, rgba(140,229,255,.16), transparent 28rem),
    var(--primal-hero-image) !important;
  background-position:center, center, var(--primal-hero-position) !important;
  background-size:cover, cover, cover !important;
  filter:saturate(1.02) contrast(1.07);
}

.hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(3,7,12,.08) 0%, rgba(3,7,12,.58) 100%),
    repeating-linear-gradient(90deg, rgba(140,229,255,.035) 0 1px, transparent 1px 128px);
  pointer-events:none;
}

.hero-bg::after{
  background:
    radial-gradient(circle at 76% 36%, rgba(140,229,255,.18), transparent 24rem),
    linear-gradient(180deg, transparent 0%, rgba(3,7,12,.72) 100%) !important;
}

body.home-page #main > .hero:first-child{
  --primal-hero-image:image-set(url("/assets/primal-command-hero-generated.webp") type("image/webp"), url("/assets/primal-command-hero-generated.png") type("image/png"));
  --primal-hero-position:center right;
  background-image:
    linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.9) 36%, rgba(3,7,12,.48) 63%, rgba(3,7,12,.78) 100%),
    radial-gradient(circle at 78% 38%, rgba(140,229,255,.16), transparent 30rem),
    var(--primal-hero-image) !important;
  background-position:center, center, var(--primal-hero-position) !important;
  background-size:cover, cover, cover !important;
  border-bottom:1px solid rgba(140,229,255,.18);
}

body.apparel-page .hero,
body.apparel-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-apparel-street-gym-generated.webp") type("image/webp"), url("/assets/primal-apparel-street-gym-generated.png") type("image/png"));
  --primal-hero-position:center right;
}

body.about-page .page-hero,
body.contact-page .page-hero{
  min-height:clamp(390px,44vw,540px);
  border-color:rgba(140,229,255,.18);
  background:
    linear-gradient(135deg, rgba(7,18,28,.98), rgba(4,9,15,.9)),
    radial-gradient(circle at 74% 18%, rgba(140,229,255,.16), transparent 24rem) !important;
  box-shadow:0 32px 90px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035);
}

body.about-page .page-hero::before,
body.contact-page .page-hero::before{
  background:
    linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.78) 46%, rgba(3,7,12,.2) 73%, rgba(3,7,12,.72) 100%),
    radial-gradient(circle at 76% 28%, rgba(140,229,255,.16), transparent 24rem),
    repeating-linear-gradient(90deg, rgba(140,229,255,.035) 0 1px, transparent 1px 128px) !important;
}

body.about-page .page-hero::after,
body.contact-page .page-hero::after{
  width:min(58%,720px);
  background-position:center right;
  opacity:.9;
  filter:saturate(1.03) contrast(1.08) brightness(.94);
}

body.about-page .page-hero{
  --page-hero-image:url("/assets/primal-about-hero-custom.webp");
}

body.contact-page .page-hero{
  --page-hero-image:url("/assets/primal-command-hero-generated.webp");
}

@media (max-width:980px){
  .hero-bg,
  body.home-page #main > .hero:first-child{
    background-position:center, center, 64% center !important;
  }

  body.about-page .page-hero,
  body.contact-page .page-hero{
    min-height:auto;
    padding-right:clamp(1.5rem,4vw,4rem) !important;
  }

  body.about-page .page-hero::after,
  body.contact-page .page-hero::after{
    width:100%;
    opacity:.28;
  }

  body.about-page .page-hero::before,
  body.contact-page .page-hero::before{
    background:
      linear-gradient(90deg, rgba(3,7,12,.96) 0%, rgba(3,7,12,.86) 56%, rgba(3,7,12,.66) 100%),
      radial-gradient(circle at 78% 28%, rgba(140,229,255,.12), transparent 18rem) !important;
  }
}

@media (max-width:640px){
  .hero-bg,
  body.home-page #main > .hero:first-child{
    background-position:center, center, 70% center !important;
  }

  .hero-bg{
    background-image:
      linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.92) 58%, rgba(3,7,12,.82) 100%),
      radial-gradient(circle at 72% 28%, rgba(140,229,255,.11), transparent 18rem),
      var(--primal-hero-image) !important;
  }

  body.home-page #main > .hero:first-child{
    background-image:
      linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.92) 58%, rgba(3,7,12,.82) 100%),
      radial-gradient(circle at 72% 28%, rgba(140,229,255,.11), transparent 18rem),
      var(--primal-hero-image) !important;
  }
}

/* Services page feature lift: make the Primal Service System feel like the command centre. */
body:not(.home-page) .services-orbit-section{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(2,7,12,.98) 0%, rgba(5,18,29,.94) 48%, rgba(2,7,12,.98) 100%),
    radial-gradient(circle at 50% 22%, rgba(140,229,255,.18), transparent 28rem),
    radial-gradient(circle at 18% 68%, rgba(45,212,160,.08), transparent 20rem) !important;
  border-top:1px solid rgba(140,229,255,.22);
  border-bottom:1px solid rgba(140,229,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), inset 0 -1px 0 rgba(140,229,255,.08);
}

body:not(.home-page) .services-orbit-section::before{
  opacity:1 !important;
  z-index:0 !important;
  background:
    radial-gradient(circle at 50% 20%, rgba(140,229,255,.18), transparent 18rem),
    linear-gradient(90deg, rgba(140,229,255,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(140,229,255,.035) 1px, transparent 1px),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 320 320' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.18'/%3E%3C/svg%3E");
  background-size:auto, 96px 96px, 96px 96px, 320px 320px;
  mask-image:linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
}

body:not(.home-page) .services-orbit-section::after{
  content:"";
  position:absolute;
  inset:clamp(1rem,3vw,2rem);
  z-index:0;
  pointer-events:none;
  border:1px solid rgba(140,229,255,.11);
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(140,229,255,.1) 12% calc(12% + 1px), transparent calc(12% + 1px) 88%, rgba(140,229,255,.1) 88% calc(88% + 1px), transparent calc(88% + 1px)),
    linear-gradient(180deg, transparent 0 18%, rgba(140,229,255,.08) 18% calc(18% + 1px), transparent calc(18% + 1px) 82%, rgba(140,229,255,.08) 82% calc(82% + 1px), transparent calc(82% + 1px)),
    radial-gradient(circle at 50% 32%, rgba(140,229,255,.12), transparent 24rem);
  box-shadow:0 0 80px rgba(140,229,255,.07), inset 0 0 80px rgba(140,229,255,.035);
}

body:not(.home-page) .services-orbit-wrap{
  position:relative;
  z-index:2;
}

body:not(.home-page) .services-orbit-header{
  position:relative;
  width:min(860px,100%);
  margin-left:auto;
  margin-right:auto;
  padding:clamp(1.2rem,2.4vw,1.75rem) clamp(1rem,3vw,2rem);
  border:1px solid rgba(140,229,255,.13);
  background:
    linear-gradient(180deg, rgba(9,27,40,.58), rgba(4,13,21,.28)),
    radial-gradient(circle at 50% 0%, rgba(140,229,255,.13), transparent 16rem);
  box-shadow:0 24px 70px rgba(0,0,0,.26);
}

body:not(.home-page) .services-orbit-header::before,
body:not(.home-page) .services-orbit-header::after{
  content:"";
  position:absolute;
  top:50%;
  width:clamp(30px,7vw,96px);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(140,229,255,.62));
}

body:not(.home-page) .services-orbit-header::before{
  right:calc(100% + 1rem);
}

body:not(.home-page) .services-orbit-header::after{
  left:calc(100% + 1rem);
  transform:scaleX(-1);
}

body:not(.home-page) .service-system-showcase{
  padding:clamp(1.25rem,3vw,2.4rem);
  border:1px solid rgba(140,229,255,.13);
  background:
    linear-gradient(180deg, rgba(5,15,24,.42), rgba(3,8,13,.2)),
    radial-gradient(circle at 50% 22%, rgba(140,229,255,.1), transparent 26rem);
  box-shadow:0 34px 100px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.025);
}

body:not(.home-page) .service-system-showcase::before{
  content:"";
  position:absolute;
  inset:clamp(.65rem,1.5vw,1rem);
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(140,229,255,.08);
  background:
    radial-gradient(circle at 50% 22%, rgba(140,229,255,.14), transparent 20rem),
    linear-gradient(90deg, transparent 49.8%, rgba(140,229,255,.12) 50%, transparent 50.2%);
}

body:not(.home-page) .service-system-graphic .service-hex-shell{
  filter:drop-shadow(0 36px 80px rgba(0,0,0,.38)) drop-shadow(0 0 34px rgba(140,229,255,.12));
}

body:not(.home-page) .service-system-graphic .service-hex-core{
  border-color:rgba(140,229,255,.34);
  background:
    linear-gradient(180deg, rgba(12,32,46,.92), rgba(5,13,20,.94)),
    radial-gradient(circle at 50% 0%, rgba(140,229,255,.2), transparent 78%);
  box-shadow:0 26px 70px rgba(0,0,0,.34), 0 0 0 1px rgba(140,229,255,.08), 0 0 44px rgba(140,229,255,.11);
}

body:not(.home-page) .service-flip-face{
  border-color:rgba(140,229,255,.2);
  box-shadow:0 26px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.03);
}

@media (max-width:760px){
  body:not(.home-page) .services-orbit-section::after{
    inset:.8rem;
  }

  body:not(.home-page) .services-orbit-header{
    margin-bottom:1.6rem;
  }

  body:not(.home-page) .services-orbit-header::before,
  body:not(.home-page) .services-orbit-header::after{
    display:none;
  }

  body:not(.home-page) .service-system-showcase{
    padding:1rem;
  }
}

/* Review direction: gorilla-led homepage and custom Primal-feel hero pieces. */
.hero,
.hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-legal-gorilla.webp") type("image/webp"), url("/assets/primal-hero-legal-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
  --primal-hero-copy-shade:rgba(3,7,12,.96);
  background:#03070c !important;
}

.hero-bg{
  background-image:
    linear-gradient(90deg, var(--primal-hero-copy-shade) 0%, rgba(3,7,12,.86) 36%, rgba(3,7,12,.42) 64%, rgba(3,7,12,.78) 100%),
    radial-gradient(circle at 74% 34%, rgba(140,229,255,.14), transparent 28rem),
    var(--primal-hero-image) !important;
  background-position:center, center, var(--primal-hero-position) !important;
  background-size:cover, cover, cover !important;
  filter:saturate(1.03) contrast(1.06);
}

body.home-page #main > .hero:first-child{
  --primal-hero-image:image-set(url("/assets/primal-hero-home-gorilla.webp") type("image/webp"), url("/assets/primal-hero-home-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
  min-height:min(780px, calc(100svh - 86px));
  background-image:
    linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.86) 34%, rgba(3,7,12,.34) 63%, rgba(3,7,12,.78) 100%),
    radial-gradient(circle at 76% 36%, rgba(140,229,255,.17), transparent 30rem),
    var(--primal-hero-image) !important;
  background-position:center, center, var(--primal-hero-position) !important;
  background-size:cover, cover, cover !important;
}

body.home-page .hero-badge-seat{
  right:4%;
  bottom:8%;
  width:clamp(230px,36vw,560px);
  opacity:.2;
}

body.home-page .hero-badge-seat img{
  filter:drop-shadow(0 0 30px rgba(140,229,255,.22));
}

body.home-page .hero-brand-mark,
body.home-page .hero-badge-seat{
  display:none !important;
}

body.services-page .hero,
body.services-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-services-gorilla.webp") type("image/webp"), url("/assets/primal-hero-services-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.security-page .hero,
body.security-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-security-gorilla.webp") type("image/webp"), url("/assets/primal-hero-security-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.event-page .hero,
body.event-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-event-gorilla.webp") type("image/webp"), url("/assets/primal-hero-event-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.training-page .hero,
body.training-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-training-gorilla.webp") type("image/webp"), url("/assets/primal-hero-training-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.cleaning-page .hero,
body.cleaning-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-cleaning-gorilla.webp") type("image/webp"), url("/assets/primal-hero-cleaning-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.medical-page .hero,
body.medical-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-medical-gorilla.webp") type("image/webp"), url("/assets/primal-hero-medical-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.application-page .hero,
body.application-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-application-gorilla.webp") type("image/webp"), url("/assets/primal-hero-application-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.staff-access-page .hero,
body.staff-access-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-staff-gorilla.webp") type("image/webp"), url("/assets/primal-hero-staff-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.apparel-page .hero,
body.apparel-page .hero.hero-short{
  --primal-hero-image:image-set(url("/assets/primal-hero-apparel-gorilla.webp") type("image/webp"), url("/assets/primal-hero-apparel-gorilla.jpg") type("image/jpeg"));
  --primal-hero-position:center right;
}

body.about-page .page-hero,
body.contact-page .page-hero{
  --page-hero-image:url("/assets/primal-hero-contact-gorilla.webp");
}

body.about-page .page-hero{
  --page-hero-image:url("/assets/primal-hero-about-gorilla.webp");
}

body.about-page .page-wrap{
  max-width:none;
  padding-inline:0;
}

body.about-page .page-hero,
body.about-page .section{
  width:min(1120px, calc(100% - clamp(2rem,6vw,4rem)));
  margin-left:auto;
  margin-right:auto;
}

body.about-page .section{
  padding-block:clamp(3.8rem,7vw,6.5rem);
}

body.about-page .page-hero{
  border-radius:8px;
  box-shadow:0 28px 84px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}

body.about-page .about-grid{
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:clamp(1.25rem,3vw,2rem);
}

body.about-page .portrait-wrap,
body.about-page .story-body,
body.about-page .team-feature,
body.about-page .team-card,
body.about-page .field-proof-card,
body.about-page .constant-card,
body.about-page .pillar-card{
  border-radius:8px !important;
  border-color:rgba(140,229,255,.14) !important;
  background:
    linear-gradient(180deg, rgba(9,25,37,.64), rgba(4,12,20,.84)),
    radial-gradient(circle at 92% 0%, rgba(140,229,255,.08), transparent 14rem) !important;
}

body.about-page .portrait-img{
  width:min(100%,280px) !important;
  height:min(70vw,280px) !important;
}

body.about-page .team-feature{
  grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);
  margin-bottom:clamp(1rem,2vw,1.4rem);
  box-shadow:0 26px 70px rgba(0,0,0,.24);
}

body.about-page .team-feature img{
  min-height:280px;
  max-height:340px;
}

body.about-page .team-grid{
  gap:clamp(1rem,2vw,1.25rem);
}

body.about-page .team-copy,
body.about-page .constant-card,
body.about-page .pillar-card{
  padding:clamp(1.15rem,2vw,1.45rem);
}

body.about-page .field-proof-grid.field-proof-grid-single{
  grid-template-columns:minmax(0,640px) !important;
}

body.about-page .field-proof-card img{
  min-height:0;
  max-height:430px;
  object-position:center 44%;
}

@media (max-width:980px){
  .hero-bg,
  body.home-page #main > .hero:first-child{
    background-position:center, center, 68% center !important;
  }

  body.about-page .about-grid,
  body.about-page .team-feature{
    grid-template-columns:1fr;
  }

  body.about-page .portrait-wrap{
    position:static !important;
    top:auto !important;
    z-index:auto;
    margin-bottom:clamp(1.3rem,5vw,2rem);
  }

  body.about-page .story-body{
    position:relative;
    z-index:1;
    clear:both;
  }

  body.about-page .page-hero,
  body.about-page .section{
    width:min(100% - 2rem, 1120px);
  }
}

@media (max-width:640px){
  .hero-bg,
  body.home-page #main > .hero:first-child{
    background-position:center, center, 74% center !important;
  }

  body.about-page .page-hero::after,
  body.contact-page .page-hero::after{
    opacity:.24;
  }

  body.about-page .team-feature img{
    min-height:230px;
  }
}

/* Premium About pass: stronger sales hero and larger brand-proof feature. */
body.about-page .page-hero.about-hero{
  width:min(1180px, calc(100% - clamp(2rem,6vw,4rem)));
  min-height:clamp(520px,52vw,660px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.46fr);
  align-items:end;
  gap:clamp(1.2rem,3vw,2.4rem);
  margin-top:clamp(.8rem,2vw,1.45rem);
  padding:clamp(3rem,6vw,5.2rem) clamp(1.4rem,4.6vw,4rem) !important;
  border-color:rgba(140,229,255,.22);
  background:
    linear-gradient(135deg, rgba(6,17,28,.98), rgba(2,7,12,.92)),
    radial-gradient(circle at 72% 18%, rgba(140,229,255,.18), transparent 25rem) !important;
  box-shadow:0 36px 110px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
}

body.about-page .page-hero.about-hero > *{
  max-width:none;
}

body.about-page .page-hero.about-hero::before{
  background:
    linear-gradient(90deg, rgba(3,7,12,.98) 0%, rgba(3,7,12,.84) 42%, rgba(3,7,12,.32) 72%, rgba(3,7,12,.72) 100%),
    radial-gradient(circle at 76% 28%, rgba(140,229,255,.18), transparent 23rem),
    repeating-linear-gradient(90deg, rgba(140,229,255,.035) 0 1px, transparent 1px 108px) !important;
}

body.about-page .page-hero.about-hero::after{
  width:min(60%,760px);
  opacity:.64;
  background-position:center right;
  filter:saturate(1.08) contrast(1.1) brightness(.98);
}

body.about-page .about-hero-copy{
  position:relative;
  z-index:2;
  max-width:760px;
}

body.about-page .about-hero .page-eyebrow{
  margin-bottom:clamp(.9rem,1.8vw,1.25rem);
}

body.about-page .about-hero .page-title{
  max-width:820px;
  margin-bottom:clamp(1rem,2vw,1.35rem);
  font-size:clamp(3.15rem,7.2vw,6rem) !important;
  line-height:.9;
  text-wrap:balance;
}

body.about-page .about-hero .page-lead{
  max-width:680px;
  margin-bottom:clamp(1.2rem,2.4vw,1.8rem);
  color:#d2e1ea;
  font-size:clamp(1rem,1.45vw,1.18rem);
  line-height:1.7;
}

body.about-page .about-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:clamp(1.25rem,2.8vw,2rem);
}

body.about-page .about-hero-actions .btn{
  min-height:46px;
}

body.about-page .about-hero .hero-proof-strip{
  max-width:740px;
  margin-top:0;
}

body.about-page .about-hero .hero-proof-strip span{
  background:rgba(5,18,29,.66);
  border-color:rgba(140,229,255,.22);
}

body.about-page .about-hero-panel{
  position:relative;
  z-index:2;
  align-self:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:clamp(1.2rem,2.6vw,1.8rem);
  border:1px solid rgba(140,229,255,.2);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(8,24,36,.72), rgba(3,9,16,.86)),
    radial-gradient(circle at 82% 0%, rgba(140,229,255,.14), transparent 15rem);
  box-shadow:0 30px 76px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

body.about-page .about-panel-kicker{
  margin:0 0 .75rem;
  color:var(--primal-ice);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body.about-page .about-hero-panel h2{
  margin:0 0 .8rem;
  color:#f5fbff;
  font-size:clamp(1.45rem,2.4vw,2rem);
  line-height:1.06;
  text-wrap:balance;
}

body.about-page .about-hero-panel p{
  margin:0 0 1.2rem;
  color:#bdcdd8;
  font-size:.92rem;
  line-height:1.65;
}

body.about-page .about-hero-metrics{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.55rem;
}

body.about-page .about-hero-metrics div{
  min-width:0;
  padding:.78rem .72rem;
  border:1px solid rgba(140,229,255,.16);
  border-radius:6px;
  background:rgba(255,255,255,.035);
}

body.about-page .about-hero-metrics strong{
  display:block;
  color:#f5fbff;
  font-size:clamp(1.1rem,1.8vw,1.5rem);
  line-height:1;
}

body.about-page .about-hero-metrics span{
  display:block;
  margin-top:.42rem;
  color:#9fb0bd;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1.35;
}

body.about-page .page-hero.about-hero + .section{
  padding-top:clamp(2.6rem,5vw,4.6rem);
}

body.about-page .about-field-proof{
  padding-top:clamp(3rem,6vw,5.5rem);
}

body.about-page .about-field-proof .section-title,
body.about-page .about-field-proof .section-lead{
  max-width:760px;
}

body.about-page .field-proof-grid.field-proof-grid-single{
  grid-template-columns:1fr !important;
  justify-content:stretch;
}

body.about-page .field-proof-card--feature{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(300px,.72fr);
  align-items:stretch;
  min-height:clamp(440px,45vw,560px);
  box-shadow:0 34px 96px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025);
}

body.about-page .field-proof-card--feature::after{
  z-index:0;
  background:
    linear-gradient(90deg, rgba(3,7,12,.06) 0%, rgba(3,7,12,.2) 46%, rgba(3,7,12,.86) 100%),
    radial-gradient(circle at 72% 18%, rgba(140,229,255,.14), transparent 19rem);
}

body.about-page .field-proof-card--feature picture{
  min-height:100%;
}

body.about-page .field-proof-card--feature img{
  min-height:clamp(440px,45vw,560px);
  max-height:none;
  object-position:center 42%;
}

body.about-page .field-proof-card--feature .field-proof-copy{
  position:relative;
  z-index:1;
  left:auto;
  right:auto;
  bottom:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(1.5rem,3.5vw,2.6rem);
}

body.about-page .field-proof-card--feature .field-proof-copy h3{
  max-width:460px;
  font-size:clamp(1.85rem,3.8vw,3rem);
  line-height:.98;
  text-wrap:balance;
}

body.about-page .field-proof-card--feature .field-proof-copy p{
  max-width:520px;
  margin-top:.45rem;
  font-size:1rem;
  color:#cbd8e0;
}

body.about-page .field-proof-points{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.25rem;
}

body.about-page .field-proof-points strong{
  padding:.62rem .72rem;
  border:1px solid rgba(140,229,255,.18);
  border-radius:6px;
  background:rgba(5,18,29,.62);
  color:#eaf6fb;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Enhanced review pass: premium motion without adding library weight. */
.motion-safe .reveal{
  transform:translateY(36px) scale(.985);
  filter:blur(5px);
  will-change:opacity, transform, filter;
}

.motion-safe .reveal.visible{
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.motion-safe main > section.section-depth:not(.hero):not(.page-hero){
  position:relative;
  isolation:isolate;
}

.motion-safe main > section.section-depth:not(.hero):not(.page-hero)::before{
  content:"";
  position:absolute;
  inset:clamp(1rem,3vw,2.4rem) 0 auto;
  z-index:-1;
  height:min(24rem, 44%);
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%, rgba(140,229,255,.105), transparent 18rem),
    radial-gradient(circle at 84% 24%, rgba(45,212,160,.08), transparent 17rem);
  opacity:0;
  transform:translateY(16px) scale(.98);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
}

.motion-safe main > section.section-depth.is-in-view:not(.hero):not(.page-hero)::before{
  opacity:1;
  transform:translateY(0) scale(1);
}

.motion-safe .hero-bg::before,
.motion-safe .page-hero::before{
  animation:heroScan 12s ease-in-out infinite;
}

.motion-safe .hero-bg::after,
.motion-safe .page-hero::after{
  animation:heroBreath 9s ease-in-out infinite;
}

.motion-safe .hero-proof-strip span,
.motion-safe .service-lane,
.motion-safe .service-command-card,
.motion-safe .constant-card,
.motion-safe .panel,
.motion-safe .form-card,
.motion-safe .team-card,
.motion-safe .field-proof-card{
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background-color .28s ease,
    filter .28s ease;
}

.motion-safe .hero-proof-strip span:hover,
.motion-safe .service-lane:hover,
.motion-safe .service-command-card:hover,
.motion-safe .constant-card:hover,
.motion-safe .panel:hover,
.motion-safe .form-card:hover,
.motion-safe .team-card:hover,
.motion-safe .field-proof-card:hover{
  transform:translateY(-4px);
  filter:saturate(1.05);
}

.motion-safe .motion-magnetic{
  --magnet-x:0px;
  --magnet-y:0px;
  transform:translate3d(var(--magnet-x), var(--magnet-y), 0);
  transition:
    transform .18s cubic-bezier(.22,1,.36,1),
    box-shadow .2s ease,
    border-color .2s ease,
    background-color .2s ease;
}

.motion-safe .motion-magnetic.is-magnetic{
  box-shadow:0 14px 34px rgba(0,0,0,.28), 0 0 22px rgba(140,229,255,.14);
}

.motion-safe .service-flip-card{
  cursor:pointer;
}

.motion-safe .service-flip-card .service-flip-face{
  transition:border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}

.motion-safe .service-flip-card.is-flipped .service-flip-face{
  border-color:rgba(140,229,255,.34);
  box-shadow:0 28px 62px rgba(0,0,0,.34), 0 0 30px rgba(140,229,255,.12);
}

.motion-safe .service-flip-card:focus-visible{
  outline:2px solid rgba(140,229,255,.82);
  outline-offset:5px;
}

.motion-safe .service-flip-link{
  position:relative;
  overflow:hidden;
}

.motion-safe .service-flip-link::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.16) 42%, transparent 62%);
  transform:translateX(-120%);
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}

.motion-safe .service-flip-link:hover::after,
.motion-safe .service-flip-link:focus-visible::after{
  transform:translateX(120%);
}

@keyframes heroScan{
  0%, 100%{opacity:.72;transform:translate3d(0,0,0);}
  50%{opacity:.92;transform:translate3d(1.6%,0,0);}
}

@keyframes heroBreath{
  0%, 100%{filter:saturate(1) contrast(1);}
  50%{filter:saturate(1.09) contrast(1.04);}
}

@media (max-width:980px){
  body.about-page .page-hero.about-hero{
    grid-template-columns:1fr;
    min-height:auto;
    padding:clamp(2.4rem,7vw,3.5rem) clamp(1.25rem,5vw,2rem) !important;
  }

  body.about-page .page-hero.about-hero::after{
    width:100%;
    opacity:.24;
  }

  body.about-page .about-hero-panel{
    min-height:0;
  }

  body.about-page .field-proof-card--feature{
    grid-template-columns:1fr;
  }

  body.about-page .field-proof-card--feature::after{
    background:
      linear-gradient(180deg, rgba(3,7,12,.08) 0%, rgba(3,7,12,.92) 74%),
      radial-gradient(circle at 72% 18%, rgba(140,229,255,.13), transparent 18rem);
  }
}

@media (max-width:640px){
  body.about-page .page-hero.about-hero{
    gap:1rem;
    padding:2rem 1.25rem !important;
  }

  body.about-page .about-hero .page-title{
    font-size:clamp(2.25rem,11vw,3.1rem) !important;
    margin-bottom:.85rem;
  }

  body.about-page .about-hero .page-lead{
    font-size:.96rem;
    line-height:1.58;
    margin-bottom:1rem;
  }

  body.about-page .about-hero-actions{
    gap:.55rem;
    margin-bottom:1rem;
  }

  body.about-page .about-hero-actions .btn{
    flex:1 1 132px;
    width:auto;
    justify-content:center;
    min-height:42px;
    padding-inline:.75rem;
  }

  body.about-page .about-hero .hero-proof-strip{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.45rem;
  }

  body.about-page .about-hero .hero-proof-strip span{
    padding:.52rem .58rem;
    font-size:.62rem;
    line-height:1.25;
  }

  body.about-page .about-hero-panel{
    padding:1rem;
  }

  body.about-page .about-hero-panel h2{
    margin-bottom:.45rem;
    font-size:1.08rem;
  }

  body.about-page .about-hero-panel p{
    display:none;
  }

  body.about-page .about-hero-metrics{
    display:none;
  }

  body.about-page .field-proof-card--feature img{
    min-height:380px;
    object-position:center 60%;
  }

  body.about-page .field-proof-card--feature .field-proof-copy{
    padding:1.35rem;
  }
}

/* Real-phone hotfixes: keep about images complete and prevent mobile section overlap. */
body.about-page .team-feature picture{
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:#06111a;
}

body.about-page .team-feature img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

body.about-page .field-proof-card--feature picture{
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:#06111a;
}

body.about-page .field-proof-card--feature img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (max-width:640px){
  body.about-page .credentials{
    gap:.8rem;
  }

  body.about-page .credential-item{
    align-items:center;
    padding:1rem;
  }

  body.about-page .story-body h2:first-child{
    margin-top:clamp(1rem,6vw,1.6rem) !important;
  }

  body.about-page .team-feature picture,
  body.about-page .field-proof-card--feature picture{
    min-height:0 !important;
    aspect-ratio:auto;
  }

  body.about-page .team-feature img,
  body.about-page .field-proof-card--feature img{
    display:block;
    max-width:100%;
  }
}

/* Live mobile fit hotfix: keep collapsed cards and long CTAs readable. */
@media (max-width:980px){
  .service-board-grid{
    align-items:stretch;
  }

  .service-lane{
    min-height:auto !important;
    height:auto !important;
    overflow:visible !important;
    padding:clamp(1.1rem, 3.8vw, 1.35rem) !important;
  }

  .service-lane p{
    max-width:100%;
  }
}

@media (max-width:420px){
  .actions{
    width:100%;
  }

  .actions .btn,
  .hero-ctas .btn,
  .btn-group .btn{
    width:100%;
    max-width:100%;
    justify-content:center;
    text-align:center;
    white-space:normal;
    line-height:1.25;
    min-height:44px;
    padding-inline:.85rem;
  }

  body.about-page .about-hero .hero-proof-strip span{
    font-size:.68rem;
    line-height:1.28;
  }

  .service-system-graphic .service-hex strong,
  .service-system-graphic .service-hex span,
  .service-system-graphic .service-hex-core strong,
  .service-system-graphic .service-hex-core span{
    font-size:max(.69rem, 11px) !important;
    line-height:1.18;
  }
}

@media (max-width:980px){
  .hero-proof-strip span,
  .stat-label,
  .service-lane-status,
  .skynet-toggle small,
  .skynet-kicker{
    font-size:max(.69rem, 11px) !important;
    line-height:1.25;
  }
}
