:root {
  --navy: #061a33;
  --navy-2: #0b2748;
  --blue: #1769ff;
  --cyan: #20c7ff;
  --teal: #18d5ba;
  --slate: #526173;
  --light: #f5f8fc;
  --soft-blue: #eef6ff;
  --white: #ffffff;
  --border: #dce7f4;
  --shadow: 0 18px 45px rgba(7, 27, 51, 0.12);
  --shadow-dark: 0 24px 70px rgba(4, 18, 40, 0.35);
  --radius: 22px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: Inter, Arial, sans-serif; color: var(--navy); background: var(--white); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(1160px, 92%); margin: 0 auto; }
.top-bar { background: var(--navy); color: var(--white); font-size: .92rem; padding: 10px 0; }
.top-bar .container { display:flex; justify-content:flex-end; gap:22px; flex-wrap:wrap; }
.top-bar a { opacity:.92; } .top-bar a:hover { color: var(--cyan); opacity:1; }
header { position: sticky; top:0; z-index:1000; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom:1px solid var(--border); }
.nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; font-size:1.15rem; }
.brand-logo { width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,var(--blue),var(--cyan)); display:grid; place-items:center; color:#fff; font-weight:800; box-shadow:0 12px 28px rgba(23,105,255,.25); }
nav ul { display:flex; list-style:none; align-items:center; gap:21px; font-weight:650; font-size:.94rem; color:#26384c; }
nav a:hover, nav a.active { color: var(--blue); }
.nav-cta { background: var(--blue); color:#fff; padding:11px 17px; border-radius:999px; box-shadow:0 12px 25px rgba(23,105,255,.25); }
.nav-cta:hover { color:#fff; transform:translateY(-1px); }
.mobile-toggle { display:none; border:0; background:var(--navy); color:#fff; padding:10px 12px; border-radius:12px; font-weight:800; }
.hero {
    position: relative;
    overflow: hidden;
    padding: 110px 0 90px;
    color: #fff;

    background-image:
        linear-gradient(
            90deg,
            rgba(3, 10, 25, 0.90) 0%,
            rgba(3, 10, 25, 0.70) 35%,
            rgba(3, 10, 25, 0.25) 55%,
            rgba(3, 10, 25, 0.10) 100%
        ),
        url("images/swift-hero-background.png");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.hero::before,
.hero::after {
    display: none;
}
.hero .container { position:relative; z-index:1; }
.hero-grid { display:grid; grid-template-columns:1.06fr .94fr; gap:54px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; padding:8px 13px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.10); color:#dff7ff; border-radius:999px; font-weight:750; font-size:.88rem; margin-bottom:20px; }
.pulse { width:9px; height:9px; background:var(--cyan); border-radius:999px; box-shadow:0 0 0 7px rgba(35,196,255,.16); }
h1 { font-size:clamp(2.45rem,6vw,4.8rem); line-height:1.02; letter-spacing:-.06em; margin-bottom:22px; }
.lead { font-size:clamp(1.05rem,2vw,1.25rem); color:#d7e5f5; max-width:1200px; margin-bottom:28px; }
.hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 20px; border-radius:999px; border:1px solid transparent; font-weight:800; transition:.2s ease; white-space:nowrap; }
.btn-primary { background:linear-gradient(135deg,var(--blue),var(--cyan)); color:#fff; box-shadow:0 14px 30px rgba(23,105,255,.33); }
.btn-secondary { background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.24); color:#fff; }
.btn:hover { transform:translateY(-2px); }
.hero-card { background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.20); border-radius:30px; padding:28px; box-shadow:var(--shadow-dark); backdrop-filter: blur(18px); }
.hero-card h3 { font-size:1.25rem; margin-bottom:16px; color:#fff; }
.signal-list { display:grid; gap:13px; }
.signal { display:flex; gap:12px; align-items:flex-start; color:#eaf5ff; }
.check { flex:0 0 25px; height:25px; border-radius:50%; background:rgba(32,199,255,.18); color:#9becff; display:grid; place-items:center; font-weight:900; }
.section { padding:78px 0; }
.section.alt { background:var(--light); }
.section-header { max-width:1150px; margin-bottom:34px; }
.kicker { color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; margin-bottom:9px; }
h2 { font-size:clamp(2rem,3.5vw,3.25rem); line-height:1.08; letter-spacing:-.045em; margin-bottom:16px; }
.section-header p, .muted { color:var(--slate); font-size:1.04rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:26px; box-shadow:0 10px 30px rgba(7,27,51,.06); }
.card.dark { background:linear-gradient(145deg,var(--navy),var(--navy-2)); color:#fff; border-color:rgba(255,255,255,.12); }
.card.dark p { color:#d6e5f6; }
.card h3 { font-size:1.28rem; margin-bottom:10px; }
.card p { color:var(--slate); }
.icon { width:46px; height:46px; border-radius:15px; background:var(--soft-blue); color:var(--blue); display:grid; place-items:center; font-size:1.35rem; margin-bottom:16px; }
.list { display:grid; gap:10px; margin-top:16px; color:#34465a; }
.list li { margin-left:20px; }
.split { display:grid; grid-template-columns:.95fr 1.05fr; gap:34px; align-items:center; }
.panel { border-radius:30px; padding:34px; background:linear-gradient(145deg,#061a33,#0b315d); color:#fff; position:relative; overflow:hidden; }
.panel::after { content:""; position:absolute; width:270px; height:270px; border-radius:50%; background:rgba(32,199,255,.18); right:-90px; top:-90px; }
.panel > * { position:relative; z-index:1; }
.cta { background:linear-gradient(135deg,#061a33,#103a6a); color:#fff; border-radius:34px; padding:42px; display:flex; align-items:center; justify-content:space-between; gap:24px; box-shadow:var(--shadow); }
.cta p { color:#d7e5f5; max-width:720px; }
.form-wrap { background:#fff; border:1px solid var(--border); border-radius:30px; box-shadow:var(--shadow); padding:30px; }
form { display:grid; gap:15px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
label { display:grid; gap:7px; font-weight:750; color:#26384c; }
input, textarea, select { width:100%; border:1px solid var(--border); border-radius:14px; padding:13px 14px; font:inherit; color:var(--navy); background:#fbfdff; }
textarea { min-height:130px; resize:vertical; }
button.btn { cursor:pointer; }
footer { background:var(--navy); color:#d7e5f5; padding:44px 0; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:28px; }
footer h4 { color:#fff; margin-bottom:12px; }
footer a { display:block; margin:7px 0; opacity:.9; }
footer a:hover { color:var(--cyan); }
.page-hero {
    position: relative;
    overflow: hidden;
    color: #fff;

    background-image:
        linear-gradient(
            90deg,
            rgba(3,10,25,.88) 0%,
            rgba(3,10,25,.72) 40%,
            rgba(3,10,25,.35) 65%,
            rgba(3,10,25,.15) 100%
        ),
        url("images/page-hero-background.png");

    background-size: cover, cover;
    background-position: center center, right center;
    background-repeat: no-repeat, no-repeat;
}
.page-hero::before,
.page-hero::after {
    display: none;
}
.page-hero .container {
    position: relative;
    z-index: 1;
}
.breadcrumb { color:#bfeeff; font-weight:750; margin-bottom:12px; }
@media (max-width: 900px) {
  .mobile-toggle { display:block; }
  nav ul { display:none; position:absolute; left:4%; right:4%; top:88px; background:#fff; border:1px solid var(--border); border-radius:20px; padding:18px; box-shadow:var(--shadow); flex-direction:column; align-items:flex-start; }
  nav ul.open { display:flex; }
  .hero-grid, .grid-3, .grid-2, .split, .footer-grid { grid-template-columns:1fr; }
  .hero { padding:76px 0 58px; }
  .cta { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 640px) {
  .top-bar .container { justify-content:center; gap:12px; }
  .form-row { grid-template-columns:1fr; }
  .section { padding:58px 0; }
  .hero-card, .card, .panel, .cta, .form-wrap { border-radius:22px; padding:24px; }
}

/* ==========================================================
   Contact Form Messages
========================================================== */

.form-message{
    display:none;
    margin-top:20px;
    text-align:center;
    font-weight:600;
    font-size:15px;
    padding:15px;
    border-radius:8px;
}

.form-message.success{
    display:block;
    color:#155724;
    background:#d4edda;
    border:1px solid #c3e6cb;
}

.form-message.error{
    display:block;
    color:#721c24;
    background:#f8d7da;
    border:1px solid #f5c6cb;
}

/* Actual Swift Assist Tech logo */
.logo-brand {
  gap: 0;
  flex: 0 0 auto;
}
.site-logo {
  height: 70px;
  width: auto;
  max-width: 330px;
  object-fit: contain;
}
@media (max-width: 900px) {
  .site-logo { height: 54px; max-width: 250px; }
  .nav { min-height: 72px; }
  nav ul { top: 84px; }
}
@media (max-width: 520px) {
  .site-logo { height: 46px; max-width: 210px; }
}
