/* ── AL QAMAR AL KUBRA COLOR TOKENS ─────────────────────── */
:root {
    --aqk-blue:   #0B5394;
    --aqk-blue-dark: #073F71;
    --aqk-maroon: #A33A32;
    --bg-light:   #F9FAFB;
    --bg-card:    #FFFFFF;
    --text-main:  #1E293B;
    --text-muted: #64748B;
    --border-light:#E2E8F0;
    --shadow-lg: 0 20px 50px rgba(0,0,0,0.08);
    --shadow-sm: 0 4px 12px rgba(0,0,0,0.04);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
body.aqk-custom-design {
    font-family: 'Outfit', sans-serif;
    background: var(--bg-light);
    color: var(--text-main);
    margin: 0;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
body.aqk-custom-design a { text-decoration: none; color: inherit; }
body.aqk-custom-design img, body.aqk-custom-design svg { max-width: 100%; }

body.aqk-custom-design h1, body.aqk-custom-design h2, body.aqk-custom-design h3, body.aqk-custom-design h4 {
    font-family: 'Space Grotesk', sans-serif; margin: 0; text-wrap: balance;
}

body.aqk-custom-design a:focus-visible, body.aqk-custom-design button:focus-visible, .hero-dot:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid var(--aqk-blue);
    outline-offset: 3px;
    border-radius: 2px;
}

/* ── SCROLL REVEAL ─────────── */
[data-aos] {
    opacity: 0;
    transition: opacity 0.7s ease, transform 0.7s ease;
    transition-delay: var(--aos-delay, 0ms);
}
[data-aos="fade-up"]    { transform: translateY(36px); }
[data-aos="fade-right"] { transform: translateX(-36px); }
[data-aos="fade-left"]  { transform: translateX(36px); }
[data-aos="zoom-in"]    { transform: scale(0.92); }
[data-aos].aos-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ── NAVBAR ────────────────────────────────────────────── */
body.aqk-custom-design nav {
    position: fixed; top: 0; width: 100%; z-index: 1000;
    padding: 1.5rem 4rem;
    display: flex; justify-content: space-between; align-items: center;
    transition: all 0.4s ease;
}
body.aqk-custom-design nav.scrolled {
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(10px);
    padding: 1rem 4rem;
    box-shadow: var(--shadow-sm);
}
.logo { display: flex; align-items: center; gap: 0.5rem; font-family: 'Space Grotesk'; font-weight: 700; font-size: 1.5rem; color: var(--aqk-blue); }
.logo-mark { width: 40px; height: 40px; background: var(--aqk-blue); color: white; display: flex; justify-content: center; align-items: center; border-radius: 4px; font-size: 1.2rem; flex-shrink: 0; }
.logo-mark img { width: 100%; height: 100%; object-fit: contain; border-radius: 4px; }
.logo span { color: var(--aqk-maroon); font-weight: 400; }
.nav-links { display: flex; gap: 2rem; }
.nav-links a { font-weight: 500; color: var(--text-muted); transition: color 0.2s; }
.nav-links a:hover { color: var(--aqk-blue); }
.btn-nav { background: var(--aqk-blue); color: #fff; padding: 0.8rem 2rem; border-radius: 4px; border: none; font-weight: 600; cursor: pointer; transition: background 0.2s; font-family: 'Outfit', sans-serif; font-size: 1rem; }
.btn-nav:hover { background: var(--aqk-maroon); }
.nav-toggle {
    display: none; background: none; border: none; cursor: pointer;
    width: 44px; height: 44px; padding: 0; position: relative; flex-shrink: 0;
    z-index: 1002;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
    content: ""; position: absolute; left: 8px; right: 8px; height: 2px; background: var(--text-main);
    transition: transform 0.25s ease, opacity 0.25s ease, top 0.25s ease;
}
.nav-toggle span { top: 21px; }
.nav-toggle span::before { top: -8px; }
.nav-toggle span::after { top: 8px; }
.nav-toggle.open span { background: transparent; }
.nav-toggle.open span::before { top: 0; transform: rotate(45deg); background: var(--aqk-blue); }
.nav-toggle.open span::after { top: 0; transform: rotate(-45deg); background: var(--aqk-blue); }

/* ── HERO SLIDER ───────────────────────────────────────── */
#hero { position: relative; height: 100vh; overflow: hidden; background: #eef2f5; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s; display: flex; align-items: center; padding: 0 8rem; }
.hero-slide.active { opacity: 1; }
.hero-content { position: relative; z-index: 5; max-width: 650px; }
.hero-content h1 { font-size: clamp(3.5rem, 6vw, 6rem); line-height: 0.95; letter-spacing: -0.03em; color: var(--text-main); margin-bottom: 1.5rem; }
.hero-content h1 span { color: var(--aqk-blue); }
.hero-content p { font-size: 1.2rem; color: var(--text-muted); margin-bottom: 2.5rem; max-width: 32ch; }
.btn-hero { background: var(--aqk-blue); color: #fff; padding: 1.2rem 3rem; border-radius: 50px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; display: inline-block; transition: transform 0.2s, background 0.2s; }
.btn-hero:hover { transform: translateY(-3px); background: var(--aqk-maroon); }

.hero-arrow { position: absolute; right: 5rem; top: 50%; transform: translateY(-50%); z-index: 3; width: 400px; height: 400px; pointer-events: none; }
.hero-dots { position: absolute; bottom: 3rem; left: 8rem; display: flex; gap: 0.5rem; z-index: 10; }
.hero-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border-light); cursor: pointer; transition: all 0.3s; border: none; padding: 0; }
.hero-dot.active { background: var(--aqk-blue); width: 30px; border-radius: 4px; }

/* ── SERVICES (STICKY HORIZONTAL SCROLL) ───────────────── */
#services { position: relative; height: 450vh; background-color: #fff; transition: background-color 0.6s ease; }
.sticky-track-container { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: center; }
.services-header { position: absolute; top: 7rem; left: 5rem; z-index: 20; }
.services-header h2 { font-size: 3.5rem; margin-bottom: 1rem; }
.services-header p { color: var(--text-muted); font-size: 1.1rem; }
.services-track { display: flex; gap: 2rem; padding: 0 5rem; margin-top: 5rem; will-change: transform; }
.service-card {
    width: 500px; min-height: 400px; padding: 3rem; border-radius: 20px; flex-shrink: 0;
    background: #fff; box-shadow: var(--shadow-lg); border: 1px solid var(--border-light);
    position: relative; overflow: hidden;
    display: flex; flex-direction: column; align-items: flex-start;
}
.service-card h3 { font-size: 2.2rem; margin-bottom: 1rem; position: relative; z-index: 2; }
.service-card p { font-size: 1.1rem; line-height: 1.6; color: var(--text-muted); position: relative; z-index: 2; }
.service-card a { display: inline-block; margin-top: 2rem; font-weight: 700; position: relative; z-index: 2; transition: opacity 0.2s; }
.service-card a:hover { opacity: 0.7; }
.service-icon { width: 56px; height: 56px; margin-bottom: 1.5rem; position: relative; z-index: 2; }
.card-1 { border-bottom: 8px solid var(--aqk-blue); }
.card-2 { border-bottom: 8px solid var(--aqk-maroon); }
.card-3 {
    background: linear-gradient(160deg, #EAF2FA, #FFFFFF);
    border-bottom: 8px solid var(--aqk-blue);
}
.card-3 h3 { color: var(--aqk-blue-dark); }
.card-4 { border-bottom: 8px solid #0F9D6C; }
.card-5 { border-bottom: 8px solid var(--aqk-maroon); }
.card-6 { border-bottom: 8px solid var(--aqk-blue); }

/* ── INDUSTRIES (Split Screen with Word Rotator) ───────── */
#industries { padding: 8rem 5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; background: var(--bg-light); }
.industries-left p { font-size: 1.2rem; color: var(--text-muted); margin-bottom: 3rem; line-height: 1.6; max-width: 46ch; }
.industries-left h2 { font-size: 4rem; margin-bottom: 1.5rem; }
.word-rotator { font-size: 2.5rem; font-weight: 600; margin-bottom: 2rem; position: relative; height: 3.4rem; overflow: hidden; max-width: 100%; }
.word { position: absolute; left: 0; top: 0; opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.word.active { opacity: 1; transform: translateY(0); color: var(--aqk-maroon); }
.industries-left .btn-outline { border: 2px solid var(--text-main); padding: 1rem 2.5rem; border-radius: 50px; font-weight: 600; transition: all 0.3s; display: inline-block; }
.industries-left .btn-outline:hover { border-color: var(--aqk-blue); background: var(--aqk-blue); color: #fff; }
.industries-right { position: relative; }
.industry-visual {
    width: 100%; height: 600px; border-radius: 20px; box-shadow: var(--shadow-lg);
    position: relative; overflow: hidden; background: linear-gradient(160deg, #eef2f7, #e2e8f0);
}
.industry-panel {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.7s ease;
}
.industry-panel.active { opacity: 1; }
.industry-panel svg { width: 70%; height: 70%; }
.industry-caption {
    position: absolute; left: 2rem; bottom: 2rem; z-index: 3;
    background: rgba(255,255,255,0.9); backdrop-filter: blur(6px);
    padding: 0.6rem 1.2rem; border-radius: 50px; font-weight: 600; font-size: 0.95rem; color: var(--text-main);
}

/* ── PARTNERS (custom coverflow-style carousel) ─────────── */
#partners-section { padding: 6rem 5rem; background: #fff; }
.section-title { text-align: center; font-size: 3.5rem; margin-bottom: 3rem; }
.carousel { position: relative; height: 340px; perspective: 1400px; }
.carousel-track { position: relative; width: 100%; height: 100%; }
.partner-slide {
    position: absolute; top: 50%; left: 50%;
    width: 340px; height: 260px; margin: -130px 0 0 -170px;
    background: #fff; border-radius: 14px; box-shadow: 0 15px 50px rgba(0,0,0,0.08);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem;
    border: 1px solid var(--border-light);
    transition: transform 0.6s cubic-bezier(.22,.9,.32,1), opacity 0.6s ease;
}
.partner-mark { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1.9rem; color: var(--text-main); }
.partner-slide p { font-weight: 600; color: var(--text-muted); font-size: 1.05rem; margin: 0; }
.partner-slide img { max-height: 110px; max-width: 260px; width: 80%; object-fit: contain; }
.carousel-dots { display: flex; justify-content: center; gap: 0.5rem; margin-top: 2rem; }
.carousel-dots button { width: 8px; height: 8px; border-radius: 50%; background: var(--border-light); border: none; cursor: pointer; transition: all 0.3s; padding: 0; }
.carousel-dots button.active { background: var(--aqk-blue); width: 24px; border-radius: 4px; }

/* ── TECHNOLOGY ALLIANCES ──────────────────────────────── */
#alliances { padding: 8rem 5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; background: var(--bg-light); align-items: center; }
.alliance-left h2 { font-size: 4rem; margin-bottom: 1.5rem; }
.alliance-left p { font-size: 1.2rem; color: var(--text-muted); margin-bottom: 2.5rem; max-width: 42ch; }
.btn-dark { background: var(--text-main); color: #fff; padding: 1rem 2.5rem; border-radius: 50px; font-weight: 600; display: inline-block; }
.alliance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.logo-card { background: #fff; padding: 2rem; display: flex; justify-content: center; align-items: center; border-radius: 12px; box-shadow: var(--shadow-sm); transition: transform 0.3s; }
.logo-card:hover { transform: translateY(-5px); }
.logo-card img { max-height: 48px; max-width: 100%; object-fit: contain; }
.logo-placeholder { font-size: 1.8rem; font-weight: 700; font-family: 'Space Grotesk'; color: var(--text-main); }

/* ── FOOTER ────────────────────────────────────────────── */
body.aqk-custom-design footer { background: #0A0F1A; color: #fff; padding: 5rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 3rem; }
.footer-col h4 { color: var(--aqk-blue); margin-bottom: 1rem; }
.footer-col a { display: block; color: rgba(255,255,255,0.6); margin-bottom: 0.5rem; transition: color 0.2s; }
.footer-col a:hover { color: #fff; }
.footer-logo { color: #fff; margin-bottom: 1rem; }
.footer-logo span { color: var(--aqk-maroon); }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 2rem; font-size: 0.9rem; color: rgba(255,255,255,0.4); flex-wrap: wrap; gap: 0.5rem; }

/* ── RESPONSIVE ────────────────────────────────────────── */
/* ---------- TABLET / MOBILE SHARED (≤1024px) ---------- */
@media (max-width: 1024px) {
    body.aqk-custom-design nav { padding: 1.2rem 1.5rem; }
    body.aqk-custom-design nav.scrolled { padding: 1rem 1.5rem; }
    .logo { font-size: 1.15rem; }
    .nav-links {
        position: fixed; top: 0; right: 0; height: 100vh; width: min(320px, 80vw);
        background: #fff; flex-direction: column; justify-content: center; align-items: flex-start;
        gap: 1.75rem; padding: 2rem 3rem; box-shadow: -10px 0 40px rgba(0,0,0,0.12);
        transform: translateX(100%); transition: transform 0.35s ease; z-index: 1001;
    }
    .nav-links.open { transform: translateX(0); }
    .nav-links a { font-size: 1.2rem; }
    .nav-toggle { display: block; }
    #hero { padding: 0 2rem; }
    .hero-slide { padding: 0 2rem; }
    .hero-content { max-width: 100%; }
    .hero-content h1 { font-size: clamp(2.6rem, 7vw, 4.5rem); }
    .hero-content p { max-width: none; }
    .hero-arrow { display: none; }
    .hero-dots { left: 2rem; bottom: 2rem; }
    #industries { grid-template-columns: 1fr; padding: 4rem 2rem; gap: 3rem; }
    .industries-left h2 { font-size: 2.6rem; }
    .word-rotator { font-size: 2rem; }
    .industries-right { margin-top: 0; }
    .industry-visual { height: 360px; }
    #partners-section { padding: 4rem 1.5rem; overflow: hidden; }
    .section-title { font-size: 2.2rem; margin-bottom: 2rem; }
    .carousel { height: 260px; overflow: hidden; }
    .partner-slide { width: 240px; height: 180px; }
    .partner-slide img { max-height: 80px; max-width: 180px; }
    #alliances { grid-template-columns: 1fr; padding: 4rem 2rem; gap: 3rem; }
    .alliance-left h2 { font-size: 2.6rem; }
    .alliance-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
    .logo-card { padding: 1.25rem; min-width: 0; }
    body.aqk-custom-design footer { padding: 3rem 1.5rem; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    
    
    .services-header { position: absolute; top: 6rem; left: 2rem; max-width: calc(100vw - 4rem); z-index: 20; }
    .services-header h2 { font-size: 2.2rem; }
    .sticky-track-container { align-items: flex-start; padding-top: 8rem; }
    .services-track { padding: 0 2rem; margin-top: 0; gap: 1.5rem; }
    .service-card {
        width: 78vw;
        min-height: 320px;
        max-height: calc(100vh - 10rem);
        padding: 2rem;
        overflow: hidden;
    }
    .service-card h3 { font-size: 1.6rem; }
    .service-card p { font-size: 1rem; }
}
@media (max-width: 560px) {
    nav { padding: 1rem 1rem; }
    nav.scrolled { padding: 0.8rem 1rem; }
    .logo { font-size: 0.95rem; gap: 0.4rem; }
    .logo span { display: block; font-size: 0.85rem; }
    .btn-nav { padding: 0.6rem 1.1rem; font-size: 0.85rem; }

    .hero-content h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
    .hero-content p { font-size: 1rem; }
    .btn-hero { padding: 1rem 2rem; font-size: 0.9rem; }

    .industries-left h2 { font-size: 2.1rem; }
    .word-rotator { font-size: 1.6rem; height: 2.6rem; }
    .industry-visual { height: 280px; }

    .section-title { font-size: 1.8rem; }
    .carousel { height: 220px; }
        .partner-slide { width: 190px; height: 150px; }
    .partner-slide img { max-height: 60px; max-width: 140px; }

    .alliance-left h2 { font-size: 2.1rem; }
    .alliance-left p { font-size: 1rem; max-width: none; }
    .alliance-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; width: 100%; }
    .logo-card { min-width: 0; }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem 1rem;
    }
    .footer-col:first-child {
        grid-column: 1 / -1;
    }
    .footer-col:last-child {
        grid-column: 1 / -1;
    }
    
    
        .services-header h2 { font-size: 1.8rem; }
    .sticky-track-container { padding-top: 6.5rem; }
    .service-card {
        width: 84vw;
        min-height: 280px;
        max-height: calc(100vh - 8.5rem);
        padding: 1.5rem;
    }
    .service-card h3 { font-size: 1.4rem; }
}

/* ---------- SHORT VIEWPORTS (laptops with limited vertical resolution,
   e.g. 1366×768 screens, or any browser window under ~700px tall) ---------- */
@media (max-height: 700px) {
    .service-card {
        min-height: 0;
        padding: 1.75rem;
    }
    .service-card h3 { font-size: 1.6rem; margin-bottom: 0.5rem; }
    .service-card p { font-size: 0.95rem; line-height: 1.5; }
    .service-card a { margin-top: 1rem; }
    .service-icon { width: 44px; height: 44px; margin-bottom: 0.75rem; }
    .services-header { top: 2rem; }
    .services-header h2 { font-size: 2.4rem; }
    .sticky-track-container { padding-top: 5.5rem; }
}