
:root {
    --zns-navy: #0d1e36;
    --zns-navy-2: #132b49;
    --zns-gold: #c18a22;
    --zns-gold-light: #e2bd67;
    --gemini-green: #061743;
    --gemini-gold: #b28127;
    --rafay-teal: #0c9eb3;
    --rafay-navy: #04223a;
    --landmark-brown: #a45429;
    --landmark-charcoal: #2f2f2f;
    --surface: #f7f8fa;
    --muted: #6b7280;
    --border: #e8ebef;
    --white: #fff;
}

html { scroll-behavior: smooth; }
body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #202936;
    background: #fff;
    line-height: 1.7;
}
h1,h2,h3,h4,h5,h6 { font-weight: 700; line-height: 1.2; }
a { text-decoration: none; }
img { max-width: 100%; }

.navbar {
    background: rgba(246,246,246,.96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}
.navbar-brand img { width: 150px; height: auto; }
.navbar .nav-link {
    color: #273449;
    font-weight: 600;
    font-size: .93rem;
    padding: .8rem .65rem !important;
}
.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--zns-gold); }

.btn-zns {
    background: var(--zns-navy);
    color: #fff;
    border: 1px solid var(--zns-navy);
}
.btn-zns:hover { background: var(--zns-gold); border-color: var(--zns-gold); color:#fff; }
.btn-outline-zns {
    border: 1px solid var(--zns-navy);
    color: var(--zns-navy);
}
.btn-outline-zns:hover { background: var(--zns-navy); color:#fff; }

.hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 20%, rgba(193,138,34,.18), transparent 25%),
        linear-gradient(135deg, #f8fafc 0%, #eef2f6 100%);
}
.hero-home { min-height: 610px; display:flex; align-items:center; }
.hero::after {
    content:"";
    position:absolute;
    width:420px;height:420px;
    border:1px solid rgba(13,30,54,.08);
    border-radius:50%;
    right:-160px;bottom:-180px;
}
.hero-content { position:relative; z-index:2; }
.eyebrow {
    text-transform: uppercase;
    letter-spacing: .17em;
    font-size: .78rem;
    font-weight: 800;
    color: var(--zns-gold);
}
.hero h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); color: var(--zns-navy); }
.hero-lead { font-size:1.1rem; color:#586474; max-width:700px; }
.hero-logo {
    max-height: 310px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(13,30,54,.08));
}

