/* Homepage-only hierarchy: keep primary decisions prominent and deeper content compact. */

.service-priority-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:42px;
}
.priority-service{
  min-height:315px;
  display:flex;
  flex-direction:column;
  padding:27px;
  border:1px solid #d9e2ed;
  border-radius:15px;
  background:#fff;
  box-shadow:0 2px 0 rgba(7,23,46,.02);
}
.priority-service-primary{
  border-color:#102d52;
  background:linear-gradient(145deg,#07172e,#0d2a4e);
  color:#fff;
}
.priority-service h3{
  margin:27px 0 10px;
  font-size:1.55rem;
  line-height:1.2;
}
.priority-service p{
  margin:0 0 22px;
  color:#63758a;
  font-size:.91rem;
  line-height:1.72;
}
.priority-service-primary p{color:#9fb2c8}
.priority-service-primary .audience-tag{color:#6ee7f1}
.priority-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
  padding-top:4px;
}
.priority-tags span{
  padding:5px 8px;
  border:1px solid #dde5ee;
  border-radius:5px;
  color:#6b7c91;
  background:#f8fafc;
  font-size:.63rem;
  font-weight:700;
}
.priority-service-primary .priority-tags span{
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.035);
  color:#8fa7c2;
}
.priority-service>a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:21px;
  padding-top:17px;
  border-top:1px solid #e3e9f0;
  color:#17324f;
  font-size:.82rem;
  font-weight:820;
}
.priority-service-primary>a{
  border-top-color:rgba(255,255,255,.12);
  color:#fff;
}
.priority-service>a span{color:var(--blue)}
.priority-service-primary>a span{color:var(--cyan)}

.service-depth-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #dce4ed;
  border-radius:10px;
  background:#f8fafc;
}
.service-depth-row strong{
  margin-right:5px;
  color:#506177;
  font-size:.72rem;
}
.service-depth-row a{
  padding:6px 9px;
  border-radius:6px;
  background:#fff;
  color:#52657c;
  font-size:.7rem;
  font-weight:760;
}
.service-depth-row a:hover{color:var(--blue)}

.method-section{padding:76px 0}
.method-section .service-row{min-height:94px}
.method-section .consulting-copy h2{font-size:clamp(2.35rem,4.2vw,4rem)}

.application-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:20px;
  padding:15px 17px;
  border:1px solid #d8e2ec;
  border-radius:10px;
  background:#fff;
}
.application-links>span{
  margin-right:4px;
  color:#7a899c;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.application-links a{
  color:#36506d;
  font-size:.72rem;
  font-weight:760;
}
.application-links a:hover{color:var(--blue)}

