.page-hero{ position: relative; padding-top: 170px; padding-bottom: 90px; padding-left: var(--pad-x); padding-right: var(--pad-x); background: var(--navy-black); color: #fff; overflow: hidden; }
.page-hero::before{ content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 50% at 90% 30%, rgba(0,160,223,.30), transparent 60%), radial-gradient(ellipse 50% 60% at 0% 100%, rgba(13,152,122,.20), transparent 60%); }
.page-hero .wave-bg{ z-index:0; }
.page-hero-inner{ position:relative; z-index:2; }
.page-hero .eyebrow{ margin-bottom: 22px; }
.page-hero h1{ color: #fff; max-width: 22ch; }
.page-hero h1 .em{ color: var(--cyan); }
.page-hero .lead{ color: rgba(255,255,255,.78); margin-top: 28px; max-width: 640px; }
.page-hero-meta{ position:absolute; top: 76px; left: 0; right: 0; z-index: 3; display:flex; justify-content:space-between; align-items:center; padding: 14px var(--pad-x); border-bottom: 1px solid rgba(255,255,255,.08); font-family: var(--mono); font-size:11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.50); }
.page-hero-meta a{ color: rgba(255,255,255,.70); transition: color .25s var(--ease); }
.page-hero-meta a:hover{ color: var(--cyan); }

/* The three-layer architecture */
.architecture{ padding: clamp(80px, 11vw, 160px) var(--pad-x); background: var(--paper); }
.arch-stack{
 display: grid; gap: clamp(20px, 2vw, 28px);
 margin-top: clamp(40px, 6vw, 70px);
}
/* .arch-layer now owned by the applab/arch-layer block */

/* 8 disciplines grid */
.disciplines{ padding: clamp(80px, 11vw, 160px) var(--pad-x); background: var(--off); }
.disc-grid{
 display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 1px;
 margin-top: clamp(40px, 6vw, 70px);
 background: var(--line); border: 1px solid var(--line);
 border-radius: 24px; overflow: hidden;
}
/* .disc now owned by the applab/disc-card block */
@media (max-width: 980px){ .disc-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px){ .disc-grid{ grid-template-columns: 1fr; } }

/* Tech stack strip */
.tech-strip{ padding: clamp(80px, 11vw, 160px) var(--pad-x); background: var(--paper); }
.tech-grid{ display:grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: clamp(40px, 6vw, 60px); }
/* .tech-grid span now owned by the applab/tech-chip block */
@media (max-width: 880px){ .tech-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px){ .tech-grid{ grid-template-columns: 1fr 1fr; } }

/* CTA */
.cta{ padding: clamp(100px, 14vw, 200px) var(--pad-x); background: var(--navy-black); color: #fff; position: relative; overflow: hidden; }
.cta::before{ content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 40% at 50% 100%, rgba(0,160,223,.22), transparent 60%); }
.cta > *{ position: relative; z-index: 2; }
.cta .eyebrow{ color: var(--cyan); margin-bottom: 28px; }
.cta .eyebrow::before{ background: var(--cyan); }
.cta h2{ color: #fff; max-width: 22ch; }
.cta h2 .em{ color: var(--cyan); }
.cta .lead{ color: rgba(255,255,255,.7); margin-top: 26px; }
.cta-actions{ margin-top: clamp(40px, 6vw, 70px); display: flex; gap: 14px; flex-wrap: wrap; }