.page-hero {
    padding: 110px 0 90px;
    background: linear-gradient(135deg, var(--zns-navy), #1d395a);
    color:#fff;
}
.page-hero h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
.page-hero .lead { color:rgba(255,255,255,.78); max-width:760px; }

.section { padding: 90px 0; }
.section-sm { padding: 60px 0; }
.section-title { color:var(--zns-navy); font-size:clamp(2rem,3.5vw,3rem); }
.section-kicker {
    color:var(--zns-gold);
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.75rem;
    font-weight:800;
}
.section-intro { color:var(--muted); max-width:760px; }

.business-card {
    height:100%;
    background:rgba(246,246,246,.96);
    border:1px solid var(--border);
    border-radius:20px;
    padding:30px;
    transition:all .25s ease;
    box-shadow:0 8px 30px rgba(13,30,54,.04);
}
.business-card:hover {
    transform:translateY(-6px);
    box-shadow:0 18px 50px rgba(13,30,54,.10);
}
.business-card img { height:180px; width:100%; object-fit:contain; margin-bottom:20px; }
.business-card .icon {
    width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
    background:#f4f6f8;color:var(--zns-navy);font-size:1.25rem;margin-bottom:18px;
}
.card-link { color:var(--zns-navy);font-weight:700; }
.card-link:hover { color:var(--zns-gold); }

.value-card {
    padding:28px;
    border-radius:18px;
    background:var(--surface);
    border:1px solid var(--border);
}
.value-card .number {
    color:var(--zns-gold);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.12em;
}

.stats {
    background:var(--zns-navy);
    color:#fff;
}
.stat-number { font-size:2.6rem; font-weight:800; color:var(--zns-gold-light); }
.stat-label { color:rgba(255,255,255,.7); }

.logo-panel {
    min-height:300px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7f7f7;
    border:1px solid var(--border);
    padding:35px;
}
.logo-panel img { max-height:220px; object-fit:contain; }

.brand-gemini { --brand:var(--gemini-green); --accent:var(--gemini-gold); }
.brand-rafay { --brand:var(--rafay-navy); --accent:var(--rafay-teal); }
.brand-landmark { --brand:var(--landmark-charcoal); --accent:var(--landmark-brown); }
.brand-hero {
    background:
        radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 28%),
        linear-gradient(135deg, color-mix(in srgb, var(--brand) 94%, #000), var(--brand));
}
.brand-hero .eyebrow { color:var(--accent); }
.brand-hero .btn-brand { background:var(--accent); border-color:var(--accent); color:#fff; }
.btn-brand:hover { filter:brightness(.92); color:#fff; }
.brand-accent { color:var(--accent); }

.timeline {
    border-left:2px solid var(--border);
    margin-left:10px;
    padding-left:28px;
}
.timeline-item { position:relative; margin-bottom:35px; }
.timeline-item::before {
    content:"";
    position:absolute;
    left:-36px; top:6px;
    width:14px;height:14px;border-radius:50%;
    background:var(--zns-gold); border:3px solid #fff;
    box-shadow:0 0 0 1px var(--zns-gold);
}

.team-card {
    border:1px solid var(--border);
    border-radius:18px;
    padding:25px;
    text-align:center;
    height:100%;
}
.avatar {
    width:86px;height:86px;border-radius:50%;
    display:grid;place-items:center;
    margin:0 auto 18px;
    background:linear-gradient(135deg,#e8edf2,#f8fafc);
    color:var(--zns-navy);
    font-weight:800;font-size:1.4rem;
}

.contact-card {
    border:1px solid var(--border);
    border-radius:20px;
    padding:30px;
    height:100%;
}
.contact-icon {
    width:48px;height:48px;border-radius:12px;
    background:#f1f4f7;color:var(--zns-navy);
    display:grid;place-items:center;font-size:1.15rem;
}
.form-control, .form-select {
    padding:.85rem 1rem;
    border-color:#dfe4ea;
}
.form-control:focus, .form-select:focus {
    border-color:var(--zns-gold);
    box-shadow:0 0 0 .2rem rgba(193,138,34,.12);
}

.cta {
    background:linear-gradient(135deg,var(--zns-navy),#1a3555);
    color:#fff;
    border-radius:28px;
    padding:60px;
}
.cta p { color:rgba(255,255,255,.72); }

.footer {
    background:#081625;
    color:rgba(255,255,255,.72);
}
.footer h6 { color:#fff; }
.footer a { color:rgba(255,255,255,.65); }
.footer a:hover { color:var(--zns-gold-light); }
.footer-logo { width:150px;  opacity:.95; }

.breadcrumb-item a { color:inherit; opacity:.7; }
.breadcrumb-item.active { color:inherit; opacity:.95; }
.breadcrumb-item + .breadcrumb-item::before { color:inherit; opacity:.45; }

.badge-soft {
    display:inline-flex;align-items:center;
    padding:.45rem .7rem;border-radius:50rem;
    background:#f3f5f7;color:#4f5b69;font-size:.78rem;font-weight:700;
}

@media (max-width: 991.98px) {
    .hero-home { min-height:auto; padding:110px 0 80px; }
    .hero-logo { max-height:230px; margin-top:40px; }
    .navbar .btn { margin-top:10px; }
}
@media (max-width: 575.98px) {
    .section { padding:65px 0; }
    .cta { padding:35px 25px; }
    .page-hero { padding:90px 0 70px; }
}
