/* ===== Home ===== */

/* Hero */
.home-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#e7eefb;
  background:#081b3a;
  padding:clamp(3.5rem, 2.75rem + 2.5vw, 5rem) 0 clamp(2.5rem, 2rem + 3vw, 4.5rem);
}
.home-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(rgba(123,170,224,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123,170,224,.07) 1px, transparent 1px),
    radial-gradient(circle at 82% 20%, rgba(46,134,230,.3), transparent 30rem);
  background-size:56px 56px, 56px 56px, auto;
  mask-image:linear-gradient(to bottom,#000 68%,transparent 100%);
}
.home-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:42rem;
  height:1px;
  right:-7rem;
  top:18%;
  background:linear-gradient(90deg,transparent,#63a8f2,transparent);
  transform:rotate(-31deg);
  box-shadow:0 0 34px rgba(99,168,242,.75);
}
.home-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);
  gap:clamp(2.5rem,5vw,5rem);
  align-items:center;
}
.home-hero h1 {
  color:#fff;
  font-size:clamp(2.55rem,1.65rem + 3vw,3.65rem);
  line-height:.98;
  max-width:15ch;
  margin-bottom:1.35rem;
}
.home-hero h1 .grad { color:#87bfff; }
.home-hero .eyebrow { color:#8fc0ff; }
.home-hero .lead { color:#c5d4e9; max-width:57ch; }
.home-hero__heritage {
  display:grid;
  gap:.12rem;
  max-width:37rem;
  margin:1.45rem 0 0;
  padding:.25rem 0 .25rem 1rem;
  border-left:2px solid #4f98eb;
}
.home-hero__heritage span {
  color:#86a9d4;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-hero__heritage strong { color:#fff; font-size:.96rem; font-weight:650; }
.home-hero__disc { display:flex; gap:.5rem; flex-wrap:wrap; margin:1.25rem 0 .4rem; }
.home-hero__disc .chip {
  background:rgba(255,255,255,.07);
  color:#d9e7f8;
  border-color:rgba(255,255,255,.16);
  border-radius:var(--r-sm);
}
.home-hero__cta { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.65rem; }
.home-hero__presence {
  margin-top:1.45rem;
  font-size:.84rem;
  color:#8fb0dd;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  gap:.55rem;
}
.home-hero__presence b { color:#fff; font-weight:700; }

/* Hero video */
.hero-visual {
  position:relative;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.23);
  border-radius:var(--r-xl);
  padding:.65rem;
  box-shadow:0 34px 90px rgba(1,8,22,.45);
}
.hero-visual::before {
  content:"LIVE PROCESS VIEW";
  position:absolute;
  z-index:2;
  right:1.35rem;
  top:1.2rem;
  color:#eaf3ff;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.16em;
  text-shadow:0 1px 8px #061226;
}
.hero-visual--video video {
  border-radius:var(--r-lg);
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
  background:#070c15;
  cursor:pointer;
}
.hero-play {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.42);
  cursor:pointer;
  background:rgba(8,27,58,.9);
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 12px 34px rgba(5,10,20,.5),0 0 0 8px rgba(255,255,255,.1);
  transition:transform .25s var(--ease),background .25s var(--ease),opacity .25s var(--ease);
}
.hero-play svg { width:30px; height:30px; margin-left:4px; }
.hero-play:hover { transform:translate(-50%,-50%) scale(1.06); background:var(--blue); }
.hero-play[aria-pressed="true"] { top:2rem; left:2rem; width:48px; height:48px; opacity:.82; }
.hero-play[aria-pressed="true"] svg { width:21px; height:21px; margin-left:0; }
.hero-visual__tag {
  position:absolute;
  left:1.25rem;
  right:1.25rem;
  bottom:1.25rem;
  min-height:44px;
  background:rgba(8,27,58,.91);
  color:#fff;
  padding:.58rem .85rem;
  border-radius:var(--r);
  font-weight:750;
  font-size:.82rem;
  backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  gap:.5rem;
  transition:background .2s var(--ease);
}
.hero-visual__tag:hover { background:rgba(22,87,176,.96); }
.hero-visual__tag .live {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#35e477;
  box-shadow:0 0 8px #28e06a;
  animation:pulse 1.6s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.35} }

/* Capability proof strip */
.home-proof {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:clamp(3rem,6vw,5.5rem);
  border-top:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(255,255,255,.17);
}
.home-proof > div { display:grid; gap:.35rem; padding:1.3rem 1.4rem; border-right:1px solid rgba(255,255,255,.14); }
.home-proof > div:first-child { padding-left:0; }
.home-proof > div:last-child { border-right:0; }
.home-proof span { color:#69a9ef; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; }
.home-proof strong { color:#e7eefb; font-size:.88rem; line-height:1.35; }

/* Buyer router */
.need-router { padding:clamp(3.5rem,6vw,5.5rem) 0; border-bottom:1px solid var(--line); }
.need-router__head { display:grid; grid-template-columns:.72fr 1.28fr; gap:2rem; align-items:end; margin-bottom:2rem; }
.need-router__head .eyebrow { margin:0; }
.need-router__head h2 { margin:0; max-width:18ch; }
.need-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.need-card {
  min-height:245px;
  padding:1.6rem;
  color:var(--ink);
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  background:#fff;
  transition:background .22s var(--ease),transform .22s var(--ease);
}
.need-card:last-child { border-right:0; }
.need-card:hover { background:var(--blue-soft); }
.need-card > span { color:var(--blue); font-family:var(--font-mono); font-size:.75rem; }
.need-card h3 { margin-top:2rem; font-size:1.3rem; }
.need-card p { color:var(--slate); font-size:.9rem; }
.need-card b { margin-top:auto; color:var(--blue); font-size:.86rem; }
.need-card i { font-style:normal; }

/* Flagship */
.flagship__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.flagship__badges { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.2rem 0; }
.seqline { display:flex; align-items:center; gap:.3rem; flex-wrap:wrap; margin-top:1rem; }
.seqline .s { background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); padding:.4rem .6rem; font-size:.76rem; font-weight:700; color:var(--navy); }
.seqline .arw { color:var(--blue-bright); font-weight:800; }
.flagship__media { border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); background:var(--mist); }
.flagship__media img { width:100%; display:block; aspect-ratio:5/4; object-fit:cover; }
.flagship__note { max-width:58ch; margin:1.2rem 0 0; color:var(--steel); font-size:.82rem; }

/* Project brief */
.project-brief { scroll-margin-top:90px; color:#dfe9f7; background:#0a2148; }
.project-brief__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.project-brief h2 { color:#fff; max-width:15ch; }
.project-brief__intro > p { color:#b9cbe3; max-width:52ch; }
.project-brief__promise { display:grid; grid-template-columns:auto 1fr; gap:.7rem 1rem; margin-top:2rem; }
.project-brief__promise span { color:#6aaaf1; font-family:var(--font-mono); font-size:.76rem; }
.project-brief__promise b { color:#edf4fc; font-size:.88rem; }
.project-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  padding:clamp(1.4rem,3vw,2.2rem);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.06);
  box-shadow:0 24px 64px rgba(1,8,22,.22);
}
.project-form label { display:grid; gap:.42rem; color:#f3f7fc; font-size:.82rem; font-weight:750; }
.project-form input,.project-form textarea {
  width:100%;
  min-height:48px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--r);
  background:#fff;
  color:var(--ink);
  font:inherit;
  padding:.78rem .85rem;
}
.project-form textarea { min-height:112px; resize:vertical; }
.project-form input::placeholder,.project-form textarea::placeholder { color:#718097; }
.project-form__wide,.project-form .btn,.project-form small { grid-column:1/-1; }
.project-form .btn { justify-content:center; width:fit-content; min-width:210px; }
.project-form small { color:#9fb4d4; }

/* Section heads and actions */
.sec-head { max-width:60ch; margin-bottom:2rem; }
.sec-head.center { margin-inline:auto; text-align:center; }
.section-actions { margin-top:2rem; display:flex; gap:.8rem; flex-wrap:wrap; }

/* Machines */
.home-mgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.15rem; }
.hmcard { display:flex; flex-direction:column; }
.hmcard__img { aspect-ratio:4/3; overflow:hidden; background:var(--mist); }
.hmcard__img img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease); }
.hmcard:hover .hmcard__img img { transform:scale(1.035); }
.hmcard__b { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; flex:1; }
.hmcard__b h3 { font-size:1.05rem; margin:0 0 .2rem; }
.hmcard__b p { font-size:.8rem; color:var(--blue); font-weight:650; margin:0 0 .8rem; }
.hmcard__b .row { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.hmcard__b .row a { min-height:44px; display:inline-flex; align-items:center; }
.hmcard__b .row a.view { font-weight:750; font-size:.88rem; }
.hmcard__b .row a.wa { font-size:.82rem; color:#0f7635; font-weight:750; }

/* Delivery process */
.cap-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); }
.cap { padding:1.45rem 1.15rem 0 0; border-right:1px solid var(--line); min-height:210px; }
.cap + .cap { padding-left:1.15rem; }
.cap:last-child { border-right:0; }
.cap__num { display:block; color:var(--blue); font-family:var(--font-mono); font-size:.78rem; margin-bottom:2rem; }
.cap h3 { font-size:1.08rem; margin:0 0 .55rem; }
.cap p { margin:0; color:var(--slate); font-size:.87rem; }

/* Industries */
.industry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.industry-grid a {
  min-height:96px;
  padding:1.25rem;
  background:#fff;
  color:var(--ink);
  font-weight:750;
  display:flex;
  align-items:flex-end;
  transition:color .18s var(--ease),background .18s var(--ease);
}
.industry-grid a:hover { color:var(--blue); background:var(--blue-soft); }

/* Presence */
.pres-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pres { border-top:1px solid rgba(255,255,255,.25); padding:1.4rem 0 0; }
.pres .cty { font-family:var(--font-display); font-size:1.55rem; font-weight:800; color:#fff; margin-bottom:.2rem; }
.pres .role { color:#9fc0ea; font-size:.9rem; }

/* Closing CTA */
.home-cta {
  position:relative;
  overflow:hidden;
  background:var(--blue);
  color:#fff;
  border-radius:var(--r-xl);
  padding:clamp(2.4rem,2rem + 3vw,4.2rem);
  text-align:center;
  box-shadow:var(--shadow-lg);
}
.home-cta::after {
  content:"";
  position:absolute;
  width:26rem;
  height:26rem;
  border:1px solid rgba(255,255,255,.17);
  border-radius:50%;
  right:-11rem;
  top:-13rem;
}
.home-cta h2 { color:#fff; position:relative; }
.home-cta p { color:#eaf2fd; max-width:61ch; margin-inline:auto; position:relative; }
.home-cta .btns { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-top:1.5rem; position:relative; }

@media (max-width:1050px) {
  .home-hero__grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .need-grid { grid-template-columns:1fr 1fr; }
  .need-card:nth-child(2) { border-right:0; }
  .need-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .home-mgrid { grid-template-columns:1fr 1fr; }
  .cap-grid { grid-template-columns:repeat(3,1fr); }
  .cap:nth-child(3) { border-right:0; }
  .cap:nth-child(n+4) { margin-top:1.5rem; border-top:1px solid var(--line); }
  .industry-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:860px) {
  .home-hero__grid,.flagship__grid,.project-brief__grid { grid-template-columns:1fr; }
  .home-hero h1 { max-width:17ch; }
  .hero-visual { max-width:680px; }
  .home-proof { grid-template-columns:1fr 1fr; }
  .home-proof > div:nth-child(2) { border-right:0; }
  .home-proof > div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.14); }
  .home-proof > div:nth-child(3) { padding-left:0; }
  .need-router__head { grid-template-columns:1fr; gap:.5rem; }
  .cap-grid { grid-template-columns:1fr 1fr; }
  .cap:nth-child(2n) { border-right:0; }
  .cap:nth-child(3) { border-right:1px solid var(--line); }
  .cap:nth-child(n+3) { margin-top:1.5rem; border-top:1px solid var(--line); }
}
@media (max-width:640px) {
  .home-hero { padding-top:3.5rem; }
  .home-hero__grid { gap:2rem; }
  .home-hero__cta .btn { width:100%; justify-content:center; }
  .home-hero__presence { align-items:flex-start; flex-wrap:wrap; }
  .home-proof { margin-top:3rem; }
  .home-proof > div { padding:1rem .75rem; }
  .need-grid,.home-mgrid,.cap-grid,.industry-grid,.pres-grid { grid-template-columns:1fr; }
  .need-card { min-height:210px; border-right:0; border-bottom:1px solid var(--line); }
  .need-card:nth-child(3) { border-bottom:1px solid var(--line); }
  .need-card:last-child { border-bottom:0; }
  .project-form { grid-template-columns:1fr; }
  .project-form label,.project-form__wide,.project-form .btn,.project-form small { grid-column:1; }
  .project-form .btn { width:100%; }
  .cap,.cap + .cap { min-height:0; padding:1.25rem 0; border-right:0; border-top:1px solid var(--line); margin:0; }
  .cap:first-child { border-top:0; }
  .cap__num { margin-bottom:.8rem; }
  .industry-grid a { min-height:76px; }
  .section-actions .btn { width:100%; justify-content:center; }
  .hero-visual::before { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-visual__tag .live { animation:none; }
}
