/* ==========================================================
   AIPN — SITEWIDE PREMIUM TYPOGRAPHY & CONTRAST PASS
   Design-only layer. Existing navy/gold theme preserved.
   Font: Plus Jakarta Sans ONLY.
   ========================================================== */

:root {
    --aipn-blue: #063091;
    --aipn-blue-light: #0B47C0;
    --aipn-gold: #FC5603;
    --aipn-gold-light: #FF8A4B;
    --aipn-ink: #172033;
    --aipn-body: #344054;
    --aipn-muted: #667085;
    --aipn-soft: #F8F9FB;
    --aipn-soft-blue: #F2F6FC;
    --aipn-line: rgba(6, 48, 145, 0.10);
    --aipn-line-strong: rgba(6, 48, 145, 0.16);
    --aipn-shadow-sm: 0 10px 30px rgba(6, 48, 145, 0.055);
    --aipn-shadow-md: 0 18px 50px rgba(6, 48, 145, 0.09);
    --aipn-shadow-lg: 0 28px 80px rgba(6, 48, 145, 0.13);
    --aipn-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---------- ONE FONT, EVERYWHERE ---------- */
html,
body,
body p,
body a,
body span,
body div,
body li,
body label,
body small,
body strong,
body em,
body b,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body button,
body input,
body textarea,
body select,
body option,
body table,
body th,
body td,
body .font-montserrat,
body .font-inter,
body .font-poppins,
body .font-manrope,
body .font-sans,
body .font-serif,
body .font-mono,
body [style*="font-family"] {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Font Awesome icon families must remain intact. */
body .fa,
body .fas,
body .fa-solid,
body .far,
body .fa-regular {
    font-family: "Font Awesome 6 Free" !important;
}
body .fab,
body .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-size: 16px !important;
    line-height: 1.68 !important;
    font-weight: 450 !important;
    letter-spacing: -0.006em;
    color: var(--aipn-body) !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ---------- CONSISTENT TYPOGRAPHY SCALE ---------- */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    color: var(--aipn-blue) !important;
    font-weight: 750 !important;
    text-wrap: balance;
}

body h1 {
    font-size: clamp(2.45rem, 5.1vw, 4.5rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.045em !important;
}
body h2,
body .section-title {
    font-size: clamp(1.9rem, 3.15vw, 3.05rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.038em !important;
    font-weight: 780 !important;
}
body h3 {
    font-size: clamp(1.05rem, 1.45vw, 1.28rem) !important;
    line-height: 1.35 !important;
    letter-spacing: -0.018em !important;
    font-weight: 720 !important;
}
body h4 {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}
body h5,
body h6 {
    font-size: .95rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

body p {
    line-height: 1.72 !important;
}

/* Stop random tiny text from becoming unreadable. */
body .text-\[7px\],
body .text-\[8px\],
body .text-\[9px\],
body .text-\[10px\] {
    font-size: .72rem !important;
    line-height: 1.45 !important;
}
body .text-\[11px\] {
    font-size: .74rem !important;
}
body .text-\[7px\].uppercase,
body .text-\[8px\].uppercase,
body .text-\[9px\].uppercase,
body .text-\[10px\].uppercase {
    letter-spacing: .15em !important;
}
body .text-xs {
    font-size: .78rem !important;
    line-height: 1.55 !important;
}
body .text-sm {
    font-size: .90rem !important;
    line-height: 1.62 !important;
}
body p.text-sm,
body p.text-xs,
body .glass-card p.text-sm,
body .glass-card p.text-xs {
    font-size: .89rem !important;
    line-height: 1.68 !important;
}
body .text-lg {
    font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
    line-height: 1.7 !important;
}

/* ---------- LIGHT-SURFACE CONTRAST ---------- */
body .text-gray-300,
body .text-gray-400,
body .text-gray-500,
body .text-slate-300,
body .text-slate-400,
body .text-slate-500,
body .text-slate-600 {
    color: var(--aipn-muted) !important;
}

body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]) h1,
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]) h2,
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]) h3,
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]) h4 {
    color: var(--aipn-blue) !important;
}

body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]) p,
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]) li {
    color: var(--aipn-body) !important;
}

/* Legacy headings marked text-white on light cards/pages. */
body .glass-card h1.text-white,
body .glass-card h2.text-white,
body .glass-card h3.text-white,
body .glass-card h4.text-white,
body .glass-card h5.text-white,
body .glass-card h6.text-white,
body section.bg-white h1.text-white,
body section.bg-white h2.text-white,
body section.bg-white h3.text-white,
body section.bg-white h4.text-white,
body section.bg-slate-50 h1.text-white,
body section.bg-slate-50 h2.text-white,
body section.bg-slate-50 h3.text-white,
body section.bg-slate-50 h4.text-white {
    color: var(--aipn-blue) !important;
}

