.inner-hero { padding: 74px 0 68px; }
.inner-hero-grid { position: relative; z-index: 1; display: grid; align-items: center; gap: 64px; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); }
.inner-hero-copy { max-width: 690px; }
.inner-hero-copy .breadcrumb { margin-bottom: 22px; }
.inner-hero-copy h1 { max-width: 650px; }
.inner-hero-copy > p { max-width: 650px; }
.inner-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.inner-hero .btn-outline { border-color: rgba(255,255,255,.22); color: #fff; }
.inner-hero .btn-outline:hover { border-color: #fff; background: #fff; color: var(--navy); }
.inner-hero-points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.inner-hero-points span { border: 1px solid rgba(125,211,252,.18); border-radius: 999px; background: rgba(56,189,248,.075); color: #bae6fd; padding: 6px 11px; font-size: .64rem; font-weight: 700; }
.inner-visual { position: relative; min-height: 360px; border: 1px solid rgba(125,211,252,.2); border-radius: 32px; background: linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035)); box-shadow: 0 30px 75px rgba(0,0,0,.2); padding: 25px; }
.inner-visual::before { position: absolute; inset: 14px; border: 1px dashed rgba(125,211,252,.16); border-radius: 24px; content: ""; }
.visual-window { position: relative; z-index: 1; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: #fff; box-shadow: 0 22px 50px rgba(0,0,0,.22); }
.visual-window-top { display: flex; align-items: center; gap: 6px; height: 35px; background: #eff6ff; padding: 0 13px; }
.visual-window-top i { width: 6px; height: 6px; border-radius: 50%; background: #93c5fd; }
.visual-window-body { padding: 18px; }
.visual-window-title { width: 58%; height: 12px; border-radius: 10px; background: var(--navy); }
.visual-window-copy { width: 82%; height: 7px; border-radius: 10px; margin: 10px 0 18px; background: #cbd5e1; }
.visual-service-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,1fr); }
.visual-service-grid span { display: grid; min-height: 82px; align-content: end; border: 1px solid #dbeafe; border-radius: 13px; background: #f8fafc; color: var(--navy); padding: 10px; font-size: .55rem; font-weight: 900; }
.visual-service-grid span::before { width: 27px; height: 27px; border-radius: 9px; margin-bottom: 12px; background: linear-gradient(135deg,var(--blue),var(--cyan)); content: ""; }
.visual-float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(7,16,51,.9); box-shadow: 0 15px 35px rgba(0,0,0,.2); color: #fff; padding: 10px 13px; font-size: .58rem; font-weight: 800; backdrop-filter: blur(10px); }
.visual-float::before { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 5px rgba(34,197,94,.13); content: ""; }
.visual-float.one { right: -13px; bottom: 45px; }
.visual-float.two { top: 61px; left: -16px; }
.visual-float.two::before { background: var(--cyan); box-shadow: 0 0 0 5px rgba(56,189,248,.13); }
.intro-band { display: grid; align-items: center; gap: 35px; border: 1px solid #dbeafe; border-radius: 28px; background: linear-gradient(120deg,#fff,#eff6ff); box-shadow: var(--shadow); padding: 34px; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); }
.intro-band h2 { margin-bottom: 9px; font-size: 1.65rem; }
.intro-band p { max-width: 700px; margin: 0; color: var(--muted); }
.intro-band-metrics { display: grid; gap: 9px; grid-template-columns: repeat(2,1fr); }
.intro-band-metrics span { display: grid; min-height: 88px; align-content: center; border: 1px solid #dbeafe; border-radius: 15px; background: #fff; padding: 13px; }
.intro-band-metrics b { color: var(--blue); font-size: 1rem; }
.intro-band-metrics small { color: var(--muted); font-size: .58rem; }
.core-service-grid { display: grid; gap: 16px; grid-template-columns: repeat(4,1fr); }
.core-service-card { display: flex; min-height: 285px; flex-direction: column; border: 1px solid var(--border); border-radius: 24px; background: #fff; padding: 24px; transition: transform .22s,box-shadow .22s,border-color .22s; }
.core-service-card:hover { transform: translateY(-5px); border-color: #bfdbfe; box-shadow: var(--shadow); }
.core-service-card > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: linear-gradient(145deg,#eff6ff,#dbeafe); color: var(--blue); direction: ltr; font-size: .66rem; font-weight: 900; }
.core-service-card small { margin-top: 23px; color: var(--blue); font-size: .62rem; font-weight: 800; }
.core-service-card h2,.core-service-card h3 { margin: 7px 0 9px; font-size: 1.05rem; }
.core-service-card p { margin-bottom: 18px; color: var(--muted); font-size: .73rem; }
.core-service-card a { margin-top: auto; color: var(--blue-dark); font-size: .7rem; font-weight: 900; }
.service-detail-stack { display: grid; gap: 22px; }
.service-detail { display: grid; overflow: hidden; border: 1px solid var(--border); border-radius: 28px; background: #fff; box-shadow: 0 16px 45px rgba(11,24,73,.055); grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); }
.service-detail:nth-child(even) .service-detail-copy { order: 2; }
.service-detail-copy { padding: 40px; }
.service-detail-copy > span { color: var(--blue); font-size: .66rem; font-weight: 900; }
.service-detail-copy h2 { margin: 8px 0 12px; font-size: 1.6rem; }
.service-detail-copy p { color: var(--muted); }
.service-checks { display: grid; gap: 8px; margin: 20px 0 25px; padding: 0; list-style: none; grid-template-columns: repeat(2,1fr); }
.service-checks li { display: flex; align-items: center; gap: 8px; color: #334155; font-size: .7rem; font-weight: 700; }
.service-checks li::before { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; border-radius: 7px; background: #eff6ff; color: var(--blue); content: "✓"; font-size: .58rem; font-weight: 900; }
.service-detail-visual { position: relative; display: grid; min-height: 330px; place-items: center; overflow: hidden; background: radial-gradient(circle at 15% 10%,rgba(56,189,248,.2),transparent 33%),linear-gradient(145deg,var(--navy),#123c9d); padding: 35px; }
.service-detail-visual::before { position: absolute; width: 260px; height: 260px; border: 1px solid rgba(125,211,252,.12); border-radius: 50%; box-shadow: 0 0 0 48px rgba(125,211,252,.025),0 0 0 96px rgba(125,211,252,.015); content: ""; }
.detail-ui { position: relative; z-index: 1; width: min(100%,310px); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.1); padding: 15px; backdrop-filter: blur(10px); }
.detail-ui > strong { display: block; margin-bottom: 12px; color: #fff; font-size: .68rem; }
.detail-ui-row { display: flex; align-items: center; gap: 9px; border-top: 1px solid rgba(255,255,255,.1); color: #cbd5e1; padding: 11px 0; font-size: .58rem; }
.detail-ui-row i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.detail-ui-row b { margin-right: auto; color: #7dd3fc; direction: ltr; font-size: .58rem; }
.value-grid { display: grid; gap: 15px; grid-template-columns: repeat(3,1fr); }
.value-card { border: 1px solid var(--border); border-radius: 22px; background: #fff; padding: 25px; }
.value-card > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: #eff6ff; color: var(--blue); font-size: .65rem; font-weight: 900; }
.value-card h3 { margin: 21px 0 8px; font-size: 1rem; }
.value-card p { margin: 0; color: var(--muted); font-size: .72rem; }
.scope-list { display: grid; gap: 12px; grid-template-columns: repeat(2,1fr); }
.scope-item { display: flex; align-items: flex-start; gap: 13px; border: 1px solid var(--border); border-radius: 18px; background: #fff; padding: 18px; }
.scope-item > span { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 11px; background: var(--navy); color: #fff; direction: ltr; font-size: .55rem; font-weight: 900; }
.scope-item h3 { margin: 0 0 4px; font-size: .88rem; }
.scope-item p { margin: 0; color: var(--muted); font-size: .66rem; }
.page-guide { display: grid; gap: 12px; margin-bottom: 38px; grid-template-columns: repeat(4,1fr); }
.page-guide a,.page-guide > div { border: 1px solid #dbeafe; border-radius: 16px; background: #fff; padding: 15px; transition: transform .2s,border-color .2s; }
.page-guide a:hover { transform: translateY(-3px); border-color: #93c5fd; }
.page-guide small { display: block; color: var(--blue); font-size: .56rem; font-weight: 800; }
.page-guide strong { color: var(--heading); font-size: .72rem; }
.section-compact { padding-top: 58px; padding-bottom: 58px; }
.section-lead { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 32px; }
.section-lead .section-head { margin: 0; }
.section-lead-note { max-width: 330px; border-right: 3px solid var(--cyan); color: var(--muted); padding-right: 13px; font-size: .67rem; }
@media (max-width: 1000px) {
  .inner-hero-grid,.service-detail { grid-template-columns: 1fr; }
  .inner-hero-copy { max-width: none; }
  .inner-visual { width: min(100%,640px); min-height: 330px; }
  .core-service-grid,.page-guide { grid-template-columns: repeat(2,1fr); }
  .service-detail:nth-child(even) .service-detail-copy { order: initial; }
}
@media (max-width: 760px) {
  .inner-hero { padding: 58px 0; }
  .inner-hero-grid { gap: 38px; }
  .inner-visual { min-height: 300px; padding: 18px; }
  .visual-float.two { left: -7px; }
  .visual-float.one { right: -7px; }
  .intro-band { grid-template-columns: 1fr; padding: 25px; }
  .value-grid { grid-template-columns: 1fr; }
  .service-detail-copy { padding: 28px 22px; }
  .service-detail-visual { min-height: 280px; }
  .section-lead { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .core-service-grid,.scope-list,.page-guide,.service-checks { grid-template-columns: 1fr; }
  .core-service-card { min-height: 245px; }
  .inner-hero-actions .btn { width: 100%; }
  .inner-visual { min-height: 270px; }
  .visual-service-grid span { min-height: 67px; }
  .visual-float { font-size: .51rem; }
}

/* Portfolio listing: project journey and image-first cards. */
.portfolio-journey { display:grid; gap:14px; margin-bottom:42px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.portfolio-journey-step { position:relative; display:flex; min-width:0; min-height:108px; align-items:center; gap:13px; overflow:hidden; border:1px solid #dbeafe; border-radius:19px; background:linear-gradient(145deg,#fff,#f4f8ff); box-shadow:0 12px 30px rgba(11,24,73,.045); padding:18px; }
.portfolio-journey-step::before { position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,#2563eb,#38bdf8); content:""; }
.portfolio-journey-step > span { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:13px; background:#eaf2ff; color:#1d4ed8; font-size:.72rem; font-weight:900; }
.portfolio-journey-step > div { min-width:0; }
.portfolio-journey-step small,.portfolio-journey-step strong { display:block; }
.portfolio-journey-step small { margin-bottom:4px; color:#475569; font-size:.68rem; font-weight:700; }
.portfolio-journey-step strong { color:var(--heading); font-size:.91rem; line-height:1.55; }
.portfolio-listing .portfolio-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.portfolio-listing .project-card { display:flex; min-width:0; flex-direction:column; box-shadow:0 12px 34px rgba(11,24,73,.055); transition:transform .2s,box-shadow .2s; }
.portfolio-listing .project-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(11,24,73,.1); }
.portfolio-listing .project-cover { height:auto; aspect-ratio:4 / 3; border-radius:0; background:#edf4fb; box-shadow:none; }
.portfolio-listing .project-cover img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; }
.portfolio-listing .project-content { display:flex; flex:1; flex-direction:column; padding:19px; }
.portfolio-listing .project-content h3 { margin:7px 0 9px; font-size:.95rem; line-height:1.6; }
.portfolio-listing .project-content p { margin-bottom:18px; line-height:1.8; }
.portfolio-listing .project-content .text-link { margin-top:auto; }
@media (max-width:1050px) {
  .portfolio-journey,.portfolio-listing .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .portfolio-journey,.portfolio-listing .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-journey { gap:10px; margin-bottom:32px; }
  .portfolio-journey-step { min-height:86px; }
}
@media (prefers-reduced-motion:reduce) {
  .portfolio-listing .project-card { transition:none; }
}

/* Compact inner-page hero: the content starts immediately after a short introduction. */
.inner-hero { padding: 32px 0 36px; }
.inner-hero-grid { display:block; }
.inner-hero-copy { display:grid; max-width:none; align-items:center; gap:4px 38px; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.inner-hero-copy .breadcrumb { grid-column:1/-1; margin-bottom:4px; }
.inner-hero-copy > .eyebrow { grid-column:1; color:var(--blue) !important; }
.inner-hero-copy h1 { grid-column:1; margin:0; max-width:none; }
.inner-hero-copy > p { grid-column:2; grid-row:2/4; max-width:none; }
.inner-hero-actions { grid-column:1/-1; margin-top:10px; }
.inner-hero-points,.inner-visual { display:none; }
.inner-hero .btn-outline { border-color:#cbd5e1; background:#fff; color:var(--navy); }
.inner-hero .btn-outline:hover { border-color:var(--blue); background:#eff6ff; color:#1d4ed8; }
@media (max-width:760px) {
  .inner-hero { padding:24px 0 28px; }
  .inner-hero-copy { display:block; }
  .inner-hero-copy > .eyebrow { display:block; margin:8px 0 5px; }
  .inner-hero-copy h1 { margin-bottom:9px; }
  .inner-hero-actions { margin-top:15px; }
}
