:root{
    --ikfjo-navy:#0b2f57;
    --ikfjo-blue:#1676b7;
    --ikfjo-blue-2:#2399d4;
    --ikfjo-gold:#f2b705;
    --ikfjo-bg:#f5f8fc;
    --ikfjo-card:#ffffff;
    --ikfjo-text:#16243a;
    --ikfjo-muted:#637286;
    --ikfjo-line:#e3eaf2;
    --ikfjo-dark:#071d35;
    --ikfjo-shadow:0 22px 60px rgba(11,47,87,.10);
}

html{scroll-behavior:smooth}

body.ikfjo-site{
    margin:0;
    padding:0!important;
    background:var(--ikfjo-bg);
    color:var(--ikfjo-text);
    font-family:'Cairo',sans-serif!important;
    font-size:16px;
    line-height:1.8;
    overflow-x:hidden;
}

body.ikfjo-site *,
body.ikfjo-site *::before,
body.ikfjo-site *::after{
    box-sizing:border-box;
    font-family:'Cairo',sans-serif;
}

body.ikfjo-site a{
    color:inherit;
    text-decoration:none;
    transition:.2s ease;
}

body.ikfjo-site img{max-width:100%;height:auto}

.ikfjo-main{min-height:60vh}
.ikfjo-site .container{width:min(1180px,92%);max-width:none;padding-left:15px;padding-right:15px}

.ikfjo-header{
    position:sticky;
    top:0;
    z-index:1100;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(11,47,87,.08);
    box-shadow:0 8px 28px rgba(11,47,87,.05);
}