/* ---------- DARK SURFACE CONTRAST ---------- */
body section.bg-aipn-dark,
body section[class*="bg-[#063091]"],
body section[class*="bg-[#063091]"],
body .aipn-premium-dark {
    background-image:
        radial-gradient(circle at 12% 10%, rgba(255,138,75,.10), transparent 22rem),
        radial-gradient(circle at 88% 86%, rgba(255,255,255,.055), transparent 26rem),
        linear-gradient(135deg, #063091 0%, #063091 52%, #0B47C0 100%) !important;
    color: #FFFFFF !important;
}

body section.bg-aipn-dark > .container h1,
body section.bg-aipn-dark > .container h2,
body section.bg-aipn-dark > .container h3,
body section.bg-aipn-dark > .container h4,
body section[class*="bg-[#063091]"] > .container h1,
body section[class*="bg-[#063091]"] > .container h2,
body section[class*="bg-[#063091]"] > .container h3,
body section[class*="bg-[#063091]"] > .container h4,
body section[class*="bg-[#063091]"] > .container h1,
body section[class*="bg-[#063091]"] > .container h2,
body section[class*="bg-[#063091]"] > .container h3,
body section[class*="bg-[#063091]"] > .container h4 {
    color: #FFFFFF !important;
}

body section.bg-aipn-dark > .container p,
body section.bg-aipn-dark > .container li,
body section[class*="bg-[#063091]"] > .container p,
body section[class*="bg-[#063091]"] > .container li,
body section[class*="bg-[#063091]"] > .container p,
body section[class*="bg-[#063091]"] > .container li {
    color: #DCE3EE !important;
}

/* Existing blue accent is too dark on navy; use the CURRENT gold theme accent instead. */
body section.bg-aipn-dark > .container .text-aipn-blue:not(.glass-card *),
body section[class*="bg-[#063091]"] > .container .text-aipn-blue:not(.glass-card *),
body section[class*="bg-[#063091]"] > .container .text-aipn-blue:not(.glass-card *) {
    color: var(--aipn-gold) !important;
}

/* White cards embedded in genuine navy sections must retain dark readable copy. */
body section.bg-aipn-dark .glass-card h1,
body section.bg-aipn-dark .glass-card h2,
body section.bg-aipn-dark .glass-card h3,
body section.bg-aipn-dark .glass-card h4,
body section[class*="bg-[#063091]"] .glass-card h1,
body section[class*="bg-[#063091]"] .glass-card h2,
body section[class*="bg-[#063091]"] .glass-card h3,
body section[class*="bg-[#063091]"] .glass-card h4,
body section[class*="bg-[#063091]"] .glass-card h1,
body section[class*="bg-[#063091]"] .glass-card h2,
body section[class*="bg-[#063091]"] .glass-card h3,
body section[class*="bg-[#063091]"] .glass-card h4 {
    color: var(--aipn-blue) !important;
}
body section.bg-aipn-dark .glass-card p,
body section.bg-aipn-dark .glass-card li,
body section[class*="bg-[#063091]"] .glass-card p,
body section[class*="bg-[#063091]"] .glass-card li,
body section[class*="bg-[#063091]"] .glass-card p,
body section[class*="bg-[#063091]"] .glass-card li {
    color: var(--aipn-muted) !important;
}

/* ---------- EXISTING THEME, PREMIUM GRADIENTS ---------- */
body .section-title span.text-aipn-blue,
body h2 span.text-aipn-blue,
body h1 span.text-aipn-blue {
    color: var(--aipn-blue) !important;
    background: linear-gradient(105deg, var(--aipn-blue) 0%, var(--aipn-blue-light) 62%, var(--aipn-gold) 115%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body section.bg-aipn-dark .section-title span.text-aipn-blue,
body section[class*="bg-[#063091]"] .section-title span.text-aipn-blue,
body section[class*="bg-[#063091]"] .section-title span.text-aipn-blue {
    background: linear-gradient(100deg, var(--aipn-gold), var(--aipn-gold-light));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body .text-aipn-orange,
body .text-\[\#FC5603\],
body .text-\[\#FC5603\] {
    color: var(--aipn-gold) !important;
}

/* ---------- PROFESSIONAL SECTION RHYTHM ---------- */
body > section[class*="py-16"]:not(.home-hero),
body > section[class*="py-20"]:not(.home-hero),
body > section[class*="py-24"]:not(.home-hero),
body > section[class*="py-32"]:not(.home-hero) {
    padding-top: clamp(4.25rem, 7vw, 6.25rem) !important;
    padding-bottom: clamp(4.25rem, 7vw, 6.25rem) !important;
}

body > section:not(.home-hero):not([class*="bg-[#063091]"]):not([class*="bg-[#063091]"]):not(.bg-aipn-dark) {
    background-image:
        radial-gradient(circle at 9% 10%, rgba(6, 48, 145, .035), transparent 22rem),
        radial-gradient(circle at 92% 90%, rgba(252, 86, 3, .035), transparent 24rem) !important;
}

body section.bg-slate-50,
body section.bg-slate-100,
body .bg-\[\#f8fafc\] {
    background-color: var(--aipn-soft) !important;
}

/* ---------- CARDS / GROUPS ---------- */
body .glass-card,
body .stat-card,
body .service-card,
body .feature-card,
body .case-study-card {
    position: relative;
    background: linear-gradient(145deg, #FFFFFF 0%, #FFFFFF 70%, #FAFBFD 100%) !important;
    border: 1px solid var(--aipn-line) !important;
    border-radius: 20px !important;
    box-shadow: var(--aipn-shadow-sm) !important;
    color: var(--aipn-body) !important;
    overflow: hidden;
    transform: translateZ(0);
    transition:
        transform .42s var(--aipn-ease),
        box-shadow .42s var(--aipn-ease),
        border-color .42s var(--aipn-ease) !important;
}

body .glass-card::before,
body .stat-card::before,
body .service-card::before,
body .feature-card::before,
body .case-study-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--aipn-blue) 22%, var(--aipn-gold) 72%, transparent 100%);
    opacity: .55;
    pointer-events: none;
    transform: scaleX(.38);
    transform-origin: left center;
    transition: transform .5s var(--aipn-ease), opacity .5s var(--aipn-ease);
    z-index: 2;
}

body .glass-card:hover,
body .stat-card:hover,
body .service-card:hover,
body .feature-card:hover,
body .case-study-card:hover,
body .hover-lift:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--aipn-shadow-md) !important;
    border-color: rgba(6, 48, 145, .18) !important;
}

body .glass-card:hover::before,
body .stat-card:hover::before,
body .service-card:hover::before,
body .feature-card:hover::before,
body .case-study-card:hover::before {
    transform: scaleX(1);
    opacity: .95;
}

body .glass-card h1,
body .glass-card h2,
body .glass-card h3,
body .glass-card h4,
body .glass-card h5,
body .glass-card h6 {
    color: var(--aipn-blue) !important;
}
body .glass-card p,
body .glass-card li,
body .glass-card .text-gray-300,
body .glass-card .text-gray-400,
body .glass-card .text-gray-500,
body .glass-card .text-slate-300,
body .glass-card .text-slate-400,
body .glass-card .text-slate-500,
body .glass-card .text-slate-600 {
    color: var(--aipn-muted) !important;
}

/* ---------- CTA / BUTTON SYSTEM ---------- */
body .btn-premium,
body .btn-primary,
body .btn-secondary,
body button,
body a[class*="rounded-lg"][class*="font-bold"],
body a[class*="rounded-xl"][class*="font-bold"] {
    font-family: 'Plus Jakarta Sans', sans-serif;
    letter-spacing: .055em !important;
    font-weight: 700 !important;
    transition:
        transform .28s var(--aipn-ease),
        box-shadow .28s var(--aipn-ease),
        background-color .28s ease,
        border-color .28s ease,
        color .28s ease !important;
}

body .btn-primary {
    background: linear-gradient(135deg, var(--aipn-blue) 0%, var(--aipn-blue-light) 100%) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 12px 28px rgba(6,48,145,.18) !important;
}
body .btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 36px rgba(6,48,145,.24) !important;
}

body .btn-secondary {
    background: linear-gradient(135deg, rgba(252,86,3,.08), rgba(255,138,75,.15)) !important;
    border-color: rgba(252,86,3,.55) !important;
    color: #9A7620 !important;
}
body .btn-secondary:hover {
    background: linear-gradient(135deg, var(--aipn-gold), var(--aipn-gold-light)) !important;
    color: var(--aipn-blue) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 32px rgba(252,86,3,.20) !important;
}

body a[class*="bg-[#063091]"],
body button[class*="bg-[#063091]"],
body a[class*="bg-[#063091]"],
body button[class*="bg-[#063091]"] {
    color: #FFFFFF !important;
}

/* ---------- FORMS ---------- */
body input:not([type="checkbox"]):not([type="radio"]),
body textarea,
body select,
body .form-input {
    min-height: 48px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: .92rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    color: var(--aipn-ink) !important;
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(6,48,145,.13) !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 16px rgba(6,48,145,.028);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease !important;
}
body textarea {
    min-height: 120px;
}
body input::placeholder,
body textarea::placeholder {
    color: #8A94A6 !important;
    opacity: 1 !important;
}
body input:focus,
body textarea:focus,
body select:focus,
body .form-input:focus {
    outline: none !important;
    border-color: var(--aipn-blue) !important;
    box-shadow: 0 0 0 4px rgba(6,48,145,.08), 0 10px 24px rgba(6,48,145,.055) !important;
    transform: translateY(-1px);
}
body label {
    color: #344054 !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
}

/* ---------- HEADER / MENU ---------- */
body #header,
body #mobileMenu,
body #aipn-top-bar {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
body #header {
    border-color: rgba(6,48,145,.08) !important;
    box-shadow: 0 8px 32px rgba(6,48,145,.055) !important;
}
body #header.header-scrolled {
    box-shadow: 0 14px 42px rgba(6,48,145,.09) !important;
}
body #header a,
body #header button,
body #mobileMenu a,
body #mobileMenu button {
    font-size: .80rem !important;
    font-weight: 650 !important;
}
body #aipn-top-bar,
body #aipn-top-bar a,
body #aipn-top-bar span,
body #aipn-top-bar div {
    color: #D9E1ED !important;
}
body #aipn-top-bar a:hover,
body #aipn-top-bar i,
body #aipn-top-bar a[href*="register"] {
    color: var(--aipn-gold) !important;
}

/* ---------- HOMEPAGE HERO ---------- */
body .home-hero h1 {
    font-size: clamp(2.75rem, 5.35vw, 4.9rem) !important;
    line-height: 1.01 !important;
}
body .home-hero p {
    font-size: clamp(.98rem, 1.35vw, 1.12rem) !important;
    color: #4D596C !important;
}
body .home-hero .trust-badge {
    font-size: .70rem !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
}
body .home-hero .glass-card {
    border-radius: 22px !important;
    box-shadow: var(--aipn-shadow-lg) !important;
}
body .home-hero #hero-cta-primary,
body .home-hero #hero-cta-secondary {
    min-height: 50px !important;
    font-size: .84rem !important;
}

/* ---------- KEY SECTIONS ---------- */
body #stats-section {
    background:
        linear-gradient(90deg, #FFFFFF 0%, var(--aipn-soft-blue) 50%, #FFFFFF 100%) !important;
    border-top: 1px solid var(--aipn-line) !important;
    border-bottom: 1px solid var(--aipn-line) !important;
}
body #stats-section .counter,
body #stats-section [class*="text-3xl"],
body #stats-section [class*="text-5xl"] {
    color: var(--aipn-blue) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
}

body #process-section .glass-card,
body #why-aipn-section .glass-card,
body #testimonials-section .glass-card,
body #membership .glass-card,
body [id*="faq"] .glass-card {
    min-height: 100%;
}

body [id*="faq"] .glass-card,
body .faq-item,
body .faq-card {
    border-radius: 16px !important;
}