.resource-section{
  border-top:1px solid #e5ebf2;
  border-bottom:1px solid #e1e8f0;
  background:#f7f9fc;
}
.resource-gateway-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:40px;
}
.resource-gateway-card{
  min-height:290px;
  display:flex;
  flex-direction:column;
  padding:27px;
  border:1px solid #d7e1ec;
  border-radius:15px;
  background:#fff;
  color:#10243d;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  scroll-margin-top:150px;
}
.resource-gateway-card:hover{
  transform:translateY(-3px);
  border-color:#b8cce6;
  box-shadow:0 16px 38px rgba(28,52,83,.08);
}
.resource-gateway-card small{
  color:#0f67d8;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.12em;
}
.resource-gateway-card strong{
  display:block;
  margin:30px 0 11px;
  max-width:320px;
  font-size:1.5rem;
  line-height:1.2;
  letter-spacing:-.025em;
}
.resource-gateway-card p{
  margin:0 0 24px;
  color:#63758a;
  font-size:.88rem;
  line-height:1.7;
}
.resource-gateway-card>span{
  margin-top:auto;
  padding-top:17px;
  border-top:1px solid #e5ebf1;
  color:#17324f;
  font-size:.8rem;
  font-weight:820;
}
.resource-ai{
  border-color:#102d52;
  background:linear-gradient(145deg,#07172e,#0b3159);
  color:#fff;
}
.resource-ai small{color:#6ee7f1}
.resource-ai p{color:#9eb3ca}
.resource-ai>span{
  border-top-color:rgba(255,255,255,.12);
  color:#fff;
}

.compact-videos{padding:72px 0}
.compact-videos .video-grid{margin-top:34px}
.support-section{padding:78px 0}
.support-section .service-row{min-height:92px}

/* Page-by-page visual QA: keep the decorative CFD palette inside the brand system. */
.visual-feature-card:nth-child(3):before{
  background:
    radial-gradient(circle at 70% 24%,rgba(31,115,255,.78),transparent 15%),
    radial-gradient(ellipse at 42% 62%,rgba(46,213,230,.76),transparent 27%),
    repeating-radial-gradient(ellipse at 55% 60%,transparent 0 12px,rgba(255,255,255,.12) 13px 14px),
    linear-gradient(145deg,#07172e,#253f72 58%,#07172e);
}

/* Homepage hero motion: concept → CFD analysis → iterative design improvement. */
.hero-process-media{
  min-width:0;
  margin:0;
  padding:0;
}
.hero-process-frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  border:1px solid rgba(110,231,241,.22);
  border-radius:18px;
  background:#051226;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
  isolation:isolate;
}
.hero-process-frame:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),inset 0 -60px 80px rgba(2,7,25,.12);
}
.hero-process-video,.hero-process-static{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-process-static{display:none}
.hero-process-label{
  position:absolute;
  left:14px;
  bottom:13px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(46,213,230,.26);
  border-radius:999px;
  background:rgba(2,7,25,.72);
  color:#bcd1e5;
  font:800 .62rem/1 "Cascadia Mono",SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  backdrop-filter:blur(8px);
}
.hero-process-play{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  min-height:44px;
  padding:0 17px 0 43px;
  border:1px solid rgba(110,231,241,.5);
  border-radius:999px;
  background:rgba(2,7,25,.88);
  color:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.3);
  transform:translate(-50%,-50%);
  cursor:pointer;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}
.hero-process-play:before{
  content:"▶";
  position:absolute;
  left:16px;
  top:50%;
  color:#2ed5e6;
  transform:translateY(-50%);
}
.hero-process-play[hidden]{display:none}
.hero-process-play:hover{background:#0b2b4d;border-color:#2ed5e6}
.hero-process-frame.needs-play .hero-process-video{filter:brightness(.72)}
.hero-process-media figcaption{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:18px;
  margin-top:14px;
  padding:0 2px;
}
.hero-process-media figcaption strong{
  color:#edf6ff;
  font-size:.93rem;
  line-height:1.35;
}
.hero-process-media figcaption span{
  color:#8ea4bd;
  font-size:.78rem;
  line-height:1.55;
}
.hero-process-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.hero-process-actions .button{min-height:44px;font-size:.86rem}
.hero-discovery-support{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:11px 12px 2px;
  border-top:1px solid rgba(255,255,255,.09);
}
.hero-discovery-support span{color:#7f96af;font-size:.7rem}
.hero-discovery-support a{color:#6ee7f1;font-size:.72rem;font-weight:760;white-space:nowrap}
.hero-discovery-support a:hover{color:#fff}

/* Reduced-motion visitors see the video poster plus an explicit play control from script.js. */
@media(prefers-reduced-motion:reduce){
  .hero-process-video{display:block}
  .hero-process-static{display:none}
}

@media(max-width:980px){
  .service-priority-grid,.resource-gateway-grid{grid-template-columns:1fr 1fr}
  .priority-service-primary,.resource-ai{grid-column:1/-1}
  .priority-service-primary{min-height:270px}
  .resource-ai{min-height:250px}
  .hero-process-media{max-width:760px}
  .hero-process-media figcaption{grid-template-columns:1fr 1.35fr}
}

@media(max-width:760px){
  .service-priority-grid,.resource-gateway-grid{grid-template-columns:1fr;margin-top:30px}
  .priority-service,.resource-gateway-card{min-height:0}
  .priority-service-primary,.resource-ai{grid-column:auto}
  .priority-service h3,.resource-gateway-card strong{margin-top:22px}
  .service-depth-row,.application-links{align-items:flex-start}
  .service-depth-row strong,.application-links>span{width:100%;margin:0 0 3px}
  .method-section,.compact-videos,.support-section{padding:64px 0}
  .visual-feature-card{min-height:300px}
  .hero-process-frame{border-radius:14px}
  .hero-process-media figcaption{grid-template-columns:1fr;gap:5px;margin-top:11px}
  .hero-process-media figcaption span{font-size:.74rem}
  .hero-process-actions{margin-top:13px}
  .hero-process-actions .button{flex:1 1 180px}
  .hero-discovery-support{align-items:flex-start;flex-direction:column;gap:4px;padding-bottom:0}
}

.resource-foam{border-color:#8edecf;background:linear-gradient(145deg,#f4fffc,#eaf8f5)}
.resource-foam small{color:#078b74}
@media(max-width:760px){.resource-gateway-grid{grid-template-columns:1fr}}
