/* Controls inherit the reference defaults; Elementor's local font choices are retained. */
body.ka-brand-site .kap-site h1{font-size:clamp(var(--ka-heading-mobile),3.2vw,var(--ka-heading-size));font-weight:var(--ka-heading-weight)}
body.ka-brand-site .kap-project .kap-project-head h1{font-size:clamp(var(--ka-heading-mobile),3vw,var(--ka-project-heading-size))}
body.ka-brand-site .kap-site .kap-section-head h2{font-size:var(--ka-section-heading-size);font-weight:var(--ka-title-weight)}
body.ka-brand-site .kap-site .kap-card-copy h3{font-size:var(--ka-card-title-size);font-weight:var(--ka-title-weight);color:var(--ka-heading,var(--ka-primary))}
body.ka-brand-site .kap-site .kap-project-head h1{color:var(--ka-heading,var(--ka-primary))}
.kap-site .kap-card-copy h3 a{color:inherit}
.kap-site .kap-card-copy .kap-card-caption{margin:0 0 6px;color:var(--ka-body,#526176);font-size:12px;font-weight:400;line-height:1.8;overflow-wrap:anywhere}
.kap-site .kap-card-copy h3{overflow-wrap:anywhere}
body.ka-brand-site .kap-site .kap-hero p{font-size:var(--ka-body-size);font-weight:var(--ka-body-weight)}
body.ka-brand-site .kap-project .kap-brief{font-size:calc(var(--ka-body-size) - 1px);font-weight:var(--ka-body-weight)}
body.ka-brand-site .kap-site .kap-grid{grid-template-columns:repeat(var(--ka-columns-desktop),minmax(0,1fr))}
body.ka-brand-site .kap-project .kap-project-media,body.ka-brand-site .kap-project .kap-project-gallery{gap:var(--ka-gallery-gap)}
body.ka-brand-site .kap-site .kap-image-zoom,body.ka-brand-site .kap-site .kap-card-zoom{width:var(--ka-zoom-size);height:var(--ka-zoom-size);opacity:var(--ka-zoom-alpha)}
body.ka-brand-site .kap-site .kap-lightbox-link:hover .kap-image-zoom,body.ka-brand-site .kap-site .kap-lightbox-link:focus-visible .kap-image-zoom,body.ka-brand-site .kap-site .kap-card-media:hover .kap-card-zoom,body.ka-brand-site .kap-site .kap-card-media:focus-visible .kap-card-zoom{opacity:1}
body.ka-brand-site .kap-site .kap-card-hint:not(.kap-card-zoom){opacity:0;translate:0 4px}
body.ka-brand-site .kap-site .kap-card-media:hover .kap-card-hint:not(.kap-card-zoom),body.ka-brand-site .kap-site .kap-card-media:focus-visible .kap-card-hint:not(.kap-card-zoom){opacity:1;translate:0}
body.ka-brand-site .kap-site .kap-filter:hover{color:var(--ka-secondary)}
body.ka-brand-site .kap-site .kap-filter.is-active,body.ka-brand-site .kap-site .kap-filter.is-active:hover{background:var(--ka-primary);border-color:var(--ka-primary);color:#fff}
body.ka-brand-site .ka-role-drawer .ka-drawer-item .elementor-button,body.ka-brand-site .ka-role-drawer .elementor-widget-button>.elementor-widget-container>.elementor-button-wrapper>.elementor-button{font-size:var(--ka-drawer-size);line-height:1.9;padding-block:8px;white-space:normal}
body.ka-brand-site .ka-role-drawer .ka-balanced-drawer-links{--gap:var(--ka-drawer-gap);--row-gap:var(--ka-drawer-gap);--column-gap:var(--ka-drawer-gap)}
body.ka-brand-site .ka-role-drawer .ka-drawer-item{align-items:center;--align-items:center;--gap:12px}
body.ka-brand-site .ka-role-drawer .ka-drawer-submenu{padding-inline-start:10px;--gap:6px}
body.ka-brand-site .ka-role-drawer .kap-drawer-link{font-size:calc(var(--ka-drawer-size) - 2px);line-height:1.9;padding-block:12px}
body.ka-brand-site .kap-menu-badge{font-family:var(--ka-latin-font,Montserrat),sans-serif}
body.ka-brand-site .ka-skill h3,body.ka-brand-site .ka-skill-percent,body.ka-brand-site .ka-skill-icon{font-family:var(--ka-latin-font,Montserrat),Alexandria,sans-serif}
body.ka-brand-site .kap-native-dropdown{border-color:var(--ka-ice)}
body.ka-brand-site .kap-native-dropdown a{color:var(--ka-primary)!important}
body.ka-brand-site .kap-sticky-page .kap-sticky-header a[href="#ka-drawer-open"]{color:var(--ka-primary)!important}
body.ka-brand-site.ka-no-motion *,body.ka-brand-site.ka-no-motion *::before,body.ka-brand-site.ka-no-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.ka-brand-site.ka-no-motion .elementor-invisible{visibility:visible!important;opacity:1!important;transform:none!important}
body.ka-brand-site .ka-skill-percent{color:var(--ka-skills-percent-color,var(--ka-secondary))}
body.ka-brand-site .ka-skill-track{background:var(--ka-skills-track,var(--ka-ice))}
body.ka-brand-site .ka-skill-track span{background:linear-gradient(90deg,var(--ka-skills-bar-start,var(--ka-secondary)),var(--ka-skills-bar-end,var(--ka-accent)))}
body.ka-brand-site .ka-skill-compact{justify-content:center;min-height:152px}
body.ka-brand-site .ka-skill-compact .ka-skill-icon{margin-inline:auto}
body.ka-brand-site{font-family:var(--ka-arabic-font,Alexandria),sans-serif}
body.ka-brand-site .kap-site,
body.ka-brand-site .kap-site :is(h1,h2,h3,h4,.kap-contact-button),
body.ka-brand-site .ka-skills{font-family:var(--ka-arabic-font,Alexandria),sans-serif}
body.ka-brand-site .ka-featured-host,
body.ka-brand-site .ka-featured-widget{width:100%;min-width:0}
/* The shared .kap-card owns borders, spacing, radii and hover animation on
   both routes. Only the homepage's existing sizing controls are specialized. */
.kap-featured-root .ka-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ka-gap,22px);width:100%;margin:0}
.kap-featured-root .ka-featured-media{width:100%;height:var(--ka-featured-media-height,320px);aspect-ratio:auto}
.kap-featured-root .ka-featured-media .ka-featured-image{display:block;width:100%;max-width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;margin:0;border-radius:0}
.kap-featured-root .ka-featured-media.kap-video-stage{background:var(--ka-ice,#EEF5FF)}
.kap-featured-root .ka-featured-media.kap-video-no-cover .kap-video-name{display:none}
body.ka-brand-site .kap-site.kap-featured-root .ka-featured-copy h3,.kap-featured-root .ka-featured-copy h3{margin:0;color:var(--ka-heading,#0E244B);font-family:var(--ka-arabic-font,Alexandria),sans-serif;font-size:var(--ka-featured-title-size,20px);line-height:1.7;font-weight:var(--ka-title-weight,500)}
.kap-featured-root .ka-featured-copy h3 a{color:inherit;text-decoration:none}
.kap-site.kap-featured-root :is(a,button,summary):focus-visible{outline:3px solid var(--ka-secondary,#183E87);outline-offset:4px}
.kap-featured-root .kap-card-gallery{text-align:right}
.kap-featured-root .kap-resource-link{margin-inline:auto;max-width:100%;overflow-wrap:anywhere}
.kap-featured-root .kap-card-video{margin-top:18px;border-radius:12px}
@media(min-width:601px) and (max-width:1024px){.kap-featured-root .ka-featured-media{height:min(var(--ka-featured-media-height,320px),280px)}}
@media(max-width:600px){
 .kap-featured-root .ka-featured-grid{grid-template-columns:minmax(0,1fr);gap:min(18px,var(--ka-gap,22px))}
 .kap-featured-root .ka-featured-media{height:var(--ka-featured-media-mobile,260px)}
 body.ka-brand-site .kap-site.kap-featured-root .ka-featured-copy h3,.kap-featured-root .ka-featured-copy h3{font-size:var(--ka-featured-title-mobile,18px)}
 .ka-skill-compact{min-height:132px}
}
@media(max-width:360px){.kap-featured-root .ka-featured-media{height:min(var(--ka-featured-media-mobile,260px),240px)}}
@media(max-width:1024px){body.ka-brand-site .kap-site .kap-grid{grid-template-columns:repeat(var(--ka-columns-tablet),minmax(0,1fr))}}
@media(max-width:600px){
 body.ka-brand-site .kap-site .kap-grid{grid-template-columns:repeat(var(--ka-columns-mobile),minmax(0,1fr))}
 body.ka-brand-site .kap-site h1,body.ka-brand-site .kap-project .kap-project-head h1{font-size:var(--ka-heading-mobile)}
 body.ka-brand-site .kap-site .kap-section-head h2{font-size:var(--ka-section-heading-mobile)}
 body.ka-brand-site .kap-site .kap-card-copy h3{font-size:var(--ka-card-title-mobile)}
 body.ka-brand-site .kap-site .kap-hero p,body.ka-brand-site .kap-project .kap-brief{font-size:var(--ka-body-mobile)}
 body.ka-brand-site .kap-project .kap-project-media,body.ka-brand-site .kap-project .kap-project-gallery{gap:min(20px,var(--ka-gallery-gap))}
 body.ka-brand-site .kap-site .kap-image-zoom,body.ka-brand-site .kap-site .kap-card-zoom{width:max(24px,calc(var(--ka-zoom-size) - 4px));height:max(24px,calc(var(--ka-zoom-size) - 4px))}
 body.ka-brand-site .ka-role-drawer{max-width:92vw;--gap:24px}
}