/* Professional badge/chip treatment */
body .trust-badge,
body [class*="rounded-full"][class*="border"] {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* ---------- FOOTER ---------- */
body .premium-footer,
body #aipn-footer-wrapper {
    font-family: 'Plus Jakarta Sans', sans-serif;
}
body .premium-footer .footer-heading {
    font-size: .82rem !important;
    line-height: 1.45 !important;
    letter-spacing: .11em !important;
    font-weight: 750 !important;
    color: var(--aipn-blue) !important;
}
body .premium-footer .footer-body,
body .premium-footer .footer-link {
    font-size: .90rem !important;
    line-height: 1.65 !important;
}
body .premium-footer .footer-muted-text {
    font-size: .78rem !important;
    color: var(--aipn-muted) !important;
}
body .premium-footer .footer-link:hover {
    color: var(--aipn-blue) !important;
}
body .premium-footer .footer-link::after {
    background: linear-gradient(90deg, var(--aipn-blue), var(--aipn-gold)) !important;
}

/* ---------- MOTION / PREMIUM MICRO-INTERACTIONS ---------- */
body .reveal,
body .reveal-up,
body .reveal-left,
body .reveal-right,
body .reveal-scale {
    transition-duration: .82s !important;
    transition-timing-function: var(--aipn-ease) !important;
}
body a,
body button,
body .glass-card i,
body .feature-card i,
body .service-card i {
    transition-timing-function: var(--aipn-ease) !important;
}
body .group:hover i:not(.fa-star) {
    transform: translateY(-1px) scale(1.03);
}

body ::selection {
    background: rgba(252,86,3,.25);
    color: var(--aipn-blue);
}

body ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--aipn-blue), var(--aipn-blue-light));
    border-radius: 999px;
}
body ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--aipn-blue-light), var(--aipn-gold));
}

/* ---------- RESPONSIVE QA ---------- */
@media (max-width: 1023px) {
    body h1 {
        font-size: clamp(2.25rem, 7vw, 3.65rem) !important;
    }
    body h2,
    body .section-title {
        font-size: clamp(1.8rem, 5.3vw, 2.65rem) !important;
    }
}

@media (max-width: 767px) {
    html { font-size: 16px; }
    body { font-size: 15.5px !important; }

    body h1,
    body .home-hero h1 {
        font-size: clamp(2.05rem, 9vw, 2.75rem) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.035em !important;
    }
    body h2,
    body .section-title {
        font-size: clamp(1.7rem, 7vw, 2.2rem) !important;
        line-height: 1.13 !important;
    }
    body h3 {
        font-size: 1.05rem !important;
    }
    body p,
    body p.text-sm,
    body p.text-xs {
        font-size: .90rem !important;
        line-height: 1.7 !important;
    }

    body > section[class*="py-16"]:not(.home-hero),
    body > section[class*="py-20"]:not(.home-hero),
    body > section[class*="py-24"]:not(.home-hero),
    body > section[class*="py-32"]:not(.home-hero) {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .container {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body .glass-card,
    body .stat-card,
    body .service-card,
    body .feature-card,
    body .case-study-card {
        border-radius: 16px !important;
    }

    body #header a,
    body #header button,
    body #mobileMenu a,
    body #mobileMenu button {
        font-size: .77rem !important;
    }

    body .home-hero .trust-badge {
        font-size: .66rem !important;
    }

    body .btn-primary,
    body .btn-secondary,
    body .btn-premium {
        min-height: 48px !important;
        font-size: .80rem !important;
    }
    /* Beat legacy high-specificity mobile rules: no 8–10px UI text, no compressed sections. */
    body section.relative.home-hero h1 {
        font-size: clamp(2.05rem, 9vw, 2.75rem) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.035em !important;
    }
    body section.relative.home-hero .inline-flex.items-center.gap-3 {
        font-size: .69rem !important;
        line-height: 1.35 !important;
        letter-spacing: .13em !important;
    }
    body section.relative.home-hero .text-\[10px\].font-mono.font-bold {
        font-size: .68rem !important;
        line-height: 1.45 !important;
    }
    body section.relative.home-hero .trust-badge {
        font-size: .68rem !important;
        line-height: 1.35 !important;
        letter-spacing: .075em !important;
    }
    body #header #mobileMenuBtn,
    body #header .btn-primary {
        font-size: .74rem !important;
        line-height: 1.2 !important;
    }
    body section:not(.relative.home-hero)[class*="py-16"],
    body section:not(.relative.home-hero)[class*="py-20"],
    body section:not(.relative.home-hero)[class*="py-24"],
    body section:not(.relative.home-hero)[class*="py-32"] {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}

@media (max-width: 480px) {
    body .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body h1,
    body .home-hero h1 {
        font-size: clamp(1.92rem, 9.4vw, 2.4rem) !important;
    }
    body h2,
    body .section-title {
        font-size: clamp(1.6rem, 7.6vw, 2rem) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    body *,
    body *::before,
    body *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* ==========================================================
   AIPN — LOGO PALETTE + BALANCED HEADING + STICKY HEADER FIX
   2026-08-30 — design-only override
   Exact logo palette: Royal Blue #063091 / Vivid Orange #FC5603
   ========================================================== */
:root {
    --aipn-blue: #063091;
    --aipn-blue-deep: #04256F;
    --aipn-blue-light: #0B47C0;
    --aipn-orange: #FC5603;
    --aipn-orange-light: #FF8A4B;
    /* legacy variable aliases retained so existing classes keep working */
    --aipn-gold: #FC5603;
    --aipn-gold-light: #FF8A4B;
    --aipn-ink: #111A31;
    --aipn-body: #344054;
    --aipn-muted: #5F6B7C;
    --aipn-soft-blue: #EEF4FF;
    --aipn-soft-orange: #FFF4EE;
}

/* Stable weight system — Plus Jakarta Sans only, no synthetic odd weights. */
body { font-weight: 400 !important; overflow-x: clip !important; }
body strong,
body b { font-weight: 700 !important; }
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 { font-weight: 700 !important; }
body h1 { font-size: clamp(2.15rem, 4.25vw, 3.8rem) !important; line-height: 1.06 !important; letter-spacing: -.04em !important; }
body h2,
body .section-title { font-size: clamp(1.8rem, 2.85vw, 2.7rem) !important; line-height: 1.12 !important; letter-spacing: -.032em !important; font-weight: 700 !important; }
body h3 { font-size: clamp(1.03rem, 1.3vw, 1.22rem) !important; font-weight: 700 !important; }
body h4,
body h5,
body h6 { font-weight: 700 !important; }

/* Main homepage title: deliberately smaller and more balanced than before. */
body .home-hero h1,
body section.relative.home-hero h1 {
    font-size: clamp(2.3rem, 4.45vw, 4.05rem) !important;
    line-height: 1.045 !important;
    letter-spacing: -.045em !important;
}
body .home-hero h1 .text-aipn-blue,
body .home-hero h1 span.text-aipn-blue {
    color: var(--aipn-blue) !important;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: var(--aipn-blue) !important;
}
body .home-hero h1 .text-aipn-orange,
body .home-hero h1 span.text-aipn-orange {
    color: var(--aipn-orange) !important;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: var(--aipn-orange) !important;
}

/* Sitewide logo-colored accent text and tasteful gradients. */
body .text-aipn-orange,
body .text-\[\#FC5603\] { color: var(--aipn-orange) !important; }
body .section-title span.text-aipn-blue,
body h2 span.text-aipn-blue:not(.home-hero *),
body h1 span.text-aipn-blue:not(.home-hero *) {
    background: linear-gradient(105deg, var(--aipn-blue-deep) 0%, var(--aipn-blue) 55%, var(--aipn-blue-light) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Brand-blue dark sections with orange glow, matching the logo instead of navy/gold. */
body section.bg-aipn-dark,
body section[class*="bg-[#063091]"],
body .aipn-premium-dark {
    background-image:
        radial-gradient(circle at 12% 10%, rgba(252,86,3,.13), transparent 22rem),
        radial-gradient(circle at 88% 86%, rgba(255,255,255,.07), transparent 28rem),
        linear-gradient(135deg, var(--aipn-blue-deep) 0%, var(--aipn-blue) 58%, var(--aipn-blue-light) 100%) !important;
}
body section.bg-aipn-dark > .container .text-aipn-blue:not(.glass-card *),
body section[class*="bg-[#063091]"] > .container .text-aipn-blue:not(.glass-card *) {
    color: #FFFFFF !important;
}
body section.bg-aipn-dark .section-title span.text-aipn-blue,
body section[class*="bg-[#063091]"] .section-title span.text-aipn-blue {
    background: linear-gradient(105deg, #FFFFFF 0%, #DDE8FF 62%, #FFB38C 115%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Light sections get a subtle blue/orange branded atmosphere. */
body > section:not(.home-hero):not([class*="bg-[#063091]"]):not(.bg-aipn-dark) {
    background-image:
        radial-gradient(circle at 8% 12%, rgba(6,48,145,.035), transparent 22rem),
        radial-gradient(circle at 94% 88%, rgba(252,86,3,.028), transparent 24rem) !important;
}
body .glass-card::before,
body .stat-card::before,
body .service-card::before,
body .feature-card::before,
body .case-study-card::before {
    background: linear-gradient(90deg, transparent 0%, var(--aipn-blue) 22%, var(--aipn-orange) 72%, transparent 100%) !important;
}

/* CTA colors follow logo palette. */
body .btn-primary {
    background: linear-gradient(135deg, var(--aipn-blue) 0%, var(--aipn-blue-light) 100%) !important;
    box-shadow: 0 12px 28px rgba(6,48,145,.22) !important;
}
body .btn-secondary {
    background: linear-gradient(135deg, rgba(252,86,3,.07), rgba(255,138,75,.13)) !important;
    border-color: rgba(252,86,3,.48) !important;
    color: #D84800 !important;
}
body .btn-secondary:hover,
body .btn-gold {
    background: linear-gradient(135deg, var(--aipn-orange) 0%, #FF7130 100%) !important;
    border-color: var(--aipn-orange) !important;
    color: #FFFFFF !important;
    box-shadow: 0 14px 32px rgba(252,86,3,.22) !important;
}
body .btn-gold:hover { color: #FFFFFF !important; transform: translateY(-2px) !important; box-shadow: 0 18px 38px rgba(252,86,3,.30) !important; }

/* STICKY HEADER — force reliable behavior on every public page. */
html { overflow-x: clip !important; }
body #header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    isolation: isolate;
    transform: translateZ(0);
    background: linear-gradient(90deg, rgba(255,255,255,.985) 0%, rgba(238,244,255,.97) 55%, rgba(255,244,238,.97) 100%) !important;
    border-bottom: 1px solid rgba(6,48,145,.12) !important;
    box-shadow: 0 9px 30px rgba(6,48,145,.08) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}
body #header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, var(--aipn-blue) 28%, var(--aipn-orange) 72%, transparent 100%);
    opacity: .55;
}
body #header.header-scrolled {
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 12px 34px rgba(6,48,145,.13) !important;
}
body #aipn-top-bar {
    background: linear-gradient(90deg, var(--aipn-blue-deep), var(--aipn-blue), var(--aipn-blue-light)) !important;
}
body #aipn-top-bar a:hover,
body #aipn-top-bar i,
body #aipn-top-bar a[href*="register"] { color: #FF955F !important; }

/* Hero background accents follow the logo palette. */
body .home-hero > .absolute.inset-0.z-0::after {
    background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.90) 42%, rgba(238,244,255,.57) 72%, rgba(255,244,238,.20) 100%) !important;
}
body .home-hero .scan-line {
    background: linear-gradient(90deg, transparent, var(--aipn-blue), var(--aipn-orange), transparent) !important;
}

/* Responsive heading balance. */
@media (max-width: 1023px) {
    body h1 { font-size: clamp(2rem, 6vw, 3.15rem) !important; }
    body .home-hero h1,
    body section.relative.home-hero h1 { font-size: clamp(2.05rem, 6.4vw, 3.35rem) !important; }
    body h2,
    body .section-title { font-size: clamp(1.7rem, 4.6vw, 2.35rem) !important; }
}
@media (max-width: 767px) {
    body h1,
    body .home-hero h1,
    body section.relative.home-hero h1 {
        font-size: clamp(1.78rem, 7.7vw, 2.15rem) !important;
        line-height: 1.09 !important;
        letter-spacing: -.032em !important;
    }
    body h2,
    body .section-title { font-size: clamp(1.55rem, 6.4vw, 1.95rem) !important; }
    body #header { top: 0 !important; }
}
@media (max-width: 480px) {
    body h1,
    body .home-hero h1,
    body section.relative.home-hero h1 { font-size: clamp(1.7rem, 8.2vw, 2rem) !important; }
    body h2,
    body .section-title { font-size: clamp(1.48rem, 6.7vw, 1.85rem) !important; }
}

/* ==========================================================
   AIPN — HOMEPAGE LAYOUT / SPACING / HEADER POLISH V3
   Targeted fixes from visual QA screenshots — 2026-08-30
   ========================================================== */

/* Prevent accidental horizontal drift and oversized empty bands sitewide. */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}
body * { box-sizing: border-box; }
body > section { width: 100%; max-width: 100%; }
body > section[class*="py-16"]:not(.home-hero),
body > section[class*="py-20"]:not(.home-hero),
body > section[class*="py-24"]:not(.home-hero),
body > section[class*="py-32"]:not(.home-hero) {
    padding-top: clamp(3.25rem, 4.8vw, 4.6rem) !important;
    padding-bottom: clamp(3.25rem, 4.8vw, 4.6rem) !important;
}
body section .mb-20 { margin-bottom: clamp(2.25rem, 3.8vw, 3.5rem) !important; }
body section .mb-16 { margin-bottom: clamp(2rem, 3.4vw, 3rem) !important; }
body section:empty { display: none !important; }

/* -------- Header: logo always visible, actions never squeeze it out -------- */
body #header .header-inner {
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
    min-height: 72px;
    padding: 10px 24px !important;
    margin-inline: auto !important;
    gap: 20px !important;
}
body #header .header-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 14px !important;
}
body #header .header-logo-link {
    display: flex !important;
    flex: 0 0 auto !important;
    min-width: max-content;
    position: relative;
    z-index: 2;
}
body #header .header-logo {
    display: block !important;
    width: auto !important;
    height: clamp(42px, 4vw, 52px) !important;
    max-width: 190px !important;
    object-fit: contain !important;
}
body #header .header-actions {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    min-width: max-content;
    gap: 14px !important;
}
body #header .header-utility-link {
    min-height: 42px;
    padding: 0 3px;
    align-items: center;
}
body #header .header-get-started {
    min-height: 44px !important;
    padding: 0 22px !important;
    border-radius: 11px !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(6,48,145,.18) !important;
}
body #header .header-get-started i { color: #FC5603 !important; }

