.engineering-hero {
  position: relative;
  padding: 9rem 0 5rem;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #001a33 0%, #003e70 58%, #0052a3 100%);
}

.engineering-hero::before,
.engineering-hero::after {
  content: '';
  position: absolute;
  border: 1px solid rgba(61, 169, 252, 0.2);
  border-radius: 50%;
}

.engineering-hero::before { width: 420px; height: 420px; right: -100px; top: -160px; }
.engineering-hero::after { width: 260px; height: 260px; right: 180px; bottom: -190px; }

.engineering-hero .container { position: relative; z-index: 1; }
.engineering-breadcrumb { display:flex; align-items:center; gap:.55rem; font-size:.82rem; color:rgba(255,255,255,.7); margin-bottom:1.5rem; }
.engineering-breadcrumb a { color:inherit; text-decoration:none; }
.engineering-breadcrumb a:hover { color:#fff; }
.engineering-kicker { display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .8rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; background:rgba(255,255,255,.08); }
.engineering-hero h1 { max-width:820px; margin:1.2rem 0 .9rem; font-size:clamp(2.1rem,5vw,4rem); line-height:1.05; letter-spacing:-.035em; }
.engineering-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.78); font-size:1.05rem; line-height:1.8; }
.engineering-hero-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.8rem; }

.engineering-page { padding:5rem 0; background:#f8fafc; }
.engineering-section-head { max-width:760px; margin:0 auto 2.4rem; text-align:center; }
.engineering-section-head span { color:var(--color-primary,#0052cc); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.engineering-section-head h2 { margin:.6rem 0 .8rem; color:#0f172a; font-size:clamp(1.75rem,3vw,2.5rem); }
.engineering-section-head p { margin:0; color:#64748b; line-height:1.7; }

.engineering-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.engineering-service-card { border:1px solid #e2e8f0; border-radius:14px; background:#fff; padding:1.3rem; box-shadow:0 4px 18px rgba(15,23,42,.04); transition:transform .2s,border-color .2s,box-shadow .2s; }
.engineering-service-card:hover { transform:translateY(-3px); border-color:#93c5fd; box-shadow:0 12px 28px rgba(15,23,42,.08); }
.engineering-service-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#0052cc; background:#eff6ff; margin-bottom:.9rem; }
.engineering-service-card h3 { margin:0 0 .35rem; color:#172033; font-size:1rem; }
.engineering-service-card p { margin:0; color:#64748b; font-size:.84rem; line-height:1.6; }

.engineering-request-wrap { margin-top:5rem; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:2rem; align-items:start; }
.engineering-request-info { position:sticky; top:110px; padding:2rem; border-radius:18px; color:#fff; background:linear-gradient(145deg,#002b50,#004f8f); box-shadow:0 20px 40px rgba(0,42,80,.16); }
.engineering-request-info h2 { margin:0 0 .8rem; font-size:1.7rem; }
.engineering-request-info > p { color:rgba(255,255,255,.76); line-height:1.7; margin:0 0 1.5rem; }
.engineering-flow-step { display:flex; gap:.8rem; align-items:flex-start; margin:1rem 0; }
.engineering-flow-num { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; flex:0 0 30px; background:rgba(255,255,255,.14); font-size:.78rem; font-weight:800; }
.engineering-flow-step strong { display:block; font-size:.9rem; margin-bottom:.2rem; }
.engineering-flow-step span { display:block; color:rgba(255,255,255,.68); font-size:.78rem; line-height:1.5; }

.engineering-form-card { padding:2rem; border:1px solid #e2e8f0; border-radius:18px; background:#fff; box-shadow:0 16px 40px rgba(15,23,42,.07); }
.engineering-form-card h2 { margin:0 0 .35rem; color:#0f172a; font-size:1.55rem; }
.engineering-form-card > p { margin:0 0 1.7rem; color:#64748b; font-size:.9rem; }
.engineering-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.engineering-form-group { margin-bottom:1rem; }
.engineering-form-group.full { grid-column:1/-1; }
.engineering-form-label { display:block; margin-bottom:.45rem; color:#334155; font-size:.82rem; font-weight:700; }
.engineering-input,
.engineering-select,
.engineering-textarea { width:100%; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#0f172a; padding:.78rem .9rem; font:inherit; font-size:.9rem; transition:border-color .15s,box-shadow .15s; }
.engineering-textarea { min-height:155px; resize:vertical; line-height:1.55; }
.engineering-input:focus,
.engineering-select:focus,
.engineering-textarea:focus { outline:0; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.11); }
.engineering-help { display:block; margin-top:.38rem; color:#94a3b8; font-size:.74rem; line-height:1.5; }
.engineering-file-box { border:1px dashed #94a3b8; border-radius:11px; padding:1rem; background:#f8fafc; }
.engineering-file-box input { width:100%; font-size:.84rem; }
.engineering-consent { display:flex; align-items:flex-start; gap:.6rem; margin:1.1rem 0; color:#64748b; font-size:.78rem; line-height:1.5; }
.engineering-consent input { margin-top:.2rem; }
.engineering-submit { width:100%; display:flex; align-items:center; justify-content:center; gap:.55rem; border:0; border-radius:9px; padding:.9rem 1.2rem; background:#0052cc; color:#fff; font:inherit; font-weight:800; cursor:pointer; transition:background .2s,transform .2s; }
.engineering-submit:hover:not(:disabled) { background:#003e9c; transform:translateY(-1px); }
.engineering-submit:disabled { opacity:.6; cursor:not-allowed; }
.engineering-alert { display:none; margin:0 0 1rem; padding:.85rem 1rem; border-radius:9px; font-size:.84rem; line-height:1.5; }
.engineering-alert.error { display:block; background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }
.engineering-alert.success { display:block; background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.engineering-success-code { display:block; margin-top:.55rem; font-family:monospace; font-size:1rem; font-weight:800; }

@media (max-width: 1024px) {
  .engineering-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .engineering-request-wrap { grid-template-columns:1fr; }
  .engineering-request-info { position:static; }
}

@media (max-width: 640px) {
  .engineering-hero { padding:7.5rem 0 3.5rem; }
  .engineering-page { padding:3.5rem 0; }
  .engineering-services { grid-template-columns:1fr; }
  .engineering-form-grid { grid-template-columns:1fr; gap:0; }
  .engineering-form-card,
  .engineering-request-info { padding:1.3rem; border-radius:14px; }
  .engineering-hero-actions .btn { width:100%; justify-content:center; }
}
