/* Homepage design exploration. No functional changes. */
:root { --preview-blue: #35bafa; --navy-950: #060b10; --navy-900: #0b141c; --navy-800: #101f2a; --line-strong: rgba(185,219,236,.17); }
body { background: #060b10; }
.site-header { background: rgba(4,9,13,.96); border-color: rgba(145,210,239,.16); backdrop-filter: none; }
.logo img { height: 55px; width: auto; }
.site-nav { letter-spacing: .12em; color: #c7d3d9; }
.site-nav a:hover, .site-nav a[aria-current] { color: var(--preview-blue); }
.btn { border-radius: 4px; letter-spacing: .11em; }
.btn-metal { color: #03111a; background: #62cafa; box-shadow: none; }
.btn-metal:hover { background: #a0e1ff; box-shadow: none; }
.btn-ghost { background: rgba(3,12,18,.72); border-color: rgba(185,219,236,.55); }
.hero-lobby .hero-shade { background: linear-gradient(90deg,rgba(3,9,14,.97) 0%,rgba(3,9,14,.9) 35%,rgba(3,9,14,.35) 75%), linear-gradient(0deg,#060b10 0%,transparent 35%); }
.hero-content { max-width: 53rem; }
.hero h1 { font-family: var(--font-body); font-size: clamp(2.8rem,6.3vw,6rem); line-height: .99; letter-spacing: -.055em; text-transform: none; text-shadow: none; }
.hero .metal-text { color: #fff; background: none; }
.underlined svg { color: var(--preview-blue); }
.badge { padding: 0; border: 0; background: none; color: #96dfff; letter-spacing: .16em; }
.badge-dot { background: var(--preview-blue); }
.hero-sub { font-family: var(--font-body); font-weight: 600; font-size: .95rem; line-height: 1.55; letter-spacing: .06em; }
.hero-body { font-size: 1.04rem; line-height: 1.75; }
.ticker { background: #0a1b26; border-color: rgba(53,186,250,.22); }
.marquee span { color: #b4d9ea; letter-spacing: .18em; }
.client-strip { padding-top: 54px; padding-bottom: 54px; }
.client-strip .section-label { text-align: left; }
.client-list li { align-items: flex-start; text-align: left; }
.section { padding-top: 115px; padding-bottom: 115px; }
.section-alt { background: #0a141c; }
.section-label { color: #74cfff; letter-spacing: .18em; }
.home-page .section-label { font-size: 1rem; }
.section h2 { font-family: var(--font-body); text-transform: none; letter-spacing: -.035em; font-size: clamp(2rem,4vw,3.6rem); line-height: 1.08; }
.section-intro p:last-child, .lead { font-size: 1rem; line-height: 1.75; color: #bccbd2; }
.metal-panel { border-color: rgba(152,197,218,.18); border-radius: 8px; background: #0d1a23; box-shadow: none; }
.service { padding: 32px; }
.service:hover { border-color: #45c1fa; box-shadow: none; }
.service::before { background: #35bafa; }
.icon-tile { color: #7ed8ff; border-color: rgba(126,216,255,.25); background: #102936; box-shadow: none; border-radius: 6px; }
.service h3, .feature h3 { font-family: var(--font-body); letter-spacing: .02em; }
.service > p, .feature p { color: #bdcbd2; line-height: 1.7; }
.checklist .icon, .feature > .icon, .bullet-list .icon { color: #6acfff; }
a:focus-visible, .btn:focus-visible, .menu-toggle:focus-visible { outline: 3px solid #86ddff; outline-offset: 4px; }
@media (max-width: 639px) { .logo img { height: 46px; } .hero-lobby .hero-shade { background: linear-gradient(90deg,rgba(3,9,14,.92),rgba(3,9,14,.65)),linear-gradient(0deg,#060b10,transparent 40%); } .hero h1 { font-size: clamp(2.55rem,12vw,3.8rem); } .section { padding-top: 78px; padding-bottom: 78px; } }

/* Shared design layer. Existing layout, form, card and interaction styles remain intact. */
:root {
  --text-muted: #b4c3cc;
  --text-faint: #aabac4;
  --text-dim: #9eafb9;
  --steel-400: #b4c4cd;
}
body { color: #e5edf1; }
.site-header { box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.site-header .logo { flex-shrink: 0; }
.mobile-nav { background: #08131b; }
.mobile-nav > a:not(.btn) { font-family: var(--font-body); font-size: .85rem; }
.menu-toggle { border-color: #52707e; border-radius: 4px; background: #10212b; }
.btn { min-height: 48px; font-weight: 700; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.btn-metal { border-color: #62cafa; }
.btn-ghost { color: #f1f7fa; }
.btn-ghost:hover { background: #152f3c; border-color: #8cddff; }
.metal-text { background: linear-gradient(105deg,#fff 5%,#c2d1d9 55%,#f5fbff); -webkit-background-clip: text; background-clip: text; }
.hero-lobby .hero-content { text-shadow: 0 2px 16px #03090e; }
.hero-lobby .hero-body, .hero-lobby .hero-contact { color: #d2e0e6; }
.hero-lobby .hero-content .btn { text-shadow: none; }
.hero-contact a, .direct-contact a { color: #eaf8ff; }
.client-strip { background: #09131a; border-bottom: 1px solid rgba(152,197,218,.14); }
.client-name { color: #ecf5f8; }
.client-type { color: #aabec9; }
.section-alt { border-color: rgba(152,197,218,.12); }
.service, .feature, .cta-card, .vtm-panel, .aside-panel, .form-success, .status-panel { box-shadow: inset 0 1px rgba(255,255,255,.035); }
.service, .feature, .cta-card, .aside-panel { background: linear-gradient(145deg,#11212b,#0b171f); }
.service:hover, .cta-card:hover { border-color: #62cafa; }
.cta-title, .feature h3, .service h3 { color: #f3f8fa; }
.cta-link, .text-link { color: #8edcff; }
.page-hero { padding-top: 160px; padding-bottom: 64px; background: radial-gradient(ellipse at 80% 15%,rgba(24,98,129,.25),transparent 48%),linear-gradient(135deg,#0c202a,#060b10 70%); border-color: rgba(152,197,218,.16); }
.page-hero .grid-floor { opacity: .25; }
.page-hero h1 { max-width: 18ch; font-family: var(--font-body); font-size: clamp(2.5rem,5vw,4.8rem); letter-spacing: -.045em; text-transform: none; }
.page-hero .lead { margin-top: 20px; color: #c4d4dc; }
.page-body { background: #060b10; padding-top: 56px; }
.form-section { border: 1px solid rgba(152,197,218,.22); border-radius: 8px; background: #0d1a23; }
.form-section legend { color: #8edcff; font-weight: 700; letter-spacing: .16em; }
.field-group label { color: #d2dee4; letter-spacing: .1em; font-weight: 600; }
.field { min-height: 48px; border: 1px solid #526875; border-radius: 4px; background: #08131a; color: #f3f8fa; }
.field::placeholder { color: #a5b5bd; opacity: 1; }
.field:focus { outline: 2px solid #86ddff; outline-offset: 2px; border-color: #86ddff; background: #0d202a; box-shadow: none; }
.lead-form select.field:invalid { color: #a5b5bd; }
.optional, .fieldset-note, .field-hint { color: #b2c2ca; }
.form-footer .btn { min-width: 200px; }
.aside-panel a { color: #d9f3ff; overflow-wrap: anywhere; }
.steps li::before { border-color: #6aa4bd; color: #aee7ff; }
.site-footer, footer.contact { background: #09141c; border-color: rgba(152,197,218,.16); }
.footer-bar { border-color: rgba(152,197,218,.16); }
.footer-links h3 { color: #d9eef7; }
.footer-links a:hover, .footer-nav a:hover { color: #8edcff; }
.page-404 { background: radial-gradient(ellipse at 50% 0%,#123443,#060b10 62%); }
.page-404 .status-panel { width: 100%; padding: 48px 32px; }
.page-404 h1 { font-family: var(--font-body); text-transform: none; letter-spacing: -.035em; }
.card-shell { background: #060b10; }
.card-footer .logo img { height: 48px; }
:focus-visible { outline: 3px solid #86ddff; outline-offset: 4px; }
@media (max-width: 639px) {
  .site-header .container-wide { height: 72px; }
  .site-header .logo img { height: 42px; }
  .page-hero { padding-top: 120px; padding-bottom: 44px; }
  .page-body { padding-top: 32px; padding-bottom: 72px; }
  .form-section { padding: 22px 18px; }
  .hero-content { max-width: 100%; }
  .hero-contact { line-height: 1.6; }
  .service { padding: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Homepage logo sizing, with a smaller footprint on narrow screens. */
.home-page .site-header .container-wide { height: 120px; }
.home-page .site-header .logo img { height: 110px; width: auto; max-width: 32vw; }
.home-page footer.contact .logo img { height: 110px; width: auto; }
@media (max-width: 639px) {
  .home-page .site-header .container-wide { height: 82px; }
  .home-page .site-header .logo img { height: 72px; max-width: 60vw; }
}