@media (max-width: 1279px) {
    body #header .header-utility-link { display: none !important; }
    body #header .header-left > a[aria-label="Chat on WhatsApp"] { display: none !important; }
    body #header .header-inner { padding-inline: 18px !important; }
}
@media (max-width: 639px) {
    body #header .header-inner {
        min-height: 64px !important;
        padding: 8px 14px !important;
        gap: 10px !important;
    }
    body #header .header-left { gap: 8px !important; }
    body #header .header-left > div[class*="w-[1px]"] { display: none !important; }
    body #header #mobileMenuBtn {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
    }
    body #header .header-logo { height: 34px !important; max-width: 128px !important; }
    body #header .header-get-started {
        min-height: 40px !important;
        padding: 0 13px !important;
        font-size: .68rem !important;
        letter-spacing: .035em !important;
    }
    body #header .header-get-started i { display: none !important; }
}

/* -------- Services section: no blank area + actual CTA button -------- */
body #services {
    padding-top: clamp(3.4rem, 5vw, 4.8rem) !important;
    padding-bottom: clamp(3.4rem, 5vw, 4.8rem) !important;
}
body #services .services-intro {
    align-items: center !important;
    margin-bottom: clamp(2rem, 3vw, 2.8rem) !important;
    gap: 28px !important;
}
body #services .services-intro > div { max-width: 760px !important; }
body #services .services-view-all {
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #063091 0%, #0B47C0 100%) !important;
    border: 1px solid rgba(6,48,145,.12) !important;
    box-shadow: 0 12px 26px rgba(6,48,145,.17) !important;
    letter-spacing: .10em !important;
    white-space: nowrap;
}
body #services .services-view-all i { color: #FF7B3B !important; }
body #services .services-view-all:hover {
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(6,48,145,.24) !important;
}
body #servicesGrid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    min-height: 0 !important;
}
body #servicesGrid:empty { display: none !important; }
body #servicesGrid .homepage-service-card {
    min-height: 270px !important;
    overflow: hidden !important;
    padding: 26px !important;
    display: flex !important;
    flex-direction: column !important;
}
body #servicesGrid .homepage-service-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    color: #063091;
    background: linear-gradient(145deg, #EDF3FF, #FFF4EE);
    border: 1px solid rgba(6,48,145,.10);
    font-size: 1.15rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
body #servicesGrid .homepage-service-card h3 { font-size: 1.04rem !important; }
body #servicesGrid .homepage-service-card p { margin-bottom: 18px !important; }
body #servicesGrid .homepage-service-footer {
    margin-top: auto;
    border-top: 1px solid rgba(6,48,145,.08) !important;
}
body #servicesGrid .homepage-service-arrow {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #063091;
    background: #F2F6FC;
    border: 1px solid rgba(6,48,145,.12);
    transition: .28s var(--aipn-ease);
}
body #servicesGrid .homepage-service-arrow:hover {
    color: #fff;
    background: #063091;
    transform: translateX(2px);
}

