:root {
    --nib-green: #009846;
    --nib-green-dark: #00753a;
    --nib-green-soft: #eaf7f0;
    --nib-gold: #f2a52b;
    --nib-gold-dark: #d98b10;
    --nib-dark: #17231d;
    --nib-text: #29342f;
    --nib-muted: #69756f;
    --nib-bg: #f7faf8;
    --nib-line: #dfe8e3;
    --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "Inter", Arial, sans-serif; color: var(--nib-text); background: #fff; }
html[dir="rtl"] body { font-family: "Cairo", Arial, sans-serif; text-align: right; }

.site-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(23,35,29,.08); background: #fff; transition: box-shadow .25s ease; }
.site-header.scrolled { box-shadow: 0 10px 30px rgba(23,35,29,.08); }
.navbar-brand { padding: 0; margin: 0; }
.nib-navbar-logo { display: block; width: auto; height: 68px; object-fit: contain; }
.nav-link { color: var(--nib-dark) !important; font-weight: 650; padding: .65rem .72rem !important; border-radius: 8px; }
.nav-link:hover { color: var(--nib-green) !important; background: var(--nib-green-soft); }
.language-switch { min-height: 40px; display: inline-flex; gap: .45rem; align-items: center; justify-content: center; padding: .5rem .8rem; border: 1px solid var(--nib-line); border-radius: 10px; color: var(--nib-dark); text-decoration: none; font-weight: 700; }
.language-switch:hover { color: var(--nib-green); border-color: rgba(0,152,70,.45); background: var(--nib-green-soft); }

.btn-brand { background: var(--nib-green); border-color: var(--nib-green); color: #fff; font-weight: 750; border-radius: 10px; padding: .78rem 1.25rem; box-shadow: 0 8px 22px rgba(0,152,70,.17); }
.btn-brand:hover { background: var(--nib-green-dark); border-color: var(--nib-green-dark); color: #fff; transform: translateY(-1px); }
.btn-outline-brand-light { color: #fff; border: 1px solid rgba(255,255,255,.6); border-radius: 10px; font-weight: 700; padding: .78rem 1.25rem; }
.btn-outline-brand-light:hover { background: #fff; border-color: #fff; color: var(--nib-green-dark); }

.hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(120deg, #123a27 0%, #08723b 56%, #009846 100%); }
.hero::after { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.7) 1px, transparent 0); background-size: 28px 28px; pointer-events: none; }
.hero-content { z-index: 2; }
.hero-orb { position: absolute; border-radius: 50%; border: 1px solid rgba(242,165,43,.45); pointer-events: none; }
.hero-orb-one { width: 560px; height: 560px; right: -180px; top: -210px; box-shadow: 0 0 0 90px rgba(242,165,43,.04); }
.hero-orb-two { width: 290px; height: 290px; left: -120px; bottom: -170px; }
.min-vh-72 { min-height: 72vh; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 800; margin-bottom: 1rem; color: #c7f0d7; }
html[dir="rtl"] .eyebrow { letter-spacing: 0; text-transform: none; }
.gold-eyebrow { color: #ffd083; }
.text-brand { color: var(--nib-green) !important; }
.hero h1 { font-size: clamp(3rem, 6vw, 5.5rem); line-height: .98; letter-spacing: -.045em; font-weight: 800; max-width: 870px; }
html[dir="rtl"] .hero h1 { letter-spacing: -.02em; line-height: 1.14; }
.hero h1 span { color: #ffd27d; }
.hero-lead { max-width: 720px; font-size: 1.16rem; line-height: 1.8; color: #e0f0e7; }
.hero-brand-card { position: relative; background: rgba(255,255,255,.96); border-radius: 24px; padding: 1.4rem; box-shadow: 0 30px 80px rgba(7,38,22,.25); }
.hero-brand-card img { display: block; width: 100%; max-height: 410px; object-fit: contain; border-radius: 16px; }
.hero-brand-caption { border-top: 1px solid var(--nib-line); margin-top: 1rem; padding-top: 1rem; display: flex; flex-direction: column; color: var(--nib-muted); gap: .25rem; }
.hero-brand-caption strong { color: var(--nib-dark); }

.section { padding: 88px 0; }
.section-soft { background: var(--nib-bg); }
.section-title { color: var(--nib-dark); font-size: clamp(2.15rem, 4vw, 3.8rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 800; }
html[dir="rtl"] .section-title { letter-spacing: -.01em; line-height: 1.25; }
.lead-muted { font-size: 1.08rem; line-height: 1.85; color: var(--nib-muted); }
.text-link { color: var(--nib-green); font-weight: 800; text-decoration: none; }
.text-link:hover { color: var(--nib-green-dark); }
.arrow-icon { transition: transform .2s ease; }
html[dir="rtl"] .arrow-icon { transform: rotate(180deg); }

.solution-card { display: block; height: 100%; padding: 2rem; border: 1px solid var(--nib-line); background: #fff; border-radius: 18px; text-decoration: none; color: var(--nib-dark); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.solution-card > i { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: var(--nib-green-soft); color: var(--nib-green); font-size: 1.6rem; }
.solution-card h3 { font-size: 1.28rem; margin: 1.3rem 0 .65rem; font-weight: 750; }
.solution-card p { color: var(--nib-muted); line-height: 1.7; }
.solution-card span { color: var(--nib-green); font-size: .9rem; font-weight: 800; }
.solution-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(23,35,29,.10); border-color: rgba(0,152,70,.35); }

.dark-section { background: var(--nib-dark); color: #fff; }
.dark-section .section-title { color: #fff; }
.feature { padding: .5rem 0; }
.feature > i { color: var(--nib-gold); font-size: 1.75rem; }
.feature h4 { margin-top: .85rem; color: #fff; font-weight: 750; }
.feature p { margin-bottom: 0; color: #bdc9c2; line-height: 1.75; }
.cta-section { background: linear-gradient(180deg, #fff8ea, #fff); }
.cta-copy { max-width: 700px; }

.page-hero { padding: 92px 0; color: #fff; background: linear-gradient(120deg, #173426, #078544); position: relative; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; width: 380px; height: 380px; right: -100px; top: -180px; border: 2px solid rgba(242,165,43,.45); border-radius: 50%; }
html[dir="rtl"] .page-hero::after { right: auto; left: -100px; }
.page-hero.compact { padding: 72px 0; }
.page-hero h1 { position: relative; z-index: 1; font-size: clamp(2.7rem, 5vw, 4.9rem); font-weight: 800; letter-spacing: -.04em; max-width: 900px; }
html[dir="rtl"] .page-hero h1 { letter-spacing: -.01em; line-height: 1.25; }
.page-hero p { position: relative; z-index: 1; max-width: 760px; color: #ddede4; font-size: 1.12rem; line-height: 1.8; }

.info-panel, .content-card, .form-card { background: #fff; border: 1px solid var(--nib-line); border-radius: 20px; padding: 2rem; }
.info-panel { background: var(--nib-bg); }
.clean-list { margin: 1.4rem 0 0; padding: 0; list-style: none; }
.clean-list li { display: flex; gap: .75rem; align-items: flex-start; padding: .85rem 0; border-bottom: 1px solid var(--nib-line); }
.clean-list li:last-child { border-bottom: 0; }
.clean-list i { color: var(--nib-green); margin-top: .18rem; }
.content-card { height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.content-card:hover { transform: translateY(-4px); box-shadow: 0 14px 38px rgba(23,35,29,.08); }
.content-card h3 { color: var(--nib-dark); font-weight: 750; }
.content-card p { color: var(--nib-muted); line-height: 1.8; margin-bottom: 0; }
.icon-badge { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--nib-green-soft); color: var(--nib-green); font-size: 1.35rem; margin-bottom: 1rem; }

.contact-detail { display: flex; gap: 1rem; align-items: flex-start; margin-top: 1.5rem; }
.contact-detail i { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 13px; background: var(--nib-green-soft); color: var(--nib-green); }
.contact-detail div { display: flex; flex-direction: column; gap: .2rem; }
.contact-detail span { color: var(--nib-muted); }
.form-label { font-weight: 700; color: var(--nib-dark); }
.form-control, .form-select { border: 1px solid #cad7d0; border-radius: 10px; padding: .82rem .95rem; }
.form-control:focus, .form-select:focus { border-color: var(--nib-green); box-shadow: 0 0 0 .2rem rgba(0,152,70,.12); }
.text-danger { font-size: .86rem; }

.solution-detail-icon { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 18px; background: var(--nib-green-soft); color: var(--nib-green); font-size: 2rem; margin-bottom: 1.4rem; }
.detail-note { margin-top: 2rem; padding: 1rem 1.1rem; display: flex; gap: .75rem; border-radius: 12px; background: #fff7e8; color: #75531d; border: 1px solid #f3d69e; }
.detail-sidebar { top: 110px !important; }

.footer { background: #101d16; color: #b8c5bd; }
.footer-logo { max-width: 290px; width: 100%; height: 82px; object-fit: contain; object-position: left center; filter: drop-shadow(0 4px 12px rgba(0,0,0,.12)); }
html[dir="rtl"] .footer-logo { object-position: right center; }
.footer h6 { color: #fff; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
html[dir="rtl"] .footer h6 { letter-spacing: 0; text-transform: none; }
.footer a { display: block; width: fit-content; color: #b8c5bd; text-decoration: none; margin: .65rem 0; }
.footer a:hover { color: #ffd27d; }
.footer-copy { max-width: 520px; line-height: 1.75; }
.footer hr { border-color: #405047; margin: 2rem 0; }

html[dir="rtl"] .bi-arrow-up-right::before { transform: scaleX(-1); }
html[dir="rtl"] .ms-auto { margin-right: auto !important; margin-left: 0 !important; }
html[dir="rtl"] .ms-lg-2 { margin-left: 0 !important; }

@media (max-width: 991.98px) {
    .nib-navbar-logo { height: 58px; }
    .navbar-collapse { padding-top: 1rem; padding-bottom: .6rem; }
    .language-item { margin-top: .5rem; }
    .language-switch { width: 100%; }
    .btn-sm-mobile { width: 100%; margin-top: .35rem; }
    .min-vh-72 { min-height: auto; }
    .hero-brand-card { max-width: 550px; margin: 0 auto 2rem; }
    .section { padding: 70px 0; }
}

@media (max-width: 575.98px) {
    .nib-navbar-logo { height: 52px; max-width: 230px; }
    .section { padding: 56px 0; }
    .page-hero { padding: 68px 0; }
    .hero h1 { font-size: 3rem; }
    .hero-lead { font-size: 1.02rem; }
    .hero-brand-card { padding: .9rem; }
    .section-title { font-size: 2.25rem; }
    .form-card, .content-card, .info-panel, .solution-card { padding: 1.4rem; }
}


/* Detailed insurance solution pages */
.insurance-detail-title { max-width: 720px; }
.coverage-list { display: grid; gap: 1rem; margin-top: 2rem; }
.coverage-item { display: flex; gap: 1rem; padding: 1.35rem 1.4rem; border: 1px solid var(--nib-line); border-radius: 16px; background: #fff; box-shadow: 0 7px 22px rgba(23,35,29,.035); }
.coverage-check { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--nib-green-soft); color: var(--nib-green); font-size: 1.2rem; }
.coverage-item h3 { margin: .1rem 0 .45rem; font-size: 1.08rem; font-weight: 800; color: var(--nib-dark); }
.coverage-item p { margin: 0; color: var(--nib-muted); line-height: 1.75; }
.sidebar-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--nib-green-soft); color: var(--nib-green); font-size: 1.3rem; margin-bottom: 1rem; }
.sidebar-back-link { margin-top: 1.2rem; display: inline-flex; gap: .5rem; align-items: center; color: var(--nib-muted); font-weight: 700; text-decoration: none; }
.sidebar-back-link:hover { color: var(--nib-green); }
html[dir="rtl"] .sidebar-back-link i { transform: rotate(180deg); }
.contact-inline-link { color: var(--nib-green); text-decoration: none; font-weight: 750; }
.contact-inline-link:hover { color: var(--nib-green-dark); }
.footer-address { display: flex; gap: .5rem; align-items: flex-start; margin: .65rem 0; max-width: 330px; }
.footer-contact-link { display: flex !important; gap: .5rem; align-items: center; }
/* ================================
   Contact Map
   ================================ */

.contact-map {
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid var(--nib-border);
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}

    .contact-map iframe {
        display: block;
        width: 100%;
        min-height: 420px;
        border: 0;
    }