.ikfjo-topbar{background:var(--ikfjo-navy);color:#fff;font-size:12px}
.ikfjo-topbar-inner{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.ikfjo-topbar-copy{opacity:.9;font-weight:700;letter-spacing:.02em}
.ikfjo-topbar-actions{display:flex;align-items:center;gap:18px}
.ikfjo-topbar-actions>a{display:flex;align-items:center;gap:7px;color:#fff;opacity:.88}
.ikfjo-topbar-actions>a:hover{opacity:1}
.ikfjo-language-switch{display:flex;align-items:center;gap:5px}
.ikfjo-language-switch a{
    color:#fff;
    padding:2px 8px;
    border-radius:999px;
    opacity:.68;
}
.ikfjo-language-switch a.active,
.ikfjo-language-switch a:hover{background:rgba(255,255,255,.14);opacity:1}

.ikfjo-nav-shell{background:#fff}
.ikfjo-nav-inner{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}
.ikfjo-brand{
    display:flex;
    flex-direction:column;
    flex:0 0 auto;
    line-height:1.05;
}
.ikfjo-brand-mark{
    display:inline-block;
    color:var(--ikfjo-navy);
    font-size:29px;
    font-weight:900;
    letter-spacing:.05em;
}
.ikfjo-brand-mark::after{
    content:'';
    display:inline-block;
    width:9px;
    height:9px;
    margin-inline-start:4px;
    background:var(--ikfjo-gold);
    border-radius:50%;
    vertical-align:middle;
}
.ikfjo-brand-tagline{
    color:var(--ikfjo-muted);
    font-size:9px;
    font-weight:700;
    letter-spacing:.02em;
    margin-top:5px;
    white-space:nowrap;
}
.ikfjo-main-nav{
    display:flex;
    align-items:center;
    gap:22px;
    margin-inline-start:auto;
}
.ikfjo-main-nav ul{
    display:flex;
    align-items:center;
    gap:4px;
    list-style:none;
    margin:0;
    padding:0;
}
.ikfjo-main-nav li{margin:0;padding:0}
.ikfjo-main-nav ul a{
    display:block;
    padding:10px 11px;
    color:var(--ikfjo-text);
    font-size:13px;
    font-weight:700;
    border-radius:10px;
}
.ikfjo-main-nav ul a:hover,
.ikfjo-main-nav ul a.active{
    color:var(--ikfjo-blue);
    background:#eef7fc;
}
.ikfjo-nav-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 16px;
    border-radius:11px;
    background:var(--ikfjo-gold);
    color:var(--ikfjo-dark)!important;
    font-size:12px;
    font-weight:900;
    box-shadow:0 10px 24px rgba(242,183,5,.22);
}
.ikfjo-nav-cta:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(242,183,5,.28)}
.ikfjo-menu-toggle{
    display:none;
    width:44px;
    height:42px;
    border:0;
    background:#eef5fb;
    border-radius:10px;
    padding:10px;
}
.ikfjo-menu-toggle span{
    display:block;
    height:2px;
    margin:4px 0;
    background:var(--ikfjo-navy);
    border-radius:2px;
}

.ikfjo-hero{
    position:relative;
    overflow:hidden;
    padding:88px 0 72px;
    background:
        radial-gradient(circle at 15% 20%, rgba(35,153,212,.12), transparent 32%),
        radial-gradient(circle at 85% 25%, rgba(242,183,5,.14), transparent 30%),
        linear-gradient(180deg,#fff 0%,#f6f9fd 100%);
}
.ikfjo-hero::after{
    content:'';
    position:absolute;
    inset:auto -80px -170px auto;
    width:420px;
    height:420px;
    border:1px solid rgba(22,118,183,.08);
    border-radius:50%;
}
.ikfjo-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
    align-items:center;
    gap:70px;
}
.ikfjo-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--ikfjo-blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ikfjo-eyebrow::before{
    content:'';
    width:28px;
    height:3px;
    background:var(--ikfjo-gold);
    border-radius:5px;
}
.ikfjo-hero h1{
    margin:18px 0 22px;
    max-width:790px;
    color:var(--ikfjo-navy);
    font-size:clamp(38px,5.2vw,66px);
    line-height:1.22;
    font-weight:900;
    letter-spacing:-.035em;
}
.ikfjo-hero-copy>p{
    margin:0;
    max-width:720px;
    color:var(--ikfjo-muted);
    font-size:18px;
    line-height:1.95;
}
.ikfjo-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ikfjo-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:10px 24px;
    border-radius:13px;
    font-weight:800;
    border:1px solid transparent;
}
.ikfjo-btn-primary{
    background:var(--ikfjo-blue);
    color:#fff!important;
    box-shadow:0 14px 30px rgba(22,118,183,.22);
}
.ikfjo-btn-primary:hover{background:var(--ikfjo-navy);transform:translateY(-2px)}
.ikfjo-btn-secondary{background:#fff;color:var(--ikfjo-navy)!important;border-color:var(--ikfjo-line)}
.ikfjo-btn-secondary:hover{border-color:var(--ikfjo-blue);color:var(--ikfjo-blue)!important}
.ikfjo-btn-light{background:#fff;color:var(--ikfjo-navy)!important}
.ikfjo-btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.ikfjo-hero-points{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:28px;color:#53647b;font-size:12px;font-weight:700}
.ikfjo-hero-points i{color:#19a67a;margin-inline-end:5px}

.ikfjo-hero-visual{
    position:relative;
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ikfjo-visual-orbit{
    position:absolute;
    width:370px;
    height:370px;
    border:1px dashed rgba(22,118,183,.25);
    border-radius:50%;
}
.ikfjo-visual-orbit::before,
.ikfjo-visual-orbit::after{
    content:'';
    position:absolute;
    border-radius:50%;
    background:var(--ikfjo-gold);
}
.ikfjo-visual-orbit::before{width:14px;height:14px;top:38px;right:55px}
.ikfjo-visual-orbit::after{width:9px;height:9px;bottom:55px;left:52px;background:var(--ikfjo-blue-2)}
.ikfjo-visual-card{
    position:absolute;
    z-index:2;
    background:#fff;
    border:1px solid rgba(11,47,87,.08);
    box-shadow:var(--ikfjo-shadow);
}
.ikfjo-visual-card-main{
    width:min(390px,90%);
    min-height:180px;
    padding:30px;
    display:flex;
    align-items:center;
    gap:20px;
    border-radius:26px;
}
.ikfjo-profile-icon{
    flex:0 0 84px;
    width:84px;
    height:84px;
    display:grid;
    place-items:center;
    border-radius:22px;
    background:linear-gradient(145deg,var(--ikfjo-navy),var(--ikfjo-blue));
    color:#fff;
    font-size:36px;
}
.ikfjo-visual-card-main strong{display:block;color:var(--ikfjo-navy);font-size:20px;font-weight:900}
.ikfjo-visual-card-main span{display:block;color:var(--ikfjo-muted);font-size:13px;margin-top:6px}
.ikfjo-visual-card-qr,
.ikfjo-visual-card-ats{
    width:132px;
    height:112px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:20px;
    font-weight:800;
    font-size:12px;
}
.ikfjo-visual-card-qr{top:32px;inset-inline-end:-5px}
.ikfjo-visual-card-ats{bottom:26px;inset-inline-start:5px}
.ikfjo-visual-card-qr i{font-size:38px;color:var(--ikfjo-navy)}
.ikfjo-visual-card-ats i{font-size:34px;color:#19a67a}

.ikfjo-trust-strip{
    position:relative;
    z-index:4;
    margin-top:-24px;
}
.ikfjo-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:20px;
    box-shadow:0 16px 45px rgba(11,47,87,.08);
    overflow:hidden;
}
.ikfjo-trust-grid>div{
    min-height:105px;
    padding:20px 24px;
    display:flex;
    align-items:center;
    gap:13px;
    border-inline-end:1px solid var(--ikfjo-line);
}
.ikfjo-trust-grid>div:last-child{border-inline-end:0}
.ikfjo-trust-grid strong{color:var(--ikfjo-blue);font-size:25px;font-weight:900;line-height:1}
.ikfjo-trust-grid span{color:var(--ikfjo-muted);font-size:11px;font-weight:700;line-height:1.6}

.ikfjo-section{padding:86px 0}
.ikfjo-section-heading{max-width:780px;margin:0 auto 42px;text-align:center}
.ikfjo-section-heading .ikfjo-eyebrow{justify-content:center}
.ikfjo-section-heading h2,
.ikfjo-pool-content h2,
.ikfjo-mission-card h2,
.ikfjo-team-copy h2,
.ikfjo-final-cta h2{
    margin:13px 0 14px;
    color:var(--ikfjo-navy);
    font-size:clamp(30px,4vw,44px);
    line-height:1.35;
    font-weight:900;
}
.ikfjo-section-heading p{margin:0;color:var(--ikfjo-muted);font-size:15px;line-height:1.9}

.ikfjo-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ikfjo-service-card{
    position:relative;
    min-height:300px;
    padding:28px 25px;
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:20px;
    overflow:hidden;
    transition:.22s ease;
}
.ikfjo-service-card::after{
    content:'';
    position:absolute;
    inset:auto 0 0 0;
    height:4px;
    background:linear-gradient(90deg,var(--ikfjo-blue),var(--ikfjo-gold));
    transform:scaleX(0);
    transform-origin:center;
    transition:.22s ease;
}
.ikfjo-service-card:hover{transform:translateY(-7px);box-shadow:var(--ikfjo-shadow);border-color:transparent}
.ikfjo-service-card:hover::after{transform:scaleX(1)}
.ikfjo-service-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:15px;
    color:var(--ikfjo-blue);
    background:#eaf5fb;
    font-size:23px;
}
.ikfjo-service-card h3{margin:20px 0 11px;color:var(--ikfjo-navy);font-size:18px;font-weight:900;line-height:1.5}
.ikfjo-service-card p{margin:0;color:var(--ikfjo-muted);font-size:13px;line-height:1.9}

.ikfjo-pool-section{padding-top:20px}
.ikfjo-pool-card{
    position:relative;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:50px;
    min-height:430px;
    padding:55px 65px;
    background:linear-gradient(135deg,#071d35 0%,#0b3e70 60%,#126da6 100%);
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 30px 70px rgba(7,29,53,.18);
}
.ikfjo-pool-card::before{
    content:'';
    position:absolute;
    width:420px;
    height:420px;
    inset:-210px -120px auto auto;
    border-radius:50%;
    background:rgba(255,255,255,.06);
}
.ikfjo-pool-content{position:relative;z-index:2}
.ikfjo-pool-content .ikfjo-eyebrow{color:#8bd8ff}
.ikfjo-pool-content h2{color:#fff!important}
.ikfjo-pool-content p{max-width:620px;color:#d4e7f7;font-size:15px;line-height:1.95;margin:0 0 28px}
.ikfjo-pool-demo{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.ikfjo-demo-profile{
    width:min(430px,100%);
    min-height:235px;
    padding:30px;
    display:grid;
    grid-template-columns:82px 1fr 76px;
    align-items:center;
    gap:22px;
    background:#fff;
    border-radius:25px;
    box-shadow:0 26px 60px rgba(0,0,0,.2);
    transform:rotate(-2deg);
}
[dir="rtl"] .ikfjo-demo-profile{transform:rotate(2deg)}
.ikfjo-demo-avatar{
    width:82px;height:82px;display:grid;place-items:center;border-radius:22px;
    background:#e7f3fa;color:var(--ikfjo-blue);font-size:34px
}
.ikfjo-demo-lines{display:flex;flex-direction:column;gap:12px}
.ikfjo-demo-lines span{display:block;height:10px;border-radius:10px;background:#e7edf4}
.ikfjo-demo-lines span:nth-child(1){width:85%;background:#bddced}
.ikfjo-demo-lines span:nth-child(2){width:100%}
.ikfjo-demo-lines span:nth-child(3){width:68%}
.ikfjo-demo-qr{font-size:55px;color:var(--ikfjo-navy);text-align:center}

.ikfjo-mission-section{background:#fff}
.ikfjo-mission-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}
.ikfjo-mission-card{padding:45px;background:var(--ikfjo-bg);border:1px solid var(--ikfjo-line);border-radius:25px}
.ikfjo-mission-card p{color:var(--ikfjo-muted);font-size:16px;line-height:2}
.ikfjo-text-link{display:inline-flex;align-items:center;gap:9px;margin-top:12px;color:var(--ikfjo-blue)!important;font-weight:900}
.ikfjo-values{display:grid;gap:15px}
.ikfjo-values>div{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:17px;
    row-gap:4px;
    align-items:start;
    padding:22px 24px;
    border:1px solid var(--ikfjo-line);
    border-radius:18px;
}
.ikfjo-values>div>.ikfjo-icon{
    grid-column:1;
    grid-row:1 / span 2;
    width:58px;
    height:58px;
    padding:16px;
    border-radius:16px;
    background:#edf7fc;
    color:var(--ikfjo-blue);
}
.ikfjo-values h3{
    grid-column:2;
    grid-row:1;
    min-width:0;
    width:100%;
    margin:1px 0 4px!important;
    color:var(--ikfjo-navy)!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.55!important;
}
.ikfjo-values p{
    grid-column:2;
    grid-row:2;
    min-width:0;
    width:100%;
    margin:0!important;
    color:var(--ikfjo-muted);
    font-size:12px;
    line-height:1.8!important;
}
.ikfjo-mission-card h2{
    color:var(--ikfjo-navy)!important;
    font-weight:900!important;
}

.ikfjo-team-card{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:48px;
    align-items:center;
    max-width:1000px;
    margin:auto;
    padding:38px;
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:28px;
    box-shadow:var(--ikfjo-shadow);
}
.ikfjo-team-photo-placeholder{
    min-height:310px;
    display:grid;
    place-items:center;
    border-radius:22px;
    background:
        radial-gradient(circle at 30% 20%,rgba(242,183,5,.35),transparent 28%),
        linear-gradient(145deg,var(--ikfjo-navy),var(--ikfjo-blue));
    color:#fff;
    font-size:88px;
}
.ikfjo-team-copy h2{margin-bottom:6px}
.ikfjo-team-copy>strong{display:block;color:var(--ikfjo-blue);font-size:14px;line-height:1.7;margin-bottom:16px}
.ikfjo-team-copy p{margin:0;color:var(--ikfjo-muted);font-size:14px;line-height:2}

.ikfjo-final-cta{padding-top:15px;padding-bottom:90px}
.ikfjo-final-cta-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:42px 48px;
    border-radius:26px;
    background:linear-gradient(105deg,var(--ikfjo-blue),var(--ikfjo-navy));
    box-shadow:0 25px 60px rgba(11,47,87,.18);
}
.ikfjo-final-cta h2{color:#fff!important;font-size:30px;margin:0 0 8px}
.ikfjo-final-cta p{margin:0;color:#d9ecfa;font-size:13px}

.ikfjo-footer{
    background:var(--ikfjo-dark);
    color:#fff;
    padding:65px 0 0;
}
.ikfjo-footer-grid{
    display:grid;
    grid-template-columns:1.35fr .8fr .85fr;
    gap:60px;
    padding-bottom:48px;
}
.ikfjo-brand-footer .ikfjo-brand-mark{color:#fff}
.ikfjo-brand-footer .ikfjo-brand-tagline{color:#9cb4ca}
.ikfjo-footer-brand p{max-width:510px;margin:22px 0 0;color:#a9bdce;font-size:13px;line-height:2}
.ikfjo-footer h3{margin:0 0 19px;color:#fff!important;font-size:15px;font-weight:900!important}
.ikfjo-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ikfjo-footer li a,
.ikfjo-footer-contact>a{color:#a9bdce;font-size:12px}
.ikfjo-footer li a:hover,
.ikfjo-footer-contact>a:hover{color:#fff}
.ikfjo-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ikfjo-footer-contact>a{display:flex;align-items:center;gap:9px}
.ikfjo-socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.ikfjo-socials a{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    color:#fff!important;
    transition:.2s ease;
}
.ikfjo-socials a .ikfjo-icon{width:19px;height:19px}
.ikfjo-socials a:hover{
    transform:translateY(-2px);
    background:var(--ikfjo-blue);
    border-color:rgba(255,255,255,.18);
    box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.ikfjo-social-letter{font-size:13px;font-weight:900;line-height:1}
.ikfjo-footer-bottom{
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#7f99b0;
    font-size:11px;
}
.ikfjo-footer-bottom a{color:#fff;font-weight:800}

.ikfjo-cookie-notice{background:#fff8dd;border-bottom:1px solid #f1dc92;padding:8px 0}
.ikfjo-cookie-notice .container{display:flex;align-items:center;justify-content:space-between;gap:20px}

/* Existing generic CMS pages */
body.ikfjo-site #page{background:var(--ikfjo-bg)}
body.ikfjo-site #page *{line-height:1.8!important}
body.ikfjo-site #page #content{padding:50px 0!important}
body.ikfjo-site #page #content>.container,
body.ikfjo-site #content>.container{
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:22px;
    padding:32px;
}
body.ikfjo-site .page-header,
body.ikfjo-site #pageHeader{
    margin:0!important;
    padding:34px 0!important;
    background:linear-gradient(135deg,var(--ikfjo-navy),var(--ikfjo-blue))!important;
    color:#fff!important;
    border:0!important;
}
body.ikfjo-site .page-header h1,
body.ikfjo-site #pageHeader h1,
body.ikfjo-site #pageHeader h2{color:#fff!important}
body.ikfjo-site .breadcrumb{background:transparent!important;margin:0!important}
body.ikfjo-site .breadcrumb a,
body.ikfjo-site .breadcrumb span{color:#fff!important}
body.ikfjo-site .btn-primary{background:var(--ikfjo-blue);border-color:var(--ikfjo-blue)}
body.ikfjo-site .form-control{border-radius:10px;border-color:var(--ikfjo-line);box-shadow:none;min-height:44px}
body.ikfjo-site textarea.form-control{min-height:120px}

@media(max-width:1050px){
    .ikfjo-main-nav{gap:10px}
    .ikfjo-main-nav ul a{padding:9px 7px;font-size:12px}
    .ikfjo-hero-grid{grid-template-columns:1fr 420px;gap:30px}
    .ikfjo-services-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:860px){
    .ikfjo-topbar-copy{display:none}
    .ikfjo-topbar-inner{justify-content:flex-end}
    .ikfjo-topbar-actions>a span{display:none}
    .ikfjo-nav-inner{min-height:72px}
    .ikfjo-menu-toggle{display:block}
    .ikfjo-main-nav{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:14px;
        padding:18px 4%;
        background:#fff;
        border-top:1px solid var(--ikfjo-line);
        box-shadow:0 18px 30px rgba(11,47,87,.12);
    }
    .ikfjo-nav-open .ikfjo-main-nav{display:flex}
    .ikfjo-main-nav ul{flex-direction:column;align-items:stretch;gap:2px}
    .ikfjo-main-nav ul a{padding:11px 12px;font-size:13px}
    .ikfjo-nav-cta{width:100%}
    .ikfjo-hero{padding-top:58px}
    .ikfjo-hero-grid{grid-template-columns:1fr;gap:28px}
    .ikfjo-hero-copy{text-align:center}
    .ikfjo-hero-copy .ikfjo-eyebrow{justify-content:center}
    .ikfjo-hero-copy>p{margin-inline:auto}
    .ikfjo-hero-actions,.ikfjo-hero-points{justify-content:center}
    .ikfjo-hero-visual{min-height:350px}
    .ikfjo-trust-grid{grid-template-columns:1fr 1fr}
    .ikfjo-trust-grid>div:nth-child(2){border-inline-end:0}
    .ikfjo-trust-grid>div:nth-child(-n+2){border-bottom:1px solid var(--ikfjo-line)}
    .ikfjo-pool-card,.ikfjo-mission-grid{grid-template-columns:1fr}
    .ikfjo-pool-card{padding:45px}
    .ikfjo-team-card{grid-template-columns:220px 1fr}
    .ikfjo-team-photo-placeholder{min-height:260px}
    .ikfjo-footer-grid{grid-template-columns:1fr 1fr}
    .ikfjo-footer-brand{grid-column:1/-1}
}

@media(max-width:600px){
    .ikfjo-site .container{width:min(94%,560px)}
    .ikfjo-brand-mark{font-size:25px}
    .ikfjo-brand-tagline{font-size:7px}
    .ikfjo-topbar-actions{width:100%;justify-content:space-between}
    .ikfjo-language-switch a{font-size:10px;padding:2px 6px}
    .ikfjo-hero{padding:46px 0 58px}
    .ikfjo-hero h1{font-size:36px}
    .ikfjo-hero-copy>p{font-size:15px}
    .ikfjo-hero-actions{display:grid;grid-template-columns:1fr;width:100%}
    .ikfjo-btn{width:100%}
    .ikfjo-hero-points{display:grid;gap:8px;text-align:start}
    .ikfjo-hero-visual{min-height:300px}
    .ikfjo-visual-orbit{width:270px;height:270px}
    .ikfjo-visual-card-main{min-height:145px;padding:22px}
    .ikfjo-profile-icon{width:65px;height:65px;flex-basis:65px;font-size:27px}
    .ikfjo-visual-card-main strong{font-size:15px}
    .ikfjo-visual-card-qr,.ikfjo-visual-card-ats{width:105px;height:90px}
    .ikfjo-visual-card-qr{inset-inline-end:0}
    .ikfjo-visual-card-ats{inset-inline-start:0}
    .ikfjo-trust-grid{grid-template-columns:1fr}
    .ikfjo-trust-grid>div{border-inline-end:0!important;border-bottom:1px solid var(--ikfjo-line)}
    .ikfjo-trust-grid>div:last-child{border-bottom:0}
    .ikfjo-section{padding:62px 0}
    .ikfjo-services-grid{grid-template-columns:1fr}
    .ikfjo-service-card{min-height:0}
    .ikfjo-pool-card{padding:32px 22px;border-radius:23px}
    .ikfjo-demo-profile{grid-template-columns:65px 1fr 55px;padding:20px;gap:14px}
    .ikfjo-demo-avatar{width:65px;height:65px}
    .ikfjo-demo-qr{font-size:42px}
    .ikfjo-mission-card{padding:28px}
    .ikfjo-values>div{grid-template-columns:50px 1fr;padding:18px}
    .ikfjo-values i{width:50px;height:50px}
    .ikfjo-team-card{grid-template-columns:1fr;padding:24px}
    .ikfjo-team-photo-placeholder{min-height:220px}
    .ikfjo-final-cta-card{flex-direction:column;align-items:stretch;padding:30px 24px;text-align:center}
    .ikfjo-footer-grid{grid-template-columns:1fr;gap:35px}
    .ikfjo-footer-brand{grid-column:auto}
    .ikfjo-footer-bottom{flex-direction:column;justify-content:center;text-align:center;padding:18px 0}
    body.ikfjo-site #page #content>.container,
    body.ikfjo-site #content>.container{padding:20px;border-radius:16px}
}


/* Preserve Font Awesome icon fonts when Cairo is applied globally. */
body.ikfjo-site .fa,
body.ikfjo-site .fas{
    font-family:"Font Awesome 5 Free" !important;
    font-weight:900 !important;
}
body.ikfjo-site .far{
    font-family:"Font Awesome 5 Free" !important;
    font-weight:400 !important;
}
body.ikfjo-site .fab{
    font-family:"Font Awesome 5 Brands" !important;
    font-weight:400 !important;
}


.ikfjo-icon{
    width:1em;
    height:1em;
    display:inline-block;
    flex:0 0 auto;
    vertical-align:-0.12em;
}
.ikfjo-profile-icon .ikfjo-icon{width:38px;height:38px}
.ikfjo-visual-card-qr .ikfjo-icon{width:40px;height:40px}
.ikfjo-visual-card-ats .ikfjo-icon{width:36px;height:36px}
.ikfjo-service-icon .ikfjo-icon{width:25px;height:25px}
.ikfjo-demo-avatar .ikfjo-icon{width:34px;height:34px}
.ikfjo-demo-qr .ikfjo-icon{width:58px;height:58px}
.ikfjo-values .ikfjo-icon{width:25px;height:25px}
.ikfjo-team-photo-placeholder .ikfjo-icon{width:88px;height:88px}
.ikfjo-topbar-actions .ikfjo-icon,
.ikfjo-footer-contact .ikfjo-icon,
.ikfjo-hero-points .ikfjo-icon,
.ikfjo-text-link .ikfjo-icon{width:16px;height:16px}


.ikfjo-contact-map{
    width:100%;
    max-width:1180px;
    margin:38px auto 24px;
    border-radius:22px;
    overflow:hidden;
    border:1px solid var(--ikfjo-line);
    background:#fff;
    box-shadow:0 18px 45px rgba(11,47,87,.08);
}
.ikfjo-contact-map iframe{
    display:block;
    width:100%;
    height:420px;
    border:0;
}
@media(max-width:700px){
    .ikfjo-contact-map{
        width:94%;
        margin-top:24px;
        border-radius:16px;
    }
    .ikfjo-contact-map iframe{height:320px}
}


body.ikfjo-site .input-group-addon{
    min-width:52px;
    background:#f3f6f9;
    border-color:var(--ikfjo-line);
    color:var(--ikfjo-navy);
}
body.ikfjo-site .input-group-addon .ikfjo-icon{
    width:20px;
    height:20px;
    display:block;
    margin:auto;
}
body.ikfjo-site button .ikfjo-icon{
    width:16px;
    height:16px;
    margin-inline-end:6px;
    vertical-align:-2px;
}


/* Reliable breadcrumb separators without icon-font dependency. */
body.ikfjo-site .breadcrumb a::before{
    content:none!important;
}
body.ikfjo-site .breadcrumb a::after{
    content:"›"!important;
    font-family:'Cairo',sans-serif!important;
    font-weight:700!important;
    padding:0 7px!important;
    color:rgba(255,255,255,.72)!important;
}
body.ikfjo-site[dir="rtl"] .breadcrumb a::before,
html[dir="rtl"] body.ikfjo-site .breadcrumb a::before{
    content:"‹"!important;
    font-family:'Cairo',sans-serif!important;
    font-weight:700!important;
    padding:0 7px!important;
    color:rgba(255,255,255,.72)!important;
}
body.ikfjo-site[dir="rtl"] .breadcrumb a::after,
html[dir="rtl"] body.ikfjo-site .breadcrumb a::after{
    content:none!important;
    padding:0!important;
}


/* IKFJO breadcrumb: explicit layout avoids bidi/pseudo-element issues. */
body.ikfjo-site .ikfjo-breadcrumb{
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    white-space:nowrap;
}
html[dir="rtl"] body.ikfjo-site .ikfjo-breadcrumb{
    direction:rtl;
    text-align:right!important;
}
html[dir="ltr"] body.ikfjo-site .ikfjo-breadcrumb{
    direction:ltr;
    text-align:left!important;
}
body.ikfjo-site .ikfjo-breadcrumb a,
body.ikfjo-site .ikfjo-breadcrumb span{
    float:none!important;
    display:inline-flex;
    align-items:center;
    color:#fff!important;
}
body.ikfjo-site .ikfjo-breadcrumb a::before,
body.ikfjo-site .ikfjo-breadcrumb a::after{
    content:none!important;
}
body.ikfjo-site .ikfjo-breadcrumb-separator{
    opacity:.72;
}
body.ikfjo-site .ikfjo-breadcrumb-separator .ikfjo-icon{
    width:14px;
    height:14px;
}
body.ikfjo-site .ikfjo-breadcrumb-current{
    font-weight:700;
}


/* Services / pricing page */
.ikfjo-services-page-content{
    padding:72px 0 92px;
    background:var(--ikfjo-bg);
}
.ikfjo-services-page-heading{
    margin-bottom:38px;
}
.ikfjo-pricing-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}
.ikfjo-pricing-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:430px;
    padding:30px 26px 26px;
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:22px;
    box-shadow:0 14px 40px rgba(11,47,87,.06);
    overflow:hidden;
    transition:.22s ease;
}
.ikfjo-pricing-card:hover{
    transform:translateY(-6px);
    border-color:rgba(22,118,183,.25);
    box-shadow:var(--ikfjo-shadow);
}
.ikfjo-pricing-card-featured{
    border:2px solid var(--ikfjo-gold);
    box-shadow:0 18px 46px rgba(242,183,5,.14);
}
.ikfjo-pricing-badge{
    position:absolute;
    top:16px;
    inset-inline-end:16px;
    padding:5px 10px;
    border-radius:999px;
    background:#fff3bf;
    color:#7a5800;
    font-size:10px;
    font-weight:900;
}
.ikfjo-pricing-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:#edf7fc;
    color:var(--ikfjo-blue);
}
.ikfjo-pricing-card-featured .ikfjo-pricing-icon{
    background:#fff7d7;
    color:#9b7100;
}
.ikfjo-pricing-icon .ikfjo-icon{
    width:27px;
    height:27px;
}
.ikfjo-pricing-card h3{
    margin:22px 0 14px!important;
    color:var(--ikfjo-navy)!important;
    font-size:19px!important;
    font-weight:900!important;
    line-height:1.55!important;
}
.ikfjo-price{
    display:flex;
    align-items:flex-end;
    gap:7px;
    margin-bottom:20px;
}
.ikfjo-price strong{
    color:var(--ikfjo-blue);
    font-size:36px;
    font-weight:900;
    line-height:1;
}
.ikfjo-price span{
    color:var(--ikfjo-muted);
    font-size:13px;
    font-weight:800;
    padding-bottom:3px;
}
.ikfjo-pricing-description{
    color:var(--ikfjo-muted);
    font-size:13px;
    line-height:1.9;
    margin-bottom:24px;
}
.ikfjo-pricing-description p{
    margin:0 0 9px;
}
.ikfjo-pricing-description ul{
    margin:0;
    padding-inline-start:18px;
}
.ikfjo-service-order{
    margin-top:auto;
    width:100%;
}
@media(max-width:1050px){
    .ikfjo-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .ikfjo-services-page-content{padding:52px 0 70px}
    .ikfjo-pricing-grid{grid-template-columns:1fr}
    .ikfjo-pricing-card{min-height:0}
}


/* Candidate Pool */
.ikfjo-candidate-pool-content{
    padding:72px 0 92px;
    background:var(--ikfjo-bg);
}
.ikfjo-candidate-heading{margin-bottom:34px}
.ikfjo-candidate-filters{
    display:grid;
    grid-template-columns:minmax(260px,1.5fr) minmax(180px,.8fr) minmax(160px,.7fr) auto;
    gap:12px;
    align-items:center;
    padding:18px;
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:20px;
    box-shadow:0 12px 36px rgba(11,47,87,.06);
}
.ikfjo-filter-field{
    position:relative;
    min-width:0;
}
.ikfjo-filter-search>.ikfjo-icon{
    position:absolute;
    top:50%;
    inset-inline-start:15px;
    width:18px;
    height:18px;
    transform:translateY(-50%);
    color:#8aa0b6;
    pointer-events:none;
}
.ikfjo-filter-field input,
.ikfjo-filter-field select{
    width:100%;
    min-height:48px;
    padding:10px 14px;
    border:1px solid var(--ikfjo-line);
    border-radius:12px;
    background:#f9fbfd;
    color:var(--ikfjo-text);
    outline:none;
    box-shadow:none;
}
.ikfjo-filter-search input{padding-inline-start:44px}
.ikfjo-filter-field input:focus,
.ikfjo-filter-field select:focus{
    background:#fff;
    border-color:rgba(22,118,183,.45);
    box-shadow:0 0 0 3px rgba(22,118,183,.08);
}
.ikfjo-filter-submit{
    min-height:48px;
    gap:7px;
}
.ikfjo-filter-submit .ikfjo-icon{width:17px;height:17px}
.ikfjo-filter-reset{
    grid-column:1/-1;
    justify-self:end;
    color:var(--ikfjo-blue)!important;
    font-size:12px;
    font-weight:800;
}
.ikfjo-candidate-results-bar{
    display:flex;
    align-items:center;
    gap:8px;
    margin:28px 0 18px;
    color:var(--ikfjo-muted);
    font-size:13px;
}
.ikfjo-candidate-results-bar strong{
    min-width:34px;
    height:34px;
    display:inline-grid;
    place-items:center;
    border-radius:10px;
    background:#eaf5fb;
    color:var(--ikfjo-blue);
    font-size:14px;
    font-weight:900;
}
.ikfjo-candidate-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.ikfjo-candidate-card{
    min-width:0;
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 12px 34px rgba(11,47,87,.06);
    transition:.22s ease;
}
.ikfjo-candidate-card:hover{
    transform:translateY(-6px);
    border-color:rgba(22,118,183,.22);
    box-shadow:var(--ikfjo-shadow);
}
.ikfjo-candidate-photo{
    position:relative;
    height:245px;
    background:linear-gradient(145deg,#edf7fc,#f6f9fd);
    overflow:hidden;
}
.ikfjo-candidate-photo>img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.ikfjo-candidate-photo-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:var(--ikfjo-blue);
    background:
        radial-gradient(circle at 25% 20%,rgba(242,183,5,.18),transparent 25%),
        linear-gradient(145deg,#edf7fc,#f8fbfe);
}
.ikfjo-candidate-photo-placeholder .ikfjo-icon{width:82px;height:82px;opacity:.58}
.ikfjo-candidate-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:27px;
    padding:4px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
}
.ikfjo-candidate-photo>.ikfjo-candidate-status{
    position:absolute;
    bottom:14px;
    inset-inline-start:14px;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.ikfjo-status-available{
    background:#dff8ed;
    color:#137153;
}
.ikfjo-status-open{
    background:#e7f3ff;
    color:#17669a;
}
.ikfjo-status-unavailable{
    background:#eef1f4;
    color:#67717c;
}
.ikfjo-candidate-card-body{padding:24px}
.ikfjo-candidate-badges{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:12px;
}
.ikfjo-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:26px;
    padding:4px 9px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
}
.ikfjo-badge .ikfjo-icon{width:13px;height:13px}
.ikfjo-badge-verified{
    background:#e7f6ff;
    color:#126ea6;
}
.ikfjo-badge-full{
    background:#fff4c8;
    color:#866000;
}
.ikfjo-candidate-code{
    color:#8a9aac;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ikfjo-candidate-card h3{
    margin:7px 0 3px!important;
    color:var(--ikfjo-navy)!important;
    font-size:21px!important;
    font-weight:900!important;
    line-height:1.5!important;
}
.ikfjo-candidate-job{
    display:block;
    min-height:48px;
    color:var(--ikfjo-blue);
    font-size:13px;
    line-height:1.8;
}
.ikfjo-candidate-meta{
    display:grid;
    gap:8px;
    padding:16px 0;
    margin:14px 0;
    border-top:1px solid var(--ikfjo-line);
    border-bottom:1px solid var(--ikfjo-line);
}
.ikfjo-candidate-meta span,
.ikfjo-profile-meta span{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    color:var(--ikfjo-muted);
    font-size:11px;
    line-height:1.5;
}
.ikfjo-candidate-meta .ikfjo-icon,
.ikfjo-profile-meta .ikfjo-icon{
    width:15px;
    height:15px;
    color:var(--ikfjo-blue);
}
.ikfjo-candidate-rating{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 17px;
}
.ikfjo-stars{
    position:relative;
    display:inline-block;
    color:#d8dee6;
    font-size:15px;
    letter-spacing:1px;
    line-height:1;
}
.ikfjo-stars::before{
    content:"★★★★★";
    position:absolute;
    top:0;
    inset-inline-start:0;
    width:var(--rating,0%);
    overflow:hidden;
    color:var(--ikfjo-gold);
    white-space:nowrap;
}
.ikfjo-stars>span{visibility:hidden}
.ikfjo-candidate-rating strong{color:var(--ikfjo-navy);font-size:13px}
.ikfjo-candidate-rating small{color:#98a6b5;font-size:10px}
.ikfjo-candidate-view{width:100%}
.ikfjo-candidate-empty{
    padding:70px 25px;
    text-align:center;
    background:#fff;
    border:1px dashed #cbd8e5;
    border-radius:22px;
}
.ikfjo-candidate-empty>.ikfjo-icon{width:62px;height:62px;color:#9cb3c8}
.ikfjo-candidate-empty h3{margin:16px 0 7px;color:var(--ikfjo-navy);font-weight:900}
.ikfjo-candidate-empty p{margin:0;color:var(--ikfjo-muted)}

/* Candidate profile */
.ikfjo-candidate-profile-hero{
    padding:34px 0 48px;
    background:
        radial-gradient(circle at 15% 20%,rgba(35,153,212,.12),transparent 30%),
        linear-gradient(135deg,var(--ikfjo-dark),var(--ikfjo-navy));
    color:#fff;
}
.ikfjo-profile-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:30px;
    color:#cfe3f3;
    font-size:12px;
}
.ikfjo-profile-breadcrumb a{color:#fff!important;font-weight:800}
.ikfjo-profile-breadcrumb .ikfjo-icon{width:14px;height:14px;opacity:.7}
.ikfjo-profile-hero-grid{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:34px;
    align-items:center;
}
.ikfjo-profile-photo-wrap{min-width:0}
.ikfjo-profile-photo{
    width:220px;
    height:220px;
    display:block;
    object-fit:cover;
    border-radius:26px;
    border:4px solid rgba(255,255,255,.15);
    box-shadow:0 20px 50px rgba(0,0,0,.24);
}
.ikfjo-profile-photo-empty{
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#e8f4fb,#fff);
    color:var(--ikfjo-blue);
}
.ikfjo-profile-photo-empty .ikfjo-icon{width:86px;height:86px;opacity:.65}
.ikfjo-profile-summary .ikfjo-candidate-badges{margin-bottom:14px}
.ikfjo-profile-summary .ikfjo-candidate-code{color:#96b7d0}
.ikfjo-profile-summary h1{
    margin:8px 0 4px;
    color:#fff!important;
    font-size:42px;
    line-height:1.35;
    font-weight:900;
}
.ikfjo-profile-summary h2{
    margin:0 0 19px!important;
    color:#9fd8f5!important;
    font-size:19px!important;
    font-weight:700!important;
}
.ikfjo-profile-meta{
    display:flex;
    flex-wrap:wrap;
    gap:11px 24px;
}
.ikfjo-profile-meta span{color:#d3e3ef}
.ikfjo-profile-meta .ikfjo-icon{color:#81c8ed}
.ikfjo-profile-rating-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:22px;
}
.ikfjo-profile-rating-row .ikfjo-candidate-rating{margin:0}
.ikfjo-profile-rating-row .ikfjo-candidate-rating strong{color:#fff}
.ikfjo-profile-content{
    padding:54px 0 88px;
    background:var(--ikfjo-bg);
}
.ikfjo-profile-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:24px;
    align-items:start;
}
.ikfjo-profile-main{display:grid;gap:22px}
.ikfjo-profile-side{
    display:grid;
    gap:20px;
    position:sticky;
    top:140px;
}
.ikfjo-profile-card{
    padding:30px;
    background:#fff;
    border:1px solid var(--ikfjo-line);
    border-radius:22px;
    box-shadow:0 10px 30px rgba(11,47,87,.05);
}
.ikfjo-profile-card h2{
    margin:11px 0 17px!important;
    color:var(--ikfjo-navy)!important;
    font-size:26px!important;
    font-weight:900!important;
}
.ikfjo-profile-card h3{
    margin:10px 0 18px!important;
    color:var(--ikfjo-navy)!important;
    font-size:17px!important;
    font-weight:900!important;
}
.ikfjo-profile-richtext{
    color:var(--ikfjo-muted);
    font-size:14px;
    line-height:2;
}
.ikfjo-profile-richtext p:last-child{margin-bottom:0}
.ikfjo-skill-tags{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}
.ikfjo-skill-tags span{
    padding:7px 12px;
    border-radius:999px;
    background:#edf7fc;
    color:var(--ikfjo-blue);
    font-size:11px;
    font-weight:800;
}
.ikfjo-profile-qr-card{text-align:center}
.ikfjo-profile-qr-card .ikfjo-eyebrow{justify-content:center}
.ikfjo-profile-qr-card img{
    display:block;
    width:220px;
    height:220px;
    max-width:100%;
    margin:0 auto 12px;
    border-radius:14px;
    border:8px solid #fff;
}
.ikfjo-profile-qr-card small{
    color:#91a1b2;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.ikfjo-profile-actions{display:grid;gap:10px}
.ikfjo-profile-actions .ikfjo-btn{width:100%}
.ikfjo-profile-actions p{
    margin:8px 0 0;
    color:#7d8d9e;
    font-size:10px;
    line-height:1.8;
}

@media(max-width:1050px){
    .ikfjo-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ikfjo-candidate-filters{grid-template-columns:1fr 1fr}
    .ikfjo-filter-search{grid-column:1/-1}
    .ikfjo-filter-submit{width:100%}
}
@media(max-width:820px){
    .ikfjo-profile-hero-grid{grid-template-columns:170px 1fr}
    .ikfjo-profile-photo{width:170px;height:170px}
    .ikfjo-profile-summary h1{font-size:34px}
    .ikfjo-profile-layout{grid-template-columns:1fr}
    .ikfjo-profile-side{position:static;grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
    .ikfjo-candidate-pool-content{padding:52px 0 70px}
    .ikfjo-candidate-filters{grid-template-columns:1fr;padding:14px}
    .ikfjo-filter-search{grid-column:auto}
    .ikfjo-filter-reset{grid-column:auto;justify-self:center}
    .ikfjo-candidate-grid{grid-template-columns:1fr}
    .ikfjo-candidate-photo{height:280px}
    .ikfjo-profile-hero-grid{grid-template-columns:1fr;text-align:center}
    .ikfjo-profile-photo{width:165px;height:165px;margin:auto}
    .ikfjo-profile-summary .ikfjo-candidate-badges,
    .ikfjo-profile-meta,
    .ikfjo-profile-rating-row{justify-content:center}
    .ikfjo-profile-summary h1{font-size:31px}
    .ikfjo-profile-side{grid-template-columns:1fr}
    .ikfjo-profile-card{padding:24px}
}


/* Contact form feedback */
.ikfjo-form-alert{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:0 0 24px;
    padding:16px 18px;
    border-radius:14px;
    font-size:13px;
    font-weight:700;
    line-height:1.8;
}
.ikfjo-form-alert .ikfjo-icon{
    width:21px;
    height:21px;
    margin-top:2px;
    flex:0 0 auto;
}
.ikfjo-form-alert-success{
    background:#e8f8f0;
    border:1px solid #b9e8d2;
    color:#126b4d;
}
.ikfjo-form-alert-error{
    background:#fff0f0;
    border:1px solid #f0c7c7;
    color:#a23333;
}
body.ikfjo-site .field-notice{
    min-height:0;
    margin-top:6px;
    color:#b63333;
    font-size:11px;
    font-weight:700;
}
body.ikfjo-site .form-control.ikfjo-field-invalid{
    border-color:#d96262!important;
    background:#fffafa!important;
    box-shadow:0 0 0 3px rgba(217,98,98,.08)!important;
}
.ikfjo-privacy-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:var(--ikfjo-text);
    font-size:12px;
    line-height:1.8;
    cursor:pointer;
}
.ikfjo-privacy-check input{
    margin-top:5px;
    flex:0 0 auto;
}
.ikfjo-privacy-invalid{
    color:#a23333;
}


/* Article detail gallery */
.ikfjo-article-gallery{
    display:grid;
    gap:16px;
}
.ikfjo-article-image{
    margin:0;
    overflow:hidden;
    border-radius:16px;
    border:1px solid var(--ikfjo-line);
    background:#f8fafc;
}
.ikfjo-article-image img{
    display:block;
    width:100%;
    height:auto;
    max-height:620px;
    object-fit:contain;
    margin:0 auto;
}
@media(max-width:767px){
    .ikfjo-article-gallery{margin-top:20px}
}