/* -------- Process cards: no clipped number labels, consistent card height -------- */
body #process-section { overflow: clip !important; }
body #process-section .process-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 20px !important;
    padding-top: 14px !important;
}
body #process-section .process-step-card {
    min-width: 0 !important;
    min-height: 220px !important;
    overflow: visible !important;
    padding: 30px 20px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
}
body #process-section .process-step-card > div.absolute:first-child {
    top: -14px !important;
    left: 18px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: .74rem !important;
    box-shadow: 0 8px 18px rgba(6,48,145,.18) !important;
    z-index: 4;
}
body #process-section .process-step-card h3 {
    min-height: 2.7em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px !important;
    font-size: .90rem !important;
}
body #process-section .process-step-card p {
    font-size: .79rem !important;
    line-height: 1.55 !important;
}
@media (max-width: 1199px) {
    body #process-section .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 639px) {
    body #process-section .process-grid { grid-template-columns: 1fr !important; gap: 26px !important; }
    body #process-section .process-step-card { min-height: 0 !important; }
}

/* -------- Official verified card: high contrast, inside image bounds -------- */
body #why-aipn-section .official-verified-card {
    right: 22px !important;
    bottom: 22px !important;
    width: min(300px, calc(100% - 44px));
    padding: 20px !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.97) 0%, #F1F6FF 72%, #FFF3EC 100%) !important;
    border: 1px solid rgba(6,48,145,.16) !important;
    box-shadow: 0 18px 44px rgba(6,48,145,.18) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
}
body #why-aipn-section .official-verified-card .text-white,
body #why-aipn-section .official-verified-card .text-gray-300 {
    color: #344054 !important;
}
body #why-aipn-section .official-verified-card .text-\[10px\] { color: #063091 !important; }
body #why-aipn-section .official-verified-card .text-\[9px\] { color: #667085 !important; }
body #why-aipn-section .official-verified-card .border-white\/5 { border-color: rgba(6,48,145,.10) !important; }

/* -------- Achievements: equal-size professional gallery -------- */
body #achievements-section .achievement-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}
body #achievements-section .achievement-gallery-item {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(6,48,145,.08) !important;
}
body #achievements-section .achievement-gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transform: scale(1.001);
}
body #achievements-section .achievement-gallery-item:hover img {
    transform: scale(1.035) !important;
}
body #achievements-section .mt-16.text-center { margin-top: 2.4rem !important; }
@media (max-width: 1023px) {
    body #achievements-section .achievement-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
    body #achievements-section .achievement-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}
@media (max-width: 420px) {
    body #achievements-section .achievement-gallery-grid { grid-template-columns: 1fr !important; }
}

/* -------- Membership: compact, balanced, premium -------- */
body #membership.membership-section {
    padding-top: clamp(3rem, 4.5vw, 4rem) !important;
    padding-bottom: clamp(3rem, 4.5vw, 4rem) !important;
}
body #membership > .container { max-width: 1320px !important; }
body #membership .membership-panel {
    min-height: 0 !important;
    padding: clamp(2.2rem, 4.2vw, 3.5rem) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 90% 10%, rgba(252,86,3,.10), transparent 22rem),
        linear-gradient(135deg, #FFFFFF 0%, #F3F7FF 62%, #FFF7F2 100%) !important;
    border: 1px solid rgba(6,48,145,.12) !important;
    box-shadow: 0 20px 50px rgba(6,48,145,.09) !important;
}
body #membership .membership-panel > .flex {
    gap: clamp(2rem, 5vw, 5rem) !important;
    align-items: center !important;
}
body #membership .membership-panel .max-w-2xl { max-width: 720px !important; }
body #membership .section-title {
    font-size: clamp(1.9rem, 3vw, 2.65rem) !important;
    margin-bottom: 14px !important;
}
body #membership p {
    max-width: 690px;
    margin-bottom: 24px !important;
    color: #536174 !important;
    font-size: .98rem !important;
}
body #membership .membership-chips { gap: 10px !important; }
body #membership .membership-chips > div {
    min-height: 38px;
    padding: 0 13px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.84) !important;
    border: 1px solid rgba(6,48,145,.11) !important;
    color: #344054 !important;
    box-shadow: 0 6px 16px rgba(6,48,145,.05) !important;
    font-size: .70rem !important;
}
body #membership .membership-action { min-width: 250px; }
body #membership .membership-action .btn-primary {
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: 12px !important;
    white-space: nowrap;
}
@media (max-width: 1023px) {
    body #membership .membership-action { width: 100% !important; min-width: 0 !important; }
    body #membership .membership-action .btn-primary { width: 100% !important; }
}

/* Compact responsive section rhythm. */
@media (max-width: 767px) {
    body > section[class*="py-16"]:not(.home-hero),
    body > section[class*="py-20"]:not(.home-hero),
    body > section[class*="py-24"]:not(.home-hero),
    body > section[class*="py-32"]:not(.home-hero) {
        padding-top: 2.75rem !important;
        padding-bottom: 2.75rem !important;
    }
    body #services .services-intro { align-items: flex-start !important; }
    body #services .services-view-all { width: 100% !important; justify-content: center !important; }
    body #servicesGrid { grid-template-columns: 1fr !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
    body #servicesGrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ==========================================================
   AIPN — GLOBAL CTA + HEADER/DRAWER + DUPLICATE ICON FIX V4
   2026-08-30 — visual-only normalization
   ========================================================== */

:root {
    --aipn-drawer-top: 72px;
    --aipn-cta-blue: #063091;
    --aipn-cta-blue-2: #0B47C0;
    --aipn-cta-orange: #FC5603;
}

/* -------- ONE CTA LANGUAGE SITEWIDE --------
   View-All-Services pattern: blue button, white label, orange arrow AFTER text. */
body .btn-primary,
body .btn-secondary,
body .btn-gold,
body .btn-premium,
body .services-view-all,
body [data-aipn-cta="1"] {
    position: relative !important;
    min-height: 48px !important;
    padding: 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 1px solid rgba(6,48,145,.14) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--aipn-cta-blue) 0%, var(--aipn-cta-blue-2) 100%) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: .78rem !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(6,48,145,.18) !important;
    overflow: visible !important;
    transition: transform .28s var(--aipn-ease), box-shadow .28s var(--aipn-ease), filter .28s ease !important;
}
body .btn-primary::after,
body .btn-secondary::after,
body .btn-gold::after,
body .btn-premium::after,
body .services-view-all::after,
body [data-aipn-cta="1"]::after {
    content: "→" !important;
    display: inline-block !important;
    margin-left: 1px !important;
    color: var(--aipn-cta-orange) !important;
    -webkit-text-fill-color: var(--aipn-cta-orange) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 1.08rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    transform: translateX(0);
    transition: transform .25s var(--aipn-ease) !important;
}
body .btn-primary:hover,
body .btn-secondary:hover,
body .btn-gold:hover,
body .btn-premium:hover,
body .services-view-all:hover,
body [data-aipn-cta="1"]:hover {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    background: linear-gradient(135deg, #052A80 0%, #0D51D6 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(6,48,145,.25) !important;
    filter: saturate(1.03);
}
body .btn-primary:hover::after,
body .btn-secondary:hover::after,
body .btn-gold:hover::after,
body .btn-premium:hover::after,
body .services-view-all:hover::after,
body [data-aipn-cta="1"]:hover::after {
    transform: translateX(3px) !important;
}

/* No duplicated leading icons inside text CTAs. Loading spinner remains visible. */
body .btn-primary i:not(.fa-circle-notch),
body .btn-secondary i:not(.fa-circle-notch),
body .btn-gold i:not(.fa-circle-notch),
body .btn-premium i:not(.fa-circle-notch),
body .services-view-all i:not(.fa-circle-notch),
body [data-aipn-cta="1"] i:not(.fa-circle-notch) {
    display: none !important;
}
body .btn-primary:disabled,
body .btn-secondary:disabled,
body .btn-gold:disabled,
body .btn-premium:disabled,
body [data-aipn-cta="1"]:disabled {
    opacity: .62 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Keep icon-only controls as icon controls, not CTA pills. */
body #mobileMenuBtn,
body #mobileMenuClose,
body #triggerHubBtn,
body #sendChatBtn,
body #closeExitBtn,
body #closeBookingBtn,
body .footer-social-btn,
body .homepage-service-arrow {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* -------- SINGLE FLOATING CONTACT ENTRY -------- */
body > div[class~="fixed"][class~="bottom-6"][class~="right-6"][class~="z-50"][class~="flex-col"] {
    display: none !important;
}
body #aipn-contact-hub {
    right: 20px !important;
    bottom: 20px !important;
    z-index: 1180 !important;
}
body #aipn-contact-hub #triggerHubBtn {
    width: 54px !important;
    height: 54px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #063091 0%, #0B47C0 100%) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 10px 28px rgba(6,48,145,.28) !important;
}
body #aipn-contact-hub #triggerHubBtn::after { content: none !important; }
body #aipn-contact-hub #triggerHubBtn i { display: inline-block !important; }
body #floatingButtonsList [data-aipn-cta="1"] {
    min-width: 172px !important;
    justify-content: space-between !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    font-size: .70rem !important;
}

