
:root {
  --bg: #07111f;
  --bg-soft: #0d1b2f;
  --surface: rgba(255,255,255,0.06);
  --surface-2: rgba(255,255,255,0.08);
  --surface-3: #ffffff;
  --line: rgba(255,255,255,0.1);
  --line-dark: rgba(7,17,31,0.1);
  --text: #e9effa;
  --text-muted: #a8b5ca;
  --text-dark: #122033;
  --heading: #ffffff;
  --accent: #4fd1c5;
  --accent-2: #7dd3fc;
  --accent-3: #8b5cf6;
  --success: #22c55e;
  --warning: #f59e0b;
  --radius: 22px;
  --radius-sm: 14px;
  --shadow: 0 20px 50px rgba(0,0,0,0.22);
  --shadow-soft: 0 14px 35px rgba(0,0,0,0.12);
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #07111f 0%, #0b1530 40%, #eef4fb 40%, #f7faff 100%);
  color: var(--text-dark);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img, svg { max-width: 100%; display: block; }
.container { width: min(100% - 2rem, var(--max)); margin-inline: auto; }
.skip-link {
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus { left:1rem; top:1rem; width:auto; height:auto; padding:0.75rem 1rem; background:#fff; color:#000; z-index:1000; border-radius:12px; }
.site-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(16px);
  background: rgba(7,17,31,0.75);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.nav-wrap {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height: 76px;
}
.brand { display:flex; align-items:center; gap:0.9rem; color:#fff; }
.brand-mark {
  width: 44px; height:44px; border-radius: 14px;
  display:grid; place-items:center; font-weight:800; letter-spacing:0.02em;
  background: linear-gradient(135deg, var(--accent), var(--accent-3));
  color:#06121f; box-shadow: 0 8px 24px rgba(79,209,197,0.35);
}
.brand-text { display:flex; flex-direction:column; }
.brand-text strong { font-size:1rem; font-weight:700; letter-spacing:0.01em; }
.brand-text small { color:var(--text-muted); font-size:0.83rem; }
.primary-nav { display:flex; align-items:center; gap:1.1rem; }
.primary-nav a { color: var(--text-muted); font-weight: 500; }
.primary-nav a:hover { color: #fff; }
.primary-nav .nav-cta {
  color:#08121d; background:#fff; padding:0.78rem 1rem; border-radius: 14px; font-weight:700;
}
.primary-nav .nav-cta:hover { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#08121d; }
.menu-toggle {
  display:none; appearance:none; border:1px solid rgba(255,255,255,0.14); background:transparent; color:#fff;
  padding:0.75rem 0.95rem; border-radius: 12px; font-weight:700;
}
.section-pad { padding: 5.5rem 0; }
.hero { color: var(--text); position: relative; overflow:hidden; }
.hero::before, .hero::after {
  content:""; position:absolute; inset:auto; border-radius:50%; filter: blur(70px); pointer-events:none;
}
.hero::before { width: 360px; height:360px; background: rgba(79,209,197,0.25); top: 8%; right: -80px; }
.hero::after { width: 300px; height:300px; background: rgba(139,92,246,0.22); bottom: 10%; left: -70px; }
.hero-grid { display:grid; grid-template-columns: 1.1fr 0.9fr; gap: 2rem; align-items:center; padding: 3.3rem 0 2rem; }
.eyebrow {
  display:inline-flex; align-items:center; gap:0.55rem; margin:0 0 1rem;
  padding:0.45rem 0.8rem; border-radius:999px; text-transform: uppercase; letter-spacing: 0.14em;
  font-size:0.76rem; font-weight:700; color:#d7f6f4; border:1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.04);
}
.eyebrow::before { content:""; width:0.5rem; height:0.5rem; border-radius:50%; background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.hero h1, .page-hero h1 { margin:0; font-size: clamp(2.5rem, 6vw, 4.6rem); line-height:1.02; color:#fff; letter-spacing:-0.03em; }
.hero-copy, .lead { font-size:1.12rem; color: #d4def0; max-width: 62ch; }
.hero-actions { display:flex; flex-wrap:wrap; gap:0.9rem; margin-top:1.6rem; }
.button {
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; padding: 0.95rem 1.25rem; border-radius: 16px; font-weight:700;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#06131f; box-shadow: 0 14px 34px rgba(79,209,197,0.3); }
.button-secondary { background: rgba(255,255,255,0.06); color:#fff; border:1px solid rgba(255,255,255,0.12); }
.hero-stats { display:grid; grid-template-columns: repeat(3, 1fr); gap:0.75rem; margin-top:1.4rem; }
.hero-stats div, .metric-card {
  background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius: 18px; padding:1rem 1rem 0.9rem;
}
.hero-stats strong, .metric-card strong { display:block; color:#fff; font-size:1.25rem; margin-bottom:0.1rem; }
.hero-stats span, .metric-card span { color:var(--text-muted); font-size:0.92rem; }
.hero-visual {
  position:relative; min-height: 560px; display:grid; place-items:center;
}
.floating-badge {
  position:absolute; min-width: 170px; padding:0.85rem 1rem; border-radius: 18px; color:#fff; font-weight:600;
  background: rgba(9, 22, 38, 0.72); border:1px solid rgba(255,255,255,0.12); box-shadow: var(--shadow);
}
.floating-badge small { display:block; color:var(--text-muted); margin-top:0.2rem; }
.badge-1 { top: 26px; left: 0; }
.badge-2 { right: -6px; top: 136px; }
.badge-3 { bottom: 42px; left: 44px; }
.hero-visual-card {
  width: min(100%, 520px); padding:1.35rem; border-radius: 28px; background: linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.06));
  border:1px solid rgba(255,255,255,0.14); box-shadow: var(--shadow);
}
.panel-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; color:#fff; }
.panel-dots { display:flex; gap:0.4rem; }
.panel-dots i { width:0.7rem; height:0.7rem; border-radius:50%; display:block; background: rgba(255,255,255,0.22); }
.mock-interface {
  display:grid; grid-template-columns: 1.1fr 0.9fr; gap:1rem;
}
.blueprint-card, .data-card {
  border-radius: 22px; background: rgba(7,17,31,0.55); border:1px solid rgba(255,255,255,0.1); padding:1rem;
}
.mini-diagram {
  aspect-ratio: 1 / 1; border-radius: 18px; border:1px dashed rgba(125,211,252,0.25);
  background:
    linear-gradient(transparent 95%, rgba(125,211,252,0.08) 95%),
    linear-gradient(90deg, transparent 95%, rgba(125,211,252,0.08) 95%),
    radial-gradient(circle at 70% 25%, rgba(79,209,197,0.3), transparent 28%),
    rgba(4, 12, 22, 0.78);
  background-size: 24px 24px, 24px 24px, auto, auto;
  position:relative; overflow:hidden;
}
.mini-diagram::before, .mini-diagram::after {
  content:""; position:absolute; border: 2px solid rgba(255,255,255,0.75);
}
.mini-diagram::before { width: 58%; height: 42%; left: 20%; top: 16%; border-radius: 16px; box-shadow: 0 0 0 10px rgba(79,209,197,0.12); }
.mini-diagram::after { width: 44%; height: 24%; left: 28%; bottom: 14%; border-radius: 100px 100px 35px 35px; }
.data-stack { display:grid; gap:0.9rem; }
.data-row {
  background: rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius: 18px; padding:0.9rem;
}
.data-row strong { display:block; color:#fff; margin-bottom:0.22rem; }
.data-row small { color:var(--text-muted); }
.trust-bar { display:flex; flex-wrap:wrap; gap:0.85rem; margin-top:1.4rem; }
.trust-pill {
  display:inline-flex; align-items:center; gap:0.55rem; color:#d8e6fb; border:1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.05); padding:0.75rem 1rem; border-radius: 999px; font-weight:600;
}
.trust-pill i { width: 1.2rem; height:1.2rem; border-radius:50%; background: linear-gradient(135deg, var(--accent), var(--accent-2)); display:inline-block; }
.section-alt { background: transparent; }
.surface-section { margin-top: -1rem; }
.surface {
  background: #fff; border-radius: 32px; box-shadow: var(--shadow-soft); padding: 2rem;
}
.section-heading { margin-bottom: 1.8rem; }
.section-heading.compact { margin-bottom: 1.2rem; }
.section-heading h2, .content-block h2, .page-section h2 { font-size: clamp(2rem, 4vw, 3rem); line-height:1.1; margin:0 0 0.75rem; color: #0b1a2d; letter-spacing:-0.03em; }
.section-heading p, .content-block p { color:#4f637c; max-width: 70ch; }
.section-eyebrow { color: #416586; }
.card-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1.15rem; }
.service-card, .content-card, .example-card, .benefit-card, .check-card, .deliverable-card, .contact-panel, .info-card, .process-card, .mini-panel {
  border-radius: 24px; background: #fff; border:1px solid var(--line-dark); box-shadow: var(--shadow-soft);
}
.service-card {
  padding: 1.4rem; position:relative; overflow:hidden; min-height: 100%;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.service-card::before {
  content:""; position:absolute; inset: auto auto -70px -70px; width: 150px; height:150px; border-radius:50%; background: linear-gradient(135deg, rgba(79,209,197,0.18), rgba(125,211,252,0.06));
}
.service-icon {
  width: 54px; height:54px; border-radius: 18px; display:grid; place-items:center; margin-bottom: 1rem;
  background: linear-gradient(135deg, #0d2240, #12335d); color:#fff; box-shadow: 0 10px 26px rgba(11,26,45,0.15);
}
.service-icon svg { width: 26px; height:26px; }
.service-card h3 { margin:0 0 0.55rem; font-size: 1.25rem; color:#0a1b2e; }
.service-card p { margin:0 0 0.9rem; color:#4f637c; }
.bullet-list { padding:0; margin:0; list-style:none; display:grid; gap:0.5rem; }
.bullet-list li { position:relative; padding-left:1.5rem; color:#314862; }
.bullet-list li::before { content:""; position:absolute; left:0; top:0.52rem; width:0.68rem; height:0.68rem; border-radius:50%; background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 0 0 4px rgba(79,209,197,0.15); }
.learn-more { display:inline-flex; align-items:center; gap:0.45rem; margin-top:1rem; font-weight:700; color:#0b2f56; }
.learn-more:hover { color:#1b6ea5; }
.split-grid { display:grid; grid-template-columns: 1fr 1fr; gap:1.4rem; }
.feature-panel {
  border-radius: 28px; overflow:hidden; background: linear-gradient(140deg, #0c1730, #102447 68%, #13376c); color:#fff; box-shadow: var(--shadow);
}
.feature-panel-inner { padding: 1.5rem; display:grid; gap:1.25rem; }
.feature-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:0.9rem; }
.mini-panel { padding: 1rem; background: rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.08); box-shadow:none; }
.mini-panel strong { display:block; }
.mini-panel span { color:#c9d8ef; font-size:0.92rem; }
.outcome-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:1rem; }
.benefit-card { padding: 1.25rem; background: #f8fbff; }
.benefit-card h3 { margin:0 0 0.45rem; color:#0a1b2e; }
.benefit-card p { margin:0; color:#50647e; }
.process-strip { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:1rem; }
.process-card {
  padding:1.25rem; position:relative; background:#fff;
}
.process-card .step-no {
  width: 46px; height:46px; border-radius: 14px; display:grid; place-items:center; font-weight:800; margin-bottom:1rem;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#06131f;
}
.process-card p { color:#536780; margin:0; }
.example-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; }
.example-card { overflow:hidden; }
.example-visual {
  aspect-ratio: 16 / 10; background: linear-gradient(140deg, #0d1b2f, #0f2d53 58%, #173b62); position:relative;
}
.example-visual.blueprint {
  background:
    linear-gradient(transparent 95%, rgba(255,255,255,0.07) 95%),
    linear-gradient(90deg, transparent 95%, rgba(255,255,255,0.07) 95%),
    linear-gradient(145deg, #0d1a31, #14305a 70%, #1d4675);
  background-size: 22px 22px, 22px 22px, auto;
}
.example-visual.table::before, .example-visual.jig::before, .example-visual.blueprint::before {
  content:""; position:absolute;
}
.example-visual.blueprint::before { inset: 18% 18%; border:2px solid rgba(255,255,255,0.72); border-radius: 18px; box-shadow: 0 0 0 10px rgba(79,209,197,0.12); }
.example-visual.table::before {
  inset: 16% 10%; border-radius: 18px; background:
    linear-gradient(180deg, rgba(255,255,255,0.9) 0 18%, transparent 18%),
    linear-gradient(90deg, rgba(7,17,31,0.12) 33%, transparent 33% 66%, rgba(7,17,31,0.12) 66%),
    linear-gradient(180deg, transparent 42%, rgba(7,17,31,0.08) 42% 45%, transparent 45% 68%, rgba(7,17,31,0.08) 68% 71%, transparent 71%);
  background-color: #f8fbff;
}
.example-visual.jig::before {
  width: 62%; height: 52%; left: 19%; top: 24%; border-radius: 22px; background: linear-gradient(145deg, #f4f8ff, #d9e5f5); box-shadow: 0 22px 32px rgba(0,0,0,0.18);
}
.example-visual.jig::after {
  content:""; position:absolute; width: 24%; height: 24%; right: 18%; top: 18%; border-radius: 50%; background: rgba(79,209,197,0.22); box-shadow: 0 0 0 20px rgba(79,209,197,0.06);
}
.example-copy { padding: 1.2rem; }
.example-tag, .kicker { display:inline-flex; align-items:center; gap:0.4rem; margin:0 0 0.65rem; padding:0.42rem 0.72rem; border-radius:999px; font-size:0.77rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; background:#edf7ff; color:#21507f; }
.example-copy h3 { margin:0 0 0.55rem; color:#0a1b2e; }
.example-copy p { margin:0 0 0.55rem; color:#536780; }
.contact-grid { display:grid; grid-template-columns: 1fr 420px; gap:1.2rem; align-items:start; }
.info-card, .contact-panel { padding:1.4rem; }
.info-card h3, .contact-panel h3 { margin-top:0; }
.info-card ul { padding-left: 1.2rem; color:#536780; }
.footer-cta {
  margin-top:1.3rem; background: linear-gradient(130deg, #0e203d, #112c53 66%, #16406e); color:#fff;
  border-radius: 30px; padding: 2rem; display:grid; grid-template-columns: 1.1fr auto; gap:1rem; align-items:center; box-shadow: var(--shadow);
}
.footer-cta p { color:#cfddf4; margin:0.5rem 0 0; }
.site-footer {
  background: #07111f; color:#c7d4e7; padding: 3rem 0 2rem; margin-top: 5rem;
}
.footer-grid { display:grid; grid-template-columns: 1.2fr 0.8fr 0.9fr; gap:1.2rem; }
.footer-grid strong { color:#fff; }
.footer-col { display:grid; gap:0.45rem; }
.footer-col a { color:#c7d4e7; }
.footer-bottom { margin-top:1.4rem; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,0.08); color:#92a3bb; font-size:0.94rem; }
.breadcrumbs { font-size:0.94rem; color:#67809f; padding-top: 1.4rem; }
.breadcrumbs a { color:#21507f; }
.page-hero { color:#fff; padding: 3rem 0 2rem; }
.page-hero-grid { display:grid; grid-template-columns: 1.05fr 0.95fr; gap:1.4rem; align-items:center; }
.page-visual {
  background: linear-gradient(160deg, rgba(255,255,255,0.14), rgba(255,255,255,0.06)); border:1px solid rgba(255,255,255,0.14);
  border-radius: 30px; padding:1.2rem; box-shadow: var(--shadow);
}
.page-visual .mock-interface { grid-template-columns: 1fr 1fr; }
.page-body { margin-top: -0.5rem; }
.page-body .surface { padding: 2rem; }
.kpi-strip { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:1rem; }
.kpi-card {
  padding:1.1rem; border-radius: 20px; background: #f7fbff; border:1px solid #dce7f4;
}
.kpi-card strong { display:block; font-size:1.05rem; margin-bottom:0.2rem; color:#0a1b2e; }
.kpi-card span { color:#617791; }
.check-grid, .deliverable-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; }
.check-card, .deliverable-card {
  padding:1.3rem; background: linear-gradient(180deg, #ffffff, #f9fbff);
}
.notice {
  padding: 1rem 1.15rem; border-radius: 18px; background:#f6fbff; border:1px solid #dceaf5; color:#4f637c;
}
.pricing-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; }
.pricing-card {
  padding:1.3rem; border-radius: 24px; background:#fff; border:1px solid var(--line-dark); box-shadow: var(--shadow-soft);
}
.pricing-card.highlight { background: linear-gradient(160deg, #102548, #17355e); color:#fff; border-color: rgba(255,255,255,0.08); }
.pricing-card h3 { margin:0 0 0.5rem; }
.pricing-card .price { font-size: 2rem; font-weight: 800; letter-spacing:-0.04em; margin:0.4rem 0 0.5rem; }
.pricing-card ul { padding-left:1rem; }
.form-shell { display:grid; gap:1rem; }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
.form-field { display:grid; gap:0.4rem; }
.form-field label { font-weight:700; color:#0a1b2e; }
.form-field input, .form-field select, .form-field textarea {
  width:100%; border-radius: 14px; border:1px solid #d3dfec; padding:0.95rem 1rem; font: inherit; background:#fff;
}
.form-field textarea { min-height: 170px; resize: vertical; }
.form-note { color:#5e748e; font-size:0.94rem; }
.privacy-block { display:grid; gap:1.2rem; }
.privacy-block section { padding:1.2rem; border:1px solid #dce7f4; border-radius: 20px; background:#fbfdff; }
.privacy-block h2 { margin:0 0 0.45rem; font-size:1.25rem; }
@media (max-width: 1000px) {
  .hero-grid, .page-hero-grid, .split-grid, .contact-grid, .footer-grid, .mock-interface, .process-strip, .example-grid, .card-grid, .kpi-strip, .pricing-grid { grid-template-columns: 1fr 1fr; }
  .hero-visual { min-height: auto; }
  .process-strip { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body { background: linear-gradient(180deg, #07111f 0%, #0b1530 28%, #eef4fb 28%, #f7faff 100%); }
  .menu-toggle { display:block; }
  .primary-nav {
    position:absolute; left:1rem; right:1rem; top: calc(100% + 0.5rem); display:none; flex-direction:column; align-items:flex-start; gap:0.2rem;
    background: rgba(7,17,31,0.96); border:1px solid rgba(255,255,255,0.08); padding:0.75rem; border-radius: 18px;
  }
  .primary-nav a { width:100%; padding:0.7rem 0.8rem; border-radius: 12px; }
  .primary-nav .nav-cta { width:100%; text-align:center; }
  .primary-nav.is-open { display:flex; }
  .hero-grid, .page-hero-grid, .card-grid, .split-grid, .process-strip, .example-grid, .check-grid, .deliverable-grid, .kpi-strip, .pricing-grid, .footer-grid, .hero-stats, .mock-interface, .form-grid { grid-template-columns: 1fr; }
  .section-pad { padding: 4rem 0; }
  .hero h1, .page-hero h1 { font-size: clamp(2.2rem, 12vw, 3.4rem); }
  .floating-badge { position: static; margin:0.8rem 0 0; }
  .hero-visual { display:block; }
  .hero-visual-card { width:100%; }
  .footer-cta { grid-template-columns: 1fr; }
}

/* ===== D&L Design Engineering V4 brand refinements ===== */
:root{--brand-navy:#061f41;--brand-navy-2:#0a2d58;--brand-blue:#0ea5ff;--brand-cyan:#2dd4ff;--brand-pale:#eef7ff;}
body{background:linear-gradient(180deg,#061f41 0%,#09264c 36%,#edf5fd 36%,#f8fbff 100%)}
.site-header{background:rgba(5,26,55,.92)}
.brand-logo{display:block;width:250px;max-width:42vw;height:60px;object-fit:cover;object-position:center;background:#061f41;border-radius:8px}
.brand-logo-light{display:block;max-width:310px;height:auto}
.brand-text,.brand-mark{display:none}
.primary-nav .nav-cta{background:linear-gradient(135deg,var(--brand-cyan),var(--brand-blue));color:#03162f}
.hero{background:radial-gradient(circle at 82% 18%,rgba(32,199,255,.14),transparent 28%),radial-gradient(circle at 20% 80%,rgba(14,120,255,.14),transparent 26%)}
.hero-grid{grid-template-columns:1fr 1fr}
.hero h1{max-width:13ch}
.hero-copy{font-size:1.18rem}
.hero-visual-card{padding:0;overflow:hidden;background:#061f41}
.hero-visual-card img{width:100%;height:auto;display:block}
.section-heading .eyebrow,.light-eyebrow{color:#1b5d8e!important;border-color:#cfe6f6!important;background:#f4faff!important}
.sector-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}
.sector-card{background:#fff;border:1px solid #d8e6f3;border-radius:20px;padding:1.05rem;text-align:center;box-shadow:0 10px 26px rgba(5,35,68,.07)}
.sector-card strong{display:block;color:#0b2747;font-size:.97rem}.sector-card span{display:block;color:#6a7e93;font-size:.85rem;margin-top:.25rem}
.image-service-card{overflow:hidden}.image-service-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#071b35;border-radius:18px;margin-bottom:1rem}
.price-list{display:grid;gap:.7rem}.price-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.85rem 0;border-bottom:1px solid #dce7f2;align-items:start}.price-row:last-child{border-bottom:none}.price-row strong{color:#102c4c}.price-row span{color:#0a78c7;font-weight:800;white-space:nowrap}
.price-category{background:#fff;border:1px solid #d7e5f2;border-radius:24px;padding:1.4rem;box-shadow:var(--shadow-soft)}
.price-category h3{margin:.15rem 0 .5rem;color:#0b2747;font-size:1.35rem}.price-category p{color:#61758b;margin-top:0}.pricing-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.note-bar{background:linear-gradient(135deg,#071f41,#0c376b);color:#fff;border-radius:24px;padding:1.3rem 1.4rem;box-shadow:var(--shadow)}.note-bar p{margin:.35rem 0 0;color:#d6e9fb}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.about-stat{padding:1.25rem;border-radius:22px;background:#fff;border:1px solid #dbe8f4;box-shadow:var(--shadow-soft)}.about-stat strong{font-size:1.6rem;color:#0b2747;display:block}.about-stat span{color:#63778d}
.faq-list{display:grid;gap:.8rem}.faq-item{background:#fff;border:1px solid #d7e4f1;border-radius:20px;padding:1.1rem 1.2rem}.faq-item h3{margin:0 0 .35rem;color:#0b2747}.faq-item p{margin:0;color:#60758b}
.service-image-wide{width:100%;border-radius:24px;background:#071b35;border:1px solid rgba(255,255,255,.08)}
.badge-strip{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}.badge-strip span{padding:.55rem .8rem;border-radius:999px;background:#eef7ff;border:1px solid #d3e8f7;color:#285b83;font-weight:700;font-size:.88rem}
.content-card{padding:1.5rem}
@media(max-width:980px){.sector-grid{grid-template-columns:repeat(3,1fr)}.pricing-table-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.brand-logo{width:210px;max-width:65vw;height:50px}.sector-grid{grid-template-columns:repeat(2,1fr)}.about-stats{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr}.hero h1{max-width:none}}

/* Launch-ready additions */
.contact-mini{margin-top:1.1rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;color:#b9cbe2;font-size:.94rem}.contact-mini a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(79,209,197,.55);text-underline-offset:4px}.pricing-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0 0 1.5rem}.pricing-basics>div{padding:1rem 1.1rem;border-radius:18px;background:#f6faff;border:1px solid #dce8f4}.pricing-basics strong,.pricing-basics span{display:block}.pricing-basics strong{color:#0a1b2e}.pricing-basics span{margin-top:.25rem;color:#1c6aa2;font-weight:800;font-size:1.08rem}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.consent-row{display:flex;gap:.7rem;align-items:flex-start;color:#536780;font-size:.92rem}.consent-row input{margin-top:.3rem;accent-color:#16a7df}.consent-row a{color:#0b5c98;text-decoration:underline}.submit-button{border:0;cursor:pointer;font:inherit}.direct-email a{font-size:1.08rem;font-weight:800;color:#0b5c98;word-break:break-word}.privacy-block a{color:#0b5c98;text-decoration:underline}.brand-logo{object-fit:cover;object-position:center}.site-footer .brand-logo-light{border-radius:10px}.footer-col a[data-email-link]{color:#fff;font-weight:700}.footer-col a[data-email-link]:hover{text-decoration:underline}.note-bar p{margin-bottom:0}.form-note{padding:1rem;border-radius:14px;background:#f4f9ff;border:1px solid #dce8f4}.form-note strong{color:#0a1b2e}.faq-item p{margin-bottom:0}@media(max-width:760px){.pricing-basics{grid-template-columns:1fr}.contact-mini{align-items:flex-start;flex-direction:column}}


/* ===== D&L V6: header sizing, credibility and prototype service ===== */
.brand-lockup{display:flex;align-items:center;gap:.72rem;min-width:0}
.brand-logo-mark{display:block;width:74px;height:50px;object-fit:contain;flex:0 0 auto}
.brand-lockup-text{display:flex;flex-direction:column;line-height:1;color:#fff;white-space:nowrap}
.brand-lockup-text strong{font-size:1.25rem;letter-spacing:.025em;font-weight:800}
.brand-lockup-text span{margin-top:.3rem;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#b7cae1;font-weight:700}
.brand-logo{display:none!important}
.site-footer .brand-logo-light{width:250px;max-width:100%;height:auto;object-fit:contain;object-position:left center;border-radius:8px}
.credibility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.credibility-card{padding:1.25rem;border-radius:22px;background:linear-gradient(180deg,#fff,#f6faff);border:1px solid #d8e6f3;box-shadow:0 10px 26px rgba(5,35,68,.07)}
.credibility-card strong{display:block;color:#08284c;font-size:1.35rem;line-height:1.15;margin-bottom:.45rem}
.credibility-card span{color:#61758b;font-size:.94rem}
.experience-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;align-items:start}
.experience-copy{padding:1.3rem;border:1px solid #d9e6f2;border-radius:24px;background:#fff;box-shadow:var(--shadow-soft)}
.experience-copy h3{color:#0b2747;margin:0 0 .45rem}.experience-copy h3:not(:first-child){margin-top:1.4rem}.experience-copy p{color:#5d7289}
.qualification-panel{display:grid;gap:.8rem}
.qualification-item{padding:1.1rem 1.15rem;border-radius:20px;background:linear-gradient(135deg,#071f41,#0b3769);color:#fff;box-shadow:var(--shadow-soft)}
.qualification-item span{display:block;color:#9fc5e8;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800}.qualification-item strong{display:block;font-size:1.35rem;margin:.18rem 0}.qualification-item small{color:#d7e7f5;font-size:.9rem}
@media(max-width:980px){.credibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-layout{grid-template-columns:1fr}.brand-lockup-text span{display:none}}
@media(max-width:760px){.brand-logo-mark{width:58px;height:40px}.brand-lockup-text strong{font-size:1.05rem}.nav-wrap{min-height:68px}.credibility-grid{grid-template-columns:1fr}.site-footer .brand-logo-light{width:220px}}


/* V7 header branding: larger full logo with high contrast */
.site-header{
  background:#021e43;
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 6px 22px rgba(0,0,0,.12);
}
.nav-wrap{
  min-height:116px;
}
.header-brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  line-height:0;
}
.header-brand-logo{
  display:block;
  width:265px;
  height:auto;
  max-width:34vw;
  object-fit:contain;
}
.brand-lockup-text,.brand-logo-mark{display:none!important}
.primary-nav a{color:#cbd8ea}
.primary-nav a:hover{color:#fff}
@media(max-width:900px){
  .header-brand-logo{width:225px;max-width:42vw}
  .nav-wrap{min-height:102px}
  .primary-nav{gap:.65rem}
}
@media(max-width:760px){
  .nav-wrap{min-height:82px}
  .header-brand-logo{width:190px;max-width:62vw}
  .menu-toggle{flex:0 0 auto}
}
@media(max-width:420px){
  .header-brand-logo{width:168px;max-width:60vw}
}


/* ===== D&L V8: photographic engineering visuals, responsive polish and accessibility ===== */
html{overflow-x:hidden}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2dd4ff;outline-offset:3px}
.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:2.5rem}
.hero-visual{min-width:0;min-height:0}
.hero-visual-card{width:100%;max-width:700px;padding:0;overflow:hidden;border-radius:30px;background:#041a36;box-shadow:0 26px 70px rgba(0,0,0,.32)}
.engineering-media{margin:0;position:relative;overflow:hidden;border-radius:inherit;background:#041a36}
.engineering-media img{display:block;width:100%;height:auto}
.engineering-media figcaption{position:absolute;left:16px;bottom:14px;max-width:calc(100% - 32px);padding:.55rem .78rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(3,20,42,.72);backdrop-filter:blur(9px);color:#edf8ff;font-size:.78rem;font-weight:700;letter-spacing:.02em;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.hero-engineering-media img{aspect-ratio:16/9;object-fit:cover}
.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.image-service-card{padding:0 0 1.25rem;display:flex;flex-direction:column}
.image-service-card>.service-card-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:23px 23px 0 0;margin:0 0 1.15rem;background:#061f41}
.image-service-card>h3,.image-service-card>p,.image-service-card>ul,.image-service-card>.learn-more{margin-left:1.25rem;margin-right:1.25rem}
.image-service-card>.learn-more{margin-top:auto;padding-top:.9rem}
.visual-story{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:2rem;align-items:center;background:linear-gradient(135deg,#fff,#f2f8ff);border:1px solid #d7e6f3;border-radius:30px;padding:1.1rem;box-shadow:var(--shadow-soft)}
.visual-story-reverse{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.visual-story-reverse .visual-story-media{order:2}
.visual-story-media{overflow:hidden;border-radius:23px;background:#061f41;box-shadow:0 16px 38px rgba(6,31,65,.14)}
.story-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.visual-story-copy{padding:1.2rem 1.2rem 1.2rem .6rem}
.visual-story-copy h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;color:#0b2747;margin:.1rem 0 .8rem;letter-spacing:-.03em}
.visual-story-copy p{color:#546b83;max-width:58ch}
.media-disclaimer{font-size:.82rem!important;color:#7a8da1!important;margin-top:1rem}
.example-visual.example-photo{aspect-ratio:16/10;overflow:hidden;background:#061f41}
.example-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.example-card:hover .example-image{transform:scale(1.025)}
.page-photo{padding:0!important;overflow:hidden;border-radius:30px;background:#041a36}
.service-hero-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.page-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem}
.service-card,.example-card,.benefit-card,.check-card,.deliverable-card,.contact-panel,.info-card,.process-card,.price-category,.pricing-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.service-card:hover,.example-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(5,35,68,.13);border-color:#c5dced}
.section-pad{content-visibility:auto;contain-intrinsic-size:1px 700px}
.hero.section-pad,.page-hero.section-pad{content-visibility:visible;contain-intrinsic-size:auto}
@media(max-width:1120px){
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-grid,.page-hero-grid{gap:1.5rem}
  .engineering-media figcaption{font-size:.72rem}
}
@media(max-width:900px){
  .hero-grid,.page-hero-grid,.visual-story,.visual-story-reverse{grid-template-columns:1fr}
  .visual-story-reverse .visual-story-media{order:0}
  .visual-story-copy{padding:1rem .6rem .6rem}
  .hero-visual-card{max-width:none}
  .page-photo{max-width:720px}
}
@media(max-width:760px){
  .section-pad{padding:3.4rem 0}
  .surface{padding:1.25rem;border-radius:24px}
  .card-grid{grid-template-columns:1fr}
  .hero-grid{gap:1.5rem;padding-top:1.5rem}
  .hero-copy{font-size:1.05rem}
  .hero-actions .button{width:100%}
  .badge-strip{gap:.45rem}
  .badge-strip span{font-size:.78rem;padding:.48rem .68rem}
  .engineering-media figcaption{left:10px;bottom:10px;max-width:calc(100% - 20px);white-space:normal;border-radius:12px}
  .visual-story{padding:.75rem;border-radius:24px}
  .story-image,.service-hero-image{aspect-ratio:4/3}
  .image-service-card>.service-card-image{aspect-ratio:16/10}
}
@media(max-width:430px){
  .container{width:min(100% - 1.2rem,var(--max))}
  .hero h1,.page-hero h1{font-size:clamp(2.05rem,11vw,2.85rem)}
  .site-header .nav-wrap{min-height:76px}
  .header-brand-logo{width:158px;max-width:58vw}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* ===== D&L V9.3: Services landing page and 404 polish ===== */
body.error-page{background:#07111f;color:var(--text);min-height:100vh}
.error-page main{background:radial-gradient(circle at 82% 16%,rgba(79,209,197,.18),transparent 30%),radial-gradient(circle at 18% 78%,rgba(125,211,252,.13),transparent 34%),linear-gradient(180deg,#06204a 0%,#07111f 100%)}
.error-hero{min-height:62vh;display:flex;align-items:center}
.error-hero .container{max-width:920px}
.error-hero h1{max-width:12ch}
.error-hero .hero-copy{color:#d4def0;max-width:55ch}
.error-page .error-hero .eyebrow{color:#d7f6f4!important;border-color:rgba(255,255,255,.12)!important;background:rgba(255,255,255,.05)!important}
.error-page .site-footer{margin-top:0}
.primary-nav a[aria-current="page"]{color:#fff}


/* ===== D&L V9.4: Engineering Insights / long-form technical content ===== */
.article-hero{color:var(--text);background:radial-gradient(circle at 86% 12%,rgba(45,212,255,.16),transparent 28%),linear-gradient(180deg,#061f41,#08264d)}
.article-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:2.2rem;align-items:center}
.article-hero h1{margin:0;font-size:clamp(2.45rem,5.2vw,4.35rem);line-height:1.03;color:#fff;letter-spacing:-.035em;max-width:15ch}
.article-meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.35rem;color:#b9cbe0;font-size:.9rem}.article-meta span{display:inline-flex;align-items:center;gap:.4rem}.article-meta span:not(:last-child)::after{content:"•";margin-left:1rem;color:#4fd1c5}
.article-page-body{background:#f5f9fd;padding:4.2rem 0 0}
.article-layout{display:grid;grid-template-columns:270px minmax(0,800px);gap:3rem;align-items:start;justify-content:center}
.article-sidebar{position:sticky;top:138px;display:grid;gap:1rem}.article-toc,.article-service-box{background:#fff;border:1px solid #dbe7f2;border-radius:20px;padding:1.05rem 1.1rem;box-shadow:0 10px 26px rgba(5,35,68,.06)}
.article-toc{max-height:calc(100vh - 165px);overflow:auto}.article-toc strong{display:block;color:#08284c;margin-bottom:.6rem}.article-toc ol{margin:0;padding-left:1.25rem;display:grid;gap:.42rem;color:#5a7086;font-size:.86rem;line-height:1.35}.article-toc a:hover{color:#0b5c98;text-decoration:underline}
.article-service-box span{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:800;color:#66819a}.article-service-box strong{display:block;margin:.3rem 0 .55rem;color:#0b2747}.article-service-box a{color:#0b5c98;font-weight:800}
.article-content{background:#fff;border:1px solid #dbe7f2;border-radius:28px;padding:clamp(1.3rem,3.5vw,3rem);box-shadow:0 18px 45px rgba(5,35,68,.08);font-size:1.035rem;color:#283d53;line-height:1.78}
.article-content h2{scroll-margin-top:140px;margin:3.1rem 0 .9rem;color:#08284c;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.15;letter-spacing:-.02em}.article-content h2:first-of-type{margin-top:2.25rem}.article-content h3{margin:2rem 0 .55rem;color:#123b66;font-size:1.28rem;line-height:1.3}.article-content p{margin:0 0 1.15rem}.article-content a{color:#075f9f;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:650}.article-content a.button{text-decoration:none;color:#06131f}.article-content ul,.article-content ol{padding-left:1.35rem;margin:0 0 1.35rem}.article-content li{margin:.38rem 0;padding-left:.18rem}.article-lede{font-size:1.22rem;line-height:1.65;color:#173d63;font-weight:540;border-left:4px solid #2dd4ff;padding-left:1.15rem;margin-bottom:1.45rem!important}
.article-callout{margin:1.55rem 0 1.8rem;padding:1.15rem 1.3rem;border-radius:18px;background:linear-gradient(135deg,#edf8ff,#f5fbff);border:1px solid #cfe5f5;color:#254963}.article-callout>strong{color:#0b365f;font-size:1.05rem}.article-callout p:last-of-type{margin-bottom:.9rem}.article-callout-strong{padding:1.4rem;background:linear-gradient(135deg,#071f41,#0b3769);border-color:#174c7d;color:#dceafa}.article-callout-strong>strong{display:block;color:#fff;font-size:1.35rem}.article-callout-strong p{color:#dceafa}.article-callout-strong .button{margin-top:.25rem}
.table-wrap{overflow-x:auto;margin:1.4rem 0 1.8rem;border:1px solid #d9e5ef;border-radius:18px;background:#fff}.article-table{width:100%;border-collapse:collapse;min-width:650px;font-size:.93rem}.article-table th{background:#08284c;color:#fff;text-align:left;padding:.85rem .95rem;vertical-align:top}.article-table td{padding:.82rem .95rem;border-top:1px solid #e1eaf2;vertical-align:top}.article-table tr:nth-child(even) td{background:#f8fbfe}.article-table td:first-child{font-weight:750;color:#183e64}
.article-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0 2rem}.article-content .check-card{font-size:.96rem}.article-content .check-card h3{margin:0 0 .35rem;font-size:1.08rem}.compact-list{margin-bottom:0!important}.reference-list{font-size:.94rem;color:#4d647a}
.related-insights{margin-top:4rem;background:#eef5fb}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.insight-card{display:flex;flex-direction:column;padding:1.35rem;border:1px solid #d7e4ef;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(5,35,68,.06)}.insight-card h3{margin:.2rem 0 .55rem;color:#0b2747;font-size:1.2rem;line-height:1.25}.insight-card h3 a:hover{color:#0b67a8}.insight-card p{color:#5d7186;margin:.2rem 0 .9rem}.insight-card .learn-more{margin-top:auto}.insight-label{font-size:.72rem!important;color:#0873ad!important;text-transform:uppercase;letter-spacing:.11em;font-weight:800!important}.insight-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.insight-card-featured{padding:0;overflow:hidden}.insight-card-image{width:100%;aspect-ratio:16/9;object-fit:cover;background:#061f41}.insight-card-copy{padding:1.3rem 1.35rem 1.45rem;display:flex;flex-direction:column;height:100%}.insight-card-copy h2{margin:.15rem 0 .65rem;color:#0b2747;font-size:1.45rem;line-height:1.18}.insight-card-copy h2 a:hover{color:#0b67a8}.section-link-row{margin-top:1.2rem;display:flex;justify-content:flex-start}.article-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1.5rem 1.65rem;border:1px solid #d6e5f1;border-radius:24px;background:linear-gradient(135deg,#fff,#eff8ff);box-shadow:var(--shadow-soft)}.article-promo h2{color:#0b2747;margin:.15rem 0 .45rem;font-size:clamp(1.55rem,3vw,2.2rem)}.article-promo p{margin:0;color:#587087;max-width:70ch}.seo-insight-section .light-eyebrow{color:#21507f;border-color:#d5e4f3;background:#f4f9ff}
@media(max-width:1000px){.article-layout{grid-template-columns:220px minmax(0,1fr);gap:1.5rem}.article-hero-grid{grid-template-columns:1fr 1fr}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-toc ol{font-size:.82rem}}
@media(max-width:820px){.article-layout{grid-template-columns:1fr}.article-sidebar{position:static;grid-template-columns:1fr 1fr}.article-hero-grid{grid-template-columns:1fr}.article-hero h1{max-width:18ch}.article-meta span:not(:last-child)::after{display:none}.insight-index-grid{grid-template-columns:1fr}.article-promo{grid-template-columns:1fr}.article-promo .button{justify-self:start}}
@media(max-width:760px){.article-page-body{padding-top:2.2rem}.article-sidebar{grid-template-columns:1fr}.article-toc{display:none}.article-content{padding:1.25rem;border-radius:22px;font-size:1rem}.article-content h2{scroll-margin-top:100px}.article-check-grid,.insight-grid{grid-template-columns:1fr}.article-hero{padding-top:2.8rem}.article-meta{display:grid;gap:.25rem}.article-meta span:not(:last-child)::after{display:none}.article-table{min-width:610px}}