/* -------- TRUE STICKY HEADER, NO HEADER/MENU MERGE -------- */
body #aipn-top-bar {
    position: relative !important;
    z-index: 1190 !important;
}
body #header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1300 !important;
    width: 100% !important;
    transform: none !important;
    will-change: auto !important;
    overflow: visible !important;
    isolation: isolate !important;
    background: rgba(255,255,255,.985) !important;
    border-bottom: 1px solid rgba(6,48,145,.13) !important;
    box-shadow: 0 10px 30px rgba(6,48,145,.08) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
}
body #header.header-scrolled {
    background: rgba(255,255,255,.99) !important;
    box-shadow: 0 12px 34px rgba(6,48,145,.13) !important;
}
body #header .header-accent-line {
    opacity: 1 !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent 0%, #063091 30%, #FC5603 72%, transparent 100%) !important;
}
body #header .header-get-started {
    min-height: 44px !important;
    padding-inline: 20px !important;
}

/* Drawer begins BELOW the live header; it never paints over the header. */
body #mobileMenu {
    position: fixed !important;
    top: var(--aipn-drawer-top, 72px) !important;
    bottom: 0 !important;
    height: auto !important;
    max-height: calc(100dvh - var(--aipn-drawer-top, 72px)) !important;
    z-index: 1250 !important;
    background: #FFFFFF !important;
    border-right: 1px solid rgba(6,48,145,.12) !important;
    box-shadow: 18px 16px 52px rgba(6,48,145,.16) !important;
    color: #344054 !important;
}
body #mobileMenu > div {
    height: 100% !important;
    background: #FFFFFF !important;
}
body .mobile-drawer-backdrop {
    top: var(--aipn-drawer-top, 72px) !important;
    bottom: 0 !important;
    height: auto !important;
    z-index: 1240 !important;
    background: rgba(6,48,145,.32) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
}

/* Drawer top-level links: never white/faded on white. */
body #mobileMenu .drawer-nav-link {
    color: #50637A !important;
    -webkit-text-fill-color: #50637A !important;
    background: transparent !important;
    opacity: 1 !important;
    border: 1px solid transparent !important;
    border-left: 3px solid transparent !important;
    border-radius: 10px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    font-weight: 750 !important;
}
body #mobileMenu .drawer-nav-link:hover {
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
    background: #F2F6FC !important;
    border-color: rgba(6,48,145,.08) !important;
    border-left-color: rgba(252,86,3,.5) !important;
}
body #mobileMenu .drawer-nav-link.is-active {
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
    background: linear-gradient(90deg, #EDF3FF 0%, #F8FAFF 100%) !important;
    border-color: rgba(6,48,145,.10) !important;
    border-left-color: #FC5603 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.6) !important;
}

/* Service links inside drawer retain strong contrast. */
body #mobileMenu nav .mt-8 .grid {
    background: linear-gradient(145deg, #063091 0%, #0A3FAF 100%) !important;
    border: 1px solid rgba(6,48,145,.18) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 20px rgba(6,48,145,.10) !important;
}
body #mobileMenu nav .mt-8 .grid a {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    background: transparent !important;
    font-weight: 650 !important;
}
body #mobileMenu nav .mt-8 .grid a:hover {
    color: #FFB08A !important;
    -webkit-text-fill-color: #FFB08A !important;
    background: rgba(255,255,255,.10) !important;
}

/* Drawer footer stays readable and its action links use the global CTA pattern. */
body #mobileMenu > div > div:last-child {
    background: #F8FAFD !important;
    border-top-color: rgba(6,48,145,.10) !important;
}
body #mobileMenu > div > div:last-child span,
body #mobileMenu > div > div:last-child a:not([data-aipn-cta="1"]) {
    color: #52657B !important;
    -webkit-text-fill-color: #52657B !important;
}

@media (max-width: 767px) {
    body #header .header-inner {
        min-height: 66px !important;
        padding: 8px 14px !important;
    }
    body #header .header-logo {
        height: 36px !important;
        max-width: 138px !important;
    }
    body #header .header-get-started {
        min-height: 40px !important;
        padding: 0 13px !important;
        font-size: .64rem !important;
        letter-spacing: .04em !important;
    }
    body #mobileMenu {
        width: min(92vw, 390px) !important;
        max-width: min(92vw, 390px) !important;
    }
    body .btn-primary,
    body .btn-secondary,
    body .btn-gold,
    body .btn-premium,
    body .services-view-all,
    body [data-aipn-cta="1"] {
        min-height: 46px !important;
        padding-inline: 18px !important;
        font-size: .72rem !important;
    }
}

/* Sticky-safe horizontal overflow: clip does not create a competing scroll container. */
html,
body {
    overflow-x: clip !important;
}

/* =========================================================
   HOVER ICON CONTRAST FIX — 2026-08-30
   Prevent brand-colored icons from blending into their hover backgrounds.
   ========================================================= */
body .group:hover [class*="group-hover:bg-aipn-blue"],
body .group:hover [class*="group-hover:bg-[#063091]"],
body .group:hover [class*="group-hover:bg-[#FC5603]"] {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
body .group:hover [class*="group-hover:bg-aipn-blue"] i,
body .group:hover [class*="group-hover:bg-[#063091]"] i,
body .group:hover [class*="group-hover:bg-[#FC5603]"] i {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
}

/* Process cards get a crisp, consistent hover without icon/background mixing. */
body #process-section .process-step-card > div:nth-of-type(2),
body #why-aipn-section .group > div:first-child {
    transition: background-color .28s var(--aipn-ease), color .28s var(--aipn-ease), transform .28s var(--aipn-ease), box-shadow .28s var(--aipn-ease) !important;
}
body #process-section .process-step-card:hover > div:nth-of-type(2) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 10px 22px rgba(6,48,145,.16) !important;
}
body #process-section .process-step-card:hover > div:nth-of-type(2) i {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
}



/* ==========================================================
   AIPN — FLOATING ACTION RESTORE + CTA ALIGNMENT V6
   Restores WhatsApp + Back-to-Top without duplicate stacks.
   ========================================================== */

/* Drawer footer actions: identical width/alignment. */
body #mobileMenu .drawer-footer-cta,
body #mobileMenu .drawer-footer-cta[data-aipn-cta="1"] {
    width: 100% !important;
    max-width: none !important;
    min-height: 50px !important;
    justify-content: space-between !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Visible footer WhatsApp CTA, same global button language. */
body .footer-whatsapp-cta {
    width: 100% !important;
    max-width: 280px !important;
    min-height: 48px !important;
    justify-content: space-between !important;
}

/* Standalone floating WhatsApp: one instance only. */
body #aipn-floating-whatsapp.whatsapp-float {
    position: fixed !important;
    left: 20px !important;
    right: auto !important;
    bottom: 20px !important;
    z-index: 1210 !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    background: #25D366 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 12px 30px rgba(37,211,102,.32) !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: transform .25s var(--aipn-ease), box-shadow .25s var(--aipn-ease) !important;
}
body #aipn-floating-whatsapp.whatsapp-float::after { content: none !important; }
body #aipn-floating-whatsapp.whatsapp-float i {
    display: inline-block !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1 !important;
}
body #aipn-floating-whatsapp.whatsapp-float:hover {
    transform: translateY(-3px) scale(1.04) !important;
    box-shadow: 0 16px 36px rgba(37,211,102,.42) !important;
}

/* Back to Top restored at bottom-right. */
body #aipn-scroll-to-top {
    position: fixed !important;
    right: 20px !important;
    left: auto !important;
    bottom: 20px !important;
    z-index: 1210 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    border: 1px solid rgba(6,48,145,.14) !important;
    background: #fff !important;
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
    box-shadow: 0 10px 28px rgba(6,48,145,.16) !important;
    transition: opacity .25s ease, visibility .25s ease, transform .25s var(--aipn-ease), background .25s ease !important;
}
body #aipn-scroll-to-top::after { content: none !important; }
body #aipn-scroll-to-top i {
    display: inline-block !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 1rem !important;
}
body #aipn-scroll-to-top.opacity-0,
body #aipn-scroll-to-top.invisible {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
body #aipn-scroll-to-top.opacity-100,
body #aipn-scroll-to-top.visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
body #aipn-scroll-to-top:hover {
    background: #063091 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    transform: translateY(-3px) !important;
}

/* Keep support hub above Back-to-Top so controls never overlap. */
body #aipn-contact-hub {
    right: 20px !important;
    bottom: 86px !important;
    z-index: 1205 !important;
}

/* Legacy duplicate right-side floating stacks remain suppressed only. */
body > div[class~="fixed"][class~="bottom-6"][class~="right-6"][class~="z-50"][class~="flex-col"] {
    display: none !important;
}

@media (max-width: 767px) {
    body #aipn-floating-whatsapp.whatsapp-float {
        left: 14px !important;
        bottom: 14px !important;
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        min-height: 52px !important;
        border-radius: 15px !important;
    }
    body #aipn-scroll-to-top {
        right: 14px !important;
        bottom: 14px !important;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
    }
    body #aipn-contact-hub {
        right: 14px !important;
        bottom: 76px !important;
    }
}

/* AIPN CONTRAST + MULTISTEP FORM REPAIR V7 */
/* ---------------------------------------------------------
   Fixes:
   - Hidden multi-step controls must stay hidden even though the global CTA
     system uses display:inline-flex !important.
   - Step navigation labels must never disappear into blue buttons.
   - Light cards nested inside blue hero/sections keep dark readable copy.
   - Dark section copy gets strong, non-faded contrast sitewide.
   --------------------------------------------------------- */

/* Multi-step form: exactly the intended buttons are visible. */
body form.multi-stepped > .hidden,
body form.multi-stepped .aipn-step-prev.hidden,
body form.multi-stepped .aipn-step-next.hidden,
body form.multi-stepped .aipn-step-submit.hidden,
body form.multi-stepped button.hidden {
    display: none !important;
}

body form.multi-stepped .aipn-step-next,
body form.multi-stepped .aipn-step-submit,
body form.multi-stepped .aipn-step-prev {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    visibility: visible;
}

body form.multi-stepped .aipn-step-next::after,
body form.multi-stepped .aipn-step-submit::after,
body form.multi-stepped .aipn-step-prev::after {
    color: #FC5603 !important;
    -webkit-text-fill-color: #FC5603 !important;
}

body form.multi-stepped > .flex.gap-3.mt-6 {
    align-items: stretch !important;
}

/* Strong, readable light-section copy — no washed-out grey. */
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]) :is(p, li) {
    color: #344054 !important;
    opacity: 1 !important;
}
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]) :is(.text-slate-400,.text-gray-400) {
    color: #667085 !important;
    opacity: 1 !important;
}
body section:not(.home-hero):not(.bg-aipn-dark):not([class*="bg-[#063091]"]) :is(.text-slate-500,.text-gray-500,.text-slate-600,.text-gray-600) {
    color: #475467 !important;
    opacity: 1 !important;
}

/* Genuine blue/dark sections: make copy crisp instead of pale/faded. */
body section.bg-aipn-dark > .container :is(h1,h2,h3,h4,h5,h6),
body section[class*="bg-[#063091]"] > .container :is(h1,h2,h3,h4,h5,h6) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
}
body section.bg-aipn-dark > .container :is(p,li,label),
body section[class*="bg-[#063091]"] > .container :is(p,li,label) {
    color: #F1F5FF !important;
    -webkit-text-fill-color: #F1F5FF !important;
    opacity: 1 !important;
}
body section.bg-aipn-dark > .container :is(.text-slate-300,.text-slate-400,.text-slate-500,.text-gray-300,.text-gray-400,.text-gray-500),
body section[class*="bg-[#063091]"] > .container :is(.text-slate-300,.text-slate-400,.text-slate-500,.text-gray-300,.text-gray-400,.text-gray-500) {
    color: #EAF0FF !important;
    -webkit-text-fill-color: #EAF0FF !important;
    opacity: 1 !important;
}

/* IMPORTANT: light information cards inside a blue section must NOT inherit
   the section's white text. This fixes AEO/overview boxes like "What is...". */
body section.bg-aipn-dark :is([class~="bg-white"],[class~="bg-slate-50"],[class~="bg-slate-100"],[class~="bg-white/70"],[class~="bg-white/80"],[class~="bg-white/90"],[class~="bg-white/95"]),
body section[class*="bg-[#063091]"] :is([class~="bg-white"],[class~="bg-slate-50"],[class~="bg-slate-100"],[class~="bg-white/70"],[class~="bg-white/80"],[class~="bg-white/90"],[class~="bg-white/95"]) {
    color: #344054 !important;
    -webkit-text-fill-color: #344054 !important;
    opacity: 1 !important;
}
body section.bg-aipn-dark :is([class~="bg-white"],[class~="bg-slate-50"],[class~="bg-slate-100"],[class~="bg-white/70"],[class~="bg-white/80"],[class~="bg-white/90"],[class~="bg-white/95"]) :is(h1,h2,h3,h4,h5,h6),
body section[class*="bg-[#063091]"] :is([class~="bg-white"],[class~="bg-slate-50"],[class~="bg-slate-100"],[class~="bg-white/70"],[class~="bg-white/80"],[class~="bg-white/90"],[class~="bg-white/95"]) :is(h1,h2,h3,h4,h5,h6) {
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
    opacity: 1 !important;
}
body section.bg-aipn-dark :is([class~="bg-white"],[class~="bg-slate-50"],[class~="bg-slate-100"],[class~="bg-white/70"],[class~="bg-white/80"],[class~="bg-white/90"],[class~="bg-white/95"]) :is(p,li,label),
body section[class*="bg-[#063091]"] :is([class~="bg-white"],[class~="bg-slate-50"],[class~="bg-slate-100"],[class~="bg-white/70"],[class~="bg-white/80"],[class~="bg-white/90"],[class~="bg-white/95"]) :is(p,li,label) {
    color: #475467 !important;
    -webkit-text-fill-color: #475467 !important;
    opacity: 1 !important;
}

/* The reusable glass cards remain readable even when placed on a blue section. */
body section.bg-aipn-dark .glass-card :is(h1,h2,h3,h4,h5,h6),
body section[class*="bg-[#063091]"] .glass-card :is(h1,h2,h3,h4,h5,h6) {
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
}
body section.bg-aipn-dark .glass-card :is(p,li,label),
body section[class*="bg-[#063091]"] .glass-card :is(p,li,label) {
    color: #475467 !important;
    -webkit-text-fill-color: #475467 !important;
    opacity: 1 !important;
}

/* Keep actual text CTAs white even inside the light-card contrast repairs. */
body [data-aipn-cta="1"],
body .btn-primary,
body .btn-secondary,
body .btn-premium,
body .btn-gold,
body .services-view-all {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
}


/* =========================================================
   AIPN STANDARD HERO + PREMIUM FAQ SYSTEM V8
   Homepage hero remains untouched.
   ========================================================= */

/* ---------- Standard inner-page hero ---------- */
body .aipn-standard-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: 500px !important;
    padding-top: clamp(9.5rem, 13vw, 12rem) !important;
    padding-bottom: clamp(4.5rem, 7vw, 6.25rem) !important;
    background:
        radial-gradient(circle at 86% 24%, rgba(24, 103, 232, .34), transparent 31rem),
        linear-gradient(112deg, #051f63 0%, #063091 48%, #0b4dbd 100%) !important;
    color: #FFFFFF !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

body .aipn-standard-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background-image: url('../assets/banner.png');
    background-size: cover;
    background-position: center;
    opacity: .16;
    filter: saturate(.85) contrast(1.05);
}

body .aipn-standard-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(2,20,63,.92) 0%, rgba(3,39,116,.80) 47%, rgba(6,48,145,.45) 76%, rgba(8,63,170,.22) 100%),
        linear-gradient(180deg, rgba(255,255,255,.025), rgba(0,0,0,.12));
}

body .aipn-standard-hero > .absolute.inset-0 {
    opacity: .20 !important;
    filter: saturate(.88) contrast(1.06) !important;
    z-index: -1 !important;
}

body .aipn-standard-hero .container,
body .aipn-standard-hero .aipn-standard-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    text-align: left !important;
}

body .aipn-standard-hero .container > div,
body .aipn-standard-hero .aipn-standard-hero-inner > div {
    margin-left: 0 !important;
    margin-right: auto !important;
}

body .aipn-standard-hero .aipn-standard-hero-eyebrow,
body .aipn-standard-hero h1 + .aipn-standard-hero-eyebrow,
body .aipn-standard-hero :is(span,div)[class*="uppercase"][class*="tracking"]:not([data-aipn-cta]) {
    color: #FC5603 !important;
    -webkit-text-fill-color: #FC5603 !important;
    font-size: .76rem !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
}

body .aipn-standard-hero h1,
body .aipn-standard-hero .aipn-standard-hero-title {
    max-width: 900px !important;
    margin-top: .85rem !important;
    margin-bottom: 1.35rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: clamp(2.65rem, 4.8vw, 4.35rem) !important;
    line-height: 1.02 !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
    text-align: left !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
}

body .aipn-standard-hero h1 .text-\[\#FC5603\],
body .aipn-standard-hero h1 .text-aipn-orange,
body .aipn-standard-hero h1 [style*="FC5603"],
body .aipn-standard-hero h1 strong {
    color: #FC5603 !important;
    -webkit-text-fill-color: #FC5603 !important;
}

body .aipn-standard-hero p,
body .aipn-standard-hero .aipn-standard-hero-lead {
    max-width: 690px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    color: #F1F5FF !important;
    -webkit-text-fill-color: #F1F5FF !important;
    font-size: clamp(1rem, 1.45vw, 1.15rem) !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    text-align: left !important;
}

body .aipn-standard-hero .flex:has([data-aipn-cta]),
body .aipn-standard-hero .flex:has(.btn-primary),
body .aipn-standard-hero .flex:has(.btn-secondary) {
    justify-content: flex-start !important;
}

body .aipn-standard-hero [data-aipn-cta="1"],
body .aipn-standard-hero .btn-primary,
body .aipn-standard-hero .btn-secondary,
body .aipn-standard-hero .btn-premium,
body .aipn-standard-hero .btn-gold {
    min-height: 50px !important;
    border-radius: 11px !important;
    box-shadow: 0 14px 34px rgba(0, 18, 65, .22) !important;
}

/* ---------- Premium FAQ accordion ---------- */
body .aipn-faq-section {
    position: relative !important;
    padding-top: clamp(4.75rem, 7vw, 6.5rem) !important;
    padding-bottom: clamp(4.75rem, 7vw, 6.5rem) !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(6,48,145,.045), transparent 26rem),
        radial-gradient(circle at 88% 80%, rgba(252,86,3,.035), transparent 24rem),
        #F7F9FD !important;
    border-top: 1px solid rgba(6,48,145,.055) !important;
    border-bottom: 1px solid rgba(6,48,145,.055) !important;
}

body .aipn-faq-section > .container,
body .aipn-faq-section > article,
body .aipn-faq-section > div {
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .aipn-faq-heading-wrap {
    text-align: center !important;
    margin-bottom: clamp(2.5rem, 5vw, 3.4rem) !important;
}

body .aipn-faq-eyebrow {
    display: block !important;
    margin: 0 0 .9rem !important;
    color: #FC5603 !important;
    -webkit-text-fill-color: #FC5603 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: .72rem !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    letter-spacing: .20em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
}

body .aipn-faq-title {
    margin: 0 !important;
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: clamp(2rem, 3.5vw, 3rem) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -.045em !important;
    text-align: center !important;
    opacity: 1 !important;
}

body .aipn-faq-subtitle {
    max-width: 650px !important;
    margin: 1rem auto 0 !important;
    color: #475467 !important;
    -webkit-text-fill-color: #475467 !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    text-align: center !important;
    opacity: 1 !important;
}

body .aipn-faq-section .space-y-4,
body .aipn-faq-section .space-y-8 {
    display: grid !important;
    gap: 1rem !important;
}

body .aipn-faq-item {
    position: relative !important;
    display: block !important;
    min-height: 76px !important;
    padding: 1.45rem 4rem 1.45rem 1.5rem !important;
    margin: 0 !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(6,48,145,.075) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 34px rgba(6,48,145,.055) !important;
    color: #344054 !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transform: translateZ(0) !important;
    transition: transform .32s cubic-bezier(.16,1,.3,1), box-shadow .32s ease, border-color .32s ease !important;
}

body .aipn-faq-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #063091 0%, #6a83ca 46%, #FC5603 76%, rgba(252,86,3,0) 100%);
    opacity: .76;
}

body .aipn-faq-item:hover,
body .aipn-faq-item:focus-visible,
body .aipn-faq-item.is-open {
    transform: translateY(-2px) !important;
    border-color: rgba(6,48,145,.16) !important;
    box-shadow: 0 18px 44px rgba(6,48,145,.09) !important;
    outline: none !important;
}

body .aipn-faq-question {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #063091 !important;
    -webkit-text-fill-color: #063091 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: clamp(.98rem, 1.4vw, 1.14rem) !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: -.022em !important;
    text-transform: none !important;
    opacity: 1 !important;
}

body .aipn-faq-question i.fa-question-circle,
body .aipn-faq-question i.fa-circle-question {
    display: none !important;
}

body .aipn-faq-chevron,
body .aipn-faq-item .faq-icon {
    position: absolute !important;
    top: 1.7rem !important;
    right: 1.45rem !important;
    display: inline-flex !important;
    width: 28px !important;
    height: 28px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #344054 !important;
    -webkit-text-fill-color: #344054 !important;
    font-size: .78rem !important;
    transform: rotate(0deg) !important;
    transition: transform .3s cubic-bezier(.16,1,.3,1), color .25s ease !important;
    pointer-events: none !important;
}

body .aipn-faq-item.is-open .aipn-faq-chevron,
body .aipn-faq-item.is-open .faq-icon {
    color: #FC5603 !important;
    -webkit-text-fill-color: #FC5603 !important;
    transform: rotate(180deg) !important;
}

body .aipn-faq-answer {
    display: block !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid transparent !important;
    overflow: hidden !important;
    color: #475467 !important;
    -webkit-text-fill-color: #475467 !important;
    font-size: .94rem !important;
    line-height: 1.72 !important;
    font-weight: 500 !important;
    opacity: 0 !important;
    transform: translateY(-5px) !important;
    transition: max-height .38s cubic-bezier(.16,1,.3,1), opacity .28s ease, transform .28s ease, margin .28s ease, padding .28s ease, border-color .28s ease !important;
}

body .aipn-faq-item.is-open .aipn-faq-answer {
    max-height: 560px !important;
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top-color: rgba(6,48,145,.10) !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

@media (max-width: 767px) {
    body .aipn-standard-hero {
        min-height: 430px !important;
        padding-top: 8rem !important;
        padding-bottom: 4rem !important;
    }
    body .aipn-standard-hero h1,
    body .aipn-standard-hero .aipn-standard-hero-title {
        font-size: clamp(2.15rem, 10vw, 3rem) !important;
        line-height: 1.05 !important;
    }
    body .aipn-standard-hero p,
    body .aipn-standard-hero .aipn-standard-hero-lead {
        font-size: .98rem !important;
        line-height: 1.65 !important;
    }
    body .aipn-faq-section {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
    body .aipn-faq-item {
        min-height: 70px !important;
        padding: 1.25rem 3.5rem 1.25rem 1.2rem !important;
        border-radius: 18px !important;
    }
    body .aipn-faq-chevron,
    body .aipn-faq-item .faq-icon {
        top: 1.35rem !important;
        right: 1rem !important;
    }
}

/* =========================================================
   AIPN GALLERY FULL IMAGE NO-CROP FIX — 2026-08-31
   Only the homepage achievements gallery image fitting is changed.
   ========================================================= */
body #achievements-section .achievement-gallery-item {
    background: #ffffff !important;
}
body #achievements-section .achievement-gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}
body #achievements-section .achievement-gallery-item:hover img {
    transform: none !important;
}

