/*
Theme Name: Al Obour Projects
Theme URI: https://alobour-projects.com/
Author: AL OBOUR PROJECTS
Description: Database-compatible real estate portal theme for AL OBOUR PROJECTS.
Version: 3.0.0
Text Domain: alobour-projects
*/

@font-face{font-family:Cairo;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/cairo-v9-arabic-400.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Cairo;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/cairo-v9-arabic-700.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Cairo;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/cairo-v9-latin-400.woff2") format("woff2");unicode-range:U+0000-024F,U+1E00-1EFF}
@font-face{font-family:Cairo;font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/cairo-v9-latin-700.woff2") format("woff2");unicode-range:U+0000-024F,U+1E00-1EFF}

:root{
 --aop-navy:#0B1F33;--aop-teal:#167D6D;--aop-warm:#F7F6F2;--aop-white:#fff;
 --aop-border:#E8ECEF;--aop-text:#17212B;--aop-muted:#66717C;--aop-wa:#25D366;
 --aop-danger:#B42318;--aop-success:#067647;--aop-container:1320px;
 --aop-space-1:.25rem;--aop-space-2:.5rem;--aop-space-3:1rem;--aop-space-4:1.5rem;--aop-space-5:2.5rem;--aop-space-6:5rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--aop-warm);color:var(--aop-text);font-family:Cairo,sans-serif;font-size:15px;line-height:1.7}
body.rtl{direction:rtl;text-align:right}
body:not(.rtl){direction:ltr;text-align:left}
img,svg,video,iframe{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(22,125,109,.28);outline-offset:3px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{color:var(--aop-navy);line-height:1.35}
.container,.aop-container{width:min(var(--aop-container),calc(100% - 96px));margin-inline:auto}
.aop-main{min-height:55vh}
.aop-section{padding:80px 0}
.aop-section--white{background:var(--aop-white)}
.aop-section--navy{background:var(--aop-navy);color:#fff}
.aop-section--navy h2,.aop-section--navy h3{color:#fff}
.aop-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}
.aop-section-head h2{font-size:clamp(26px,3vw,36px);margin:4px 0 0;font-weight:700}
.aop-section-head p{color:var(--aop-muted);max-width:700px;margin:8px 0 0}
.aop-kicker{display:inline-block;color:var(--aop-teal);font-weight:700;font-size:13px}
.aop-grid{display:grid;gap:24px}
.aop-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aop-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.aop-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aop-stack{display:grid;gap:24px}
.aop-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border:1px solid transparent;border-radius:0;font:600 14px/1.4 Cairo,sans-serif;cursor:pointer;transition:.25s ease}
.aop-btn--navy{background:var(--aop-navy);color:#fff;border-color:var(--aop-navy)}
.aop-btn--teal{background:var(--aop-teal);color:#fff;border-color:var(--aop-teal)}
.aop-btn--outline{background:transparent;color:var(--aop-navy);border-color:var(--aop-navy)}
.aop-btn--whatsapp{background:var(--aop-wa);color:#fff;border-color:var(--aop-wa)}
.aop-btn--full{width:100%}
.aop-btn:hover{background:var(--aop-teal);border-color:var(--aop-teal);color:#fff}
.aop-text-link{color:var(--aop-teal);font-weight:700}
.aop-empty{border:1px solid var(--aop-border);background:#fff;padding:40px;text-align:center}
.aop-empty h2,.aop-empty h3{margin-bottom:8px}

/* Header */
.aop-site-header{background:#fff;border-bottom:1px solid var(--aop-border);position:sticky;top:0;z-index:1000}
.admin-bar .aop-site-header{top:32px}
.aop-topbar{background:var(--aop-navy);color:#fff;font-size:12px}
.aop-topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.aop-topbar__contacts{display:flex;gap:18px;align-items:center}
.aop-topbar a:hover{color:#bde7df}
.aop-header-main{min-height:80px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:24px}
.aop-brand{display:inline-flex;align-items:center;gap:12px;color:var(--aop-navy)}
.aop-brand__mark{width:38px;height:38px;border:1px solid var(--aop-teal);display:grid;place-items:center;font-weight:800;color:var(--aop-teal)}
.aop-brand__text{display:flex;flex-direction:column;line-height:1.2}
.aop-brand__text strong{font-size:17px;font-weight:800}
.aop-brand__text span{font-size:11px;color:var(--aop-muted);margin-top:5px}
.aop-nav ul{display:flex;justify-content:center;gap:24px;list-style:none;padding:0;margin:0}
.aop-nav a{font-weight:600;color:var(--aop-navy);position:relative}
.aop-nav .current-menu-item>a,.aop-nav a:hover{color:var(--aop-teal)}
.aop-header-actions{display:flex;align-items:center;gap:10px}
.aop-lang{border:1px solid var(--aop-border);padding:9px 12px;font-weight:700}
.aop-menu-toggle{display:none;background:#fff;border:1px solid var(--aop-border);width:44px;height:44px;padding:10px}
.aop-menu-toggle span{display:block;height:2px;background:var(--aop-navy);margin:5px 0}
.aop-mobile-backdrop{display:none}

/* Breadcrumb + archive hero */
.aop-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--aop-muted);font-size:13px;margin:0 0 22px}
.aop-breadcrumbs a:hover{color:var(--aop-teal)}
.aop-archive-hero{padding:52px 0 44px;background:#fff;border-bottom:1px solid var(--aop-border)}
.aop-archive-hero h1{font-size:clamp(30px,4vw,48px);margin:0 0 12px;font-weight:800}
.aop-archive-hero p{max-width:820px;color:var(--aop-muted);margin:0}
.aop-meta-line{display:flex;flex-wrap:wrap;gap:14px;color:var(--aop-muted);font-size:13px}

/* Home hero */
.aop-home-hero{background:var(--aop-navy);color:#fff;padding:88px 0 56px;position:relative;overflow:hidden}
.aop-home-hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.12);inset-inline-end:-100px;top:-180px;transform:rotate(45deg)}
.aop-home-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:1}
.aop-home-hero h1{color:#fff;font-size:clamp(38px,5vw,60px);font-weight:800;margin:10px 0 18px}
.aop-home-hero p{color:#d7e0e7;font-size:17px;max-width:680px}
.aop-home-hero__facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.16);margin-top:32px}
.aop-home-hero__facts div{padding:18px;border-inline-start:1px solid rgba(255,255,255,.16)}
.aop-home-hero__facts div:first-child{border-inline-start:0}
.aop-home-hero__facts strong{display:block;font-size:24px}
.aop-home-hero__facts span{font-size:12px;color:#c6d0d8}
.aop-home-hero__panel{background:#fff;color:var(--aop-text);padding:28px;border:1px solid var(--aop-border)}
.aop-home-hero__panel h2{font-size:22px;margin-bottom:18px}

/* Search */
.aop-search{display:grid;grid-template-columns:1.6fr repeat(3,1fr) auto;gap:12px;background:#fff;border:1px solid var(--aop-border);padding:20px}
.aop-search label{display:grid;gap:6px}
.aop-search label>span{font-size:12px;color:var(--aop-muted);font-weight:600}
.aop-search input,.aop-search select,.aop-field input,.aop-field textarea,.aop-field select{width:100%;border:1px solid var(--aop-border);background:#fff;border-radius:0;padding:12px 14px;min-height:48px;font:400 14px Cairo,sans-serif;color:var(--aop-text)}
.aop-search input:focus,.aop-search select:focus,.aop-field input:focus,.aop-field textarea:focus{border-color:var(--aop-teal);outline:1px solid var(--aop-teal)}
.aop-search .aop-btn{align-self:end;min-height:48px}

/* Cards */
.aop-project-card,.aop-article-card,.aop-term-card{background:#fff;border:1px solid var(--aop-border);min-width:0}
.aop-project-card:hover,.aop-article-card:hover,.aop-term-card:hover{border-color:var(--aop-teal)}
.aop-project-card__media,.aop-article-card__media,.aop-term-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e7ece9}
.aop-project-card__image,.aop-article-card__image,.aop-term-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.aop-project-card:hover img,.aop-article-card:hover img,.aop-term-card:hover img{transform:scale(1.02)}
.aop-media-placeholder,.aop-term-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#e6ebe8,#f7f6f2);color:var(--aop-teal);font-weight:800}
.aop-project-card__body,.aop-article-card__body,.aop-term-card__body{padding:22px}
.aop-card-eyebrow{display:flex;justify-content:space-between;gap:12px;color:var(--aop-muted);font-size:12px;margin-bottom:10px}
.aop-card-eyebrow a{color:var(--aop-teal);font-weight:600}
.aop-project-card__title,.aop-article-card h2,.aop-term-card h2{font-size:19px;margin:0 0 18px}
.aop-spec-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--aop-border);border-inline-start:1px solid var(--aop-border)}
.aop-spec-grid>div{padding:12px;border-inline-end:1px solid var(--aop-border);border-bottom:1px solid var(--aop-border);min-width:0}
.aop-spec-grid span{display:block;color:var(--aop-muted);font-size:11px}
.aop-spec-grid strong{display:block;font-size:13px;margin-top:3px;overflow-wrap:anywhere}
.aop-spec-grid>div:first-child strong{color:var(--aop-teal);font-size:15px}
.aop-card-actions{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:8px;margin-top:18px}
.aop-card-actions .aop-btn{padding-inline:10px;font-size:12px}
.aop-article-card time{color:var(--aop-muted);font-size:12px}
.aop-article-card p,.aop-term-card p{color:var(--aop-muted)}
.aop-term-card--developer .aop-term-card__media{aspect-ratio:16/7;padding:32px;background:#fff}
.aop-term-card--developer .aop-term-card__media img{object-fit:contain}
.aop-term-card__body span{color:var(--aop-teal);font-weight:700}

/* Single project */
.aop-project-hero{background:#fff;padding:48px 0;border-bottom:1px solid var(--aop-border)}
.aop-project-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.aop-project-hero__media{aspect-ratio:16/10;overflow:hidden;background:#e6ebe8}
.aop-project-hero__media img{width:100%;height:100%;object-fit:cover}
.aop-project-hero h1{font-size:clamp(32px,4.3vw,52px);font-weight:800;margin:10px 0 16px}
.aop-project-hero__lead{color:var(--aop-muted);font-size:16px}
.aop-project-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.aop-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start}
.aop-content{background:#fff;border:1px solid var(--aop-border);padding:34px;overflow-wrap:anywhere}
.aop-content h2{font-size:26px;margin-top:32px}
.aop-content h3{font-size:21px;margin-top:28px}
.aop-content img{height:auto}
.aop-sidebar{position:sticky;top:132px;display:grid;gap:20px}
.aop-sidebar-card{background:#fff;border:1px solid var(--aop-border);padding:24px}
.aop-sidebar-card h2,.aop-sidebar-card h3{font-size:20px}
.aop-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--aop-border);border-inline-start:1px solid var(--aop-border)}
.aop-fact{padding:16px;border-inline-end:1px solid var(--aop-border);border-bottom:1px solid var(--aop-border);background:#fff}
.aop-fact span{display:block;color:var(--aop-muted);font-size:12px}
.aop-fact strong,.aop-fact a{display:block;margin-top:5px;font-weight:700;color:var(--aop-navy)}
.aop-fact a:hover{color:var(--aop-teal)}
.aop-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:24px 0}
.aop-gallery a{display:block;aspect-ratio:4/3;overflow:hidden}
.aop-gallery a:first-child{grid-row:span 2}
.aop-gallery img{width:100%;height:100%;object-fit:cover}
.aop-faq details{background:#fff;border:1px solid var(--aop-border);margin-bottom:10px}
.aop-faq summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--aop-navy)}
.aop-faq details div{padding:0 20px 18px;color:var(--aop-muted)}
.aop-updated{font-size:12px;color:var(--aop-muted);margin-top:14px}

/* Forms */
.aop-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.aop-field{display:grid;gap:6px}
.aop-field--full,.aop-form>.aop-btn--full{grid-column:1/-1}
.aop-field label{font-size:12px;font-weight:600;color:var(--aop-navy)}
.aop-field textarea{resize:vertical}
.aop-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px}
.aop-contact-card{background:var(--aop-navy);color:#fff;padding:32px}
.aop-contact-card h2{color:#fff}
.aop-contact-list{display:grid;gap:12px;margin-top:22px}
.aop-contact-list a,.aop-contact-list span{display:block;border-top:1px solid rgba(255,255,255,.14);padding-top:12px}

/* Footer */
.aop-site-footer{background:var(--aop-navy);color:#dce4ea;margin-top:0}
.aop-footer-main{padding:64px 0;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:44px}
.aop-footer-main h3{color:#fff;font-size:16px;margin-bottom:18px}
.aop-footer-main ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aop-footer-main a:hover{color:#9ce0d3}
.aop-footer-brand p{color:#bac6ce;max-width:360px;margin-top:16px}
.aop-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:12px}
.aop-footer-bottom__inner{display:flex;justify-content:space-between;gap:16px}

/* Pagination / comments / utilities */
.aop-pagination{display:flex;justify-content:center;gap:6px;margin-top:36px}
.aop-pagination .page-numbers{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--aop-border);background:#fff}
.aop-pagination .current,.aop-pagination a:hover{background:var(--aop-teal);border-color:var(--aop-teal);color:#fff}
.aop-comments{margin-top:32px;background:#fff;border:1px solid var(--aop-border);padding:28px}
.aop-comments ol{padding-inline-start:22px}
.aop-comments .comment{margin:18px 0}
.aop-comments textarea,.aop-comments input{max-width:100%;border:1px solid var(--aop-border);padding:10px}
.aop-404{text-align:center;padding:100px 0}
.aop-404 strong{font-size:88px;line-height:1;color:var(--aop-teal)}
.aop-cta{background:var(--aop-teal);color:#fff;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.aop-cta h2,.aop-cta h3{color:#fff;margin-bottom:8px}
.aop-sticky-mobile-cta{display:none}

/* Legacy classes intentionally normalized into the new system */
.nc-btn{border-radius:0!important}.nc-modern-pagination,.nc-pagination{font-family:Cairo,sans-serif}
.top-header,.logo-bar,.side-social,.fixed-social,.sticky-social,.social-fixed,.floating-social{display:none!important}

@media(max-width:1024px){
 .container,.aop-container{width:min(var(--aop-container),calc(100% - 48px))}
 .aop-grid--3,.aop-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .aop-header-main{grid-template-columns:190px 1fr auto}
 .aop-nav ul{gap:14px}
 .aop-header-actions .aop-btn{display:none}
 .aop-search{grid-template-columns:repeat(2,1fr)}
 .aop-search .aop-btn{grid-column:1/-1}
 .aop-content-layout{grid-template-columns:1fr 310px}
 .aop-footer-main{grid-template-columns:1.2fr 1fr 1fr}
 .aop-footer-main>div:last-child{grid-column:2/4}
}
@media(max-width:768px){
 .admin-bar .aop-site-header{top:46px}
 .container,.aop-container{width:calc(100% - 32px)}
 .aop-topbar{display:none}
 .aop-header-main{min-height:66px;grid-template-columns:1fr auto auto;gap:10px}
 .aop-brand__text strong{font-size:14px}.aop-brand__text span{font-size:9px}
 .aop-brand__mark{width:34px;height:34px}
 .aop-menu-toggle{display:block}
 .aop-nav{position:fixed;inset:66px 0 auto 0;background:#fff;border-bottom:1px solid var(--aop-border);padding:18px 16px;transform:translateY(-130%);transition:.25s ease;z-index:1002}
 .admin-bar .aop-nav{top:112px}
 .aop-nav.is-open{transform:translateY(0)}
 .aop-nav ul{display:grid;gap:0}
 .aop-nav li{border-bottom:1px solid var(--aop-border)}
 .aop-nav a{display:block;padding:13px 4px}
 .aop-header-actions{gap:6px}.aop-lang{padding:7px 9px}
 .aop-section{padding:48px 0}
 .aop-section-head{display:block}
 .aop-grid--3,.aop-grid--4,.aop-grid--2{grid-template-columns:1fr}
 .aop-home-hero{padding:58px 0 40px}
 .aop-home-hero__grid,.aop-project-hero__grid,.aop-contact-grid{grid-template-columns:1fr}
 .aop-home-hero__panel{padding:20px}
 .aop-home-hero__facts{grid-template-columns:1fr}
 .aop-home-hero__facts div{border-inline-start:0;border-top:1px solid rgba(255,255,255,.16)}
 .aop-home-hero__facts div:first-child{border-top:0}
 .aop-search{grid-template-columns:1fr;padding:16px}
 .aop-search .aop-btn{grid-column:auto}
 .aop-content-layout{grid-template-columns:1fr}
 .aop-sidebar{position:static}
 .aop-content{padding:22px}
 .aop-facts{grid-template-columns:1fr}
 .aop-gallery{grid-template-columns:1fr 1fr}
 .aop-gallery a:first-child{grid-column:1/-1;grid-row:auto}
 .aop-card-actions{grid-template-columns:1fr 1fr}.aop-card-actions .aop-btn:first-child{grid-column:1/-1}
 .aop-form{grid-template-columns:1fr}.aop-field--full,.aop-form>.aop-btn--full{grid-column:auto}
 .aop-footer-main{grid-template-columns:1fr;gap:28px}
 .aop-footer-main>div:last-child{grid-column:auto}
 .aop-footer-bottom__inner{display:block}
 .aop-cta{display:block}.aop-cta .aop-btn{margin-top:14px}
 .aop-sticky-mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:900;background:#fff;border-top:1px solid var(--aop-border);padding:8px;gap:8px}
 body{padding-bottom:64px}
}
@media(max-width:390px){
 .container,.aop-container{width:calc(100% - 24px)}
 .aop-header-actions .aop-lang{display:none}
 .aop-project-card__body,.aop-article-card__body,.aop-term-card__body{padding:18px}
 .aop-spec-grid{grid-template-columns:1fr}
 .aop-card-actions{grid-template-columns:1fr}
 .aop-card-actions .aop-btn:first-child{grid-column:auto}
}


/* =========================================================
   Stitch fidelity correction pass
   ========================================================= */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.aop-custom-logo .custom-logo-link{display:inline-flex;align-items:center}
.aop-custom-logo img{display:block;width:auto;max-width:210px;max-height:54px;object-fit:contain}
.aop-custom-logo--footer img{max-height:58px}
.aop-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.aop-social a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid rgba(255,255,255,.18);font-size:12px;color:#fff}
.aop-social a:hover{border-color:#9ce0d3;color:#9ce0d3}
.aop-kicker--light{color:#9ce0d3}
.aop-meta-line--light{color:#cbd7df}
.aop-project-actions--center{justify-content:center}

/* Home: photographic editorial hero + floating search */
.aop-home-hero--photo{min-height:620px;padding:0;background:var(--aop-navy);display:grid;align-items:end;isolation:isolate}
.aop-home-hero--photo:after{display:none}
.aop-home-hero__photo,.aop-home-hero__overlay{position:absolute;inset:0}
.aop-home-hero__photo img{width:100%;height:100%;object-fit:cover}
.aop-home-hero__overlay{background:linear-gradient(90deg,rgba(11,31,51,.94) 0%,rgba(11,31,51,.78) 48%,rgba(11,31,51,.28) 100%);z-index:0}
body.rtl .aop-home-hero__overlay{background:linear-gradient(270deg,rgba(11,31,51,.94) 0%,rgba(11,31,51,.78) 48%,rgba(11,31,51,.28) 100%)}
.aop-home-hero__content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) 360px;gap:56px;align-items:end;padding-top:110px;padding-bottom:110px}
.aop-home-hero__copy{max-width:760px}
.aop-home-hero--photo h1{font-size:clamp(40px,5vw,64px);line-height:1.2;margin:12px 0 18px}
.aop-home-hero--photo p{font-size:17px;max-width:650px;color:#e3ebf0}
.aop-btn--hero-outline{background:transparent;border-color:rgba(255,255,255,.8);color:#fff}
.aop-btn--hero-outline:hover{border-color:var(--aop-teal)}
.aop-hero-feature{display:grid;gap:5px;background:rgba(11,31,51,.86);border:1px solid rgba(255,255,255,.2);padding:24px;color:#fff;backdrop-filter:blur(6px)}
.aop-hero-feature>span,.aop-hero-feature small{color:#cbd7df;font-size:12px}
.aop-hero-feature strong{font-size:21px;line-height:1.45}
.aop-hero-feature b{color:#9ce0d3;font-size:18px;margin-top:8px}
.aop-home-search-dock{position:relative;z-index:5;margin-top:-58px}
.aop-home-search-card{background:#fff;border:1px solid var(--aop-border);padding:22px 24px}
.aop-home-search-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.aop-home-search-title h2{font-size:21px;margin:0}
.aop-search{grid-template-columns:1.5fr repeat(5,minmax(110px,1fr)) auto}
.aop-search--compact{grid-template-columns:1.5fr repeat(4,minmax(110px,1fr)) auto}
.aop-home-search-card .aop-search{padding:0;border:0}
.aop-home-projects{padding-top:96px}
.aop-area-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:16px}
.aop-area-tile{position:relative;overflow:hidden;min-height:230px;background:var(--aop-navy);color:#fff}
.aop-area-tile--lead{grid-column:span 2;grid-row:span 2}
.aop-area-tile__media,.aop-area-tile__overlay{position:absolute;inset:0}
.aop-area-tile__media img,.aop-area-tile__media .aop-term-placeholder{width:100%;height:100%;object-fit:cover}
.aop-area-tile__overlay{background:linear-gradient(0deg,rgba(11,31,51,.78),rgba(11,31,51,.08) 70%)}
.aop-area-tile__content{position:absolute;z-index:2;inset-inline:22px;bottom:20px;display:flex;align-items:end;justify-content:space-between;gap:14px}
.aop-area-tile__content strong{font-size:20px}
.aop-area-tile__content span{font-size:12px;color:#dbe4ea}
.aop-home-why{background:var(--aop-warm)}
.aop-home-why__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.aop-home-why__intro{position:sticky;top:132px}
.aop-home-why__intro h2{font-size:clamp(30px,3vw,42px)}
.aop-home-why__intro p{color:var(--aop-muted);max-width:520px}
.aop-why-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--aop-border);border-inline-start:1px solid var(--aop-border)}
.aop-why-list>div{padding:26px;border-inline-end:1px solid var(--aop-border);border-bottom:1px solid var(--aop-border);background:#fff}
.aop-why-list b{color:var(--aop-teal);font-size:13px}
.aop-why-list h3{font-size:19px;margin:12px 0 8px}
.aop-why-list p{margin:0;color:var(--aop-muted);font-size:14px}
.aop-opportunity__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:0;align-items:stretch}
.aop-opportunity__media{min-height:460px}
.aop-opportunity__media img,.aop-opportunity__media .aop-media-placeholder{width:100%;height:100%;object-fit:cover}
.aop-opportunity__content{padding:48px;background:#102a42;display:flex;flex-direction:column;justify-content:center}
.aop-opportunity__content h2{font-size:clamp(30px,3vw,42px);margin:10px 0 12px}
.aop-opportunity__facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16);border-inline-start:1px solid rgba(255,255,255,.16);margin:28px 0}
.aop-opportunity__facts>div{padding:16px;border-inline-end:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.aop-opportunity__facts span{display:block;font-size:12px;color:#bac8d1}
.aop-opportunity__facts strong{display:block;margin-top:4px;color:#fff}
.aop-lead-form-wrap{background:#fff;border:1px solid var(--aop-border);padding:32px}
.aop-lead-form-wrap h3{font-size:22px}
.aop-final-cta{background:var(--aop-navy);color:#fff;padding:68px 0;border-top:1px solid rgba(255,255,255,.12)}
.aop-final-cta h2{color:#fff;font-size:clamp(28px,3vw,40px);margin:8px 0}
.aop-final-cta p{color:#c8d3db;margin:0}
.aop-final-cta__inner{display:flex;justify-content:space-between;align-items:end;gap:40px}

/* Project detail: Stitch gallery and information hierarchy */
.aop-project-top{background:#fff;padding:34px 0 42px;border-bottom:1px solid var(--aop-border)}
.aop-project-gallery-top{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:250px 250px;gap:8px;background:#e7ece9;overflow:hidden}
.aop-project-gallery-top__item{display:block;overflow:hidden;background:#e5e9e7}
.aop-project-gallery-top__item--main{grid-row:1/3}
.aop-project-gallery-top__item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.aop-project-gallery-top__item:hover img{transform:scale(1.02)}
.aop-gallery-all{position:absolute;inset-inline-end:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--aop-navy);border:1px solid var(--aop-border);padding:10px 14px;font-weight:700;font-size:13px}
.aop-gallery-all span{color:var(--aop-teal)}
.aop-project-summary{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;padding-top:34px;align-items:start}
.aop-project-summary h1{font-size:clamp(34px,4vw,52px);margin:10px 0 12px}
.aop-project-summary__price{border-inline-start:1px solid var(--aop-border);padding-inline-start:30px}
.aop-project-summary__price>span{display:block;color:var(--aop-muted);font-size:12px}
.aop-project-summary__price>strong{display:block;font-size:28px;color:var(--aop-teal);margin:4px 0 6px}
.aop-project-summary__price>small{display:block;color:var(--aop-muted)}
.aop-project-facts-section h2{margin-top:6px}
.aop-facts--project{grid-template-columns:repeat(3,minmax(0,1fr))}
.aop-project-price-notes{border:1px solid var(--aop-border);padding:18px;margin:22px 0}
.aop-project-price-notes>strong{display:block;margin-bottom:8px}
.aop-project-price-notes p:last-child{margin-bottom:0}
.aop-video{aspect-ratio:16/9}
.aop-sidebar-card--inquiry{border-top:3px solid var(--aop-teal)}
.aop-sidebar-card--inquiry .aop-form{grid-template-columns:1fr}
.aop-sidebar-card--inquiry .aop-field--full,.aop-sidebar-card--inquiry .aop-form>.aop-btn--full{grid-column:auto}

/* Entity, directory, search and editorial screens */
.aop-guide-hero,.aop-search-hero,.aop-contact-hero,.aop-entity-hero{background:#edf3f7;border-bottom:1px solid var(--aop-border);padding:46px 0}
.aop-guide-hero h1,.aop-search-hero h1,.aop-contact-hero h1,.aop-entity-hero h1{font-size:clamp(32px,4vw,48px);margin:8px 0 12px}
.aop-guide-hero p,.aop-search-hero p,.aop-contact-hero p,.aop-entity-hero p{max-width:820px;color:var(--aop-muted)}
.aop-topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.aop-topic-chips a{border:1px solid var(--aop-border);background:#fff;padding:8px 14px;font-weight:600;font-size:13px}
.aop-topic-chips a.is-active,.aop-topic-chips a:hover{background:var(--aop-teal);border-color:var(--aop-teal);color:#fff}
.aop-guide-featured{display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border:1px solid var(--aop-border);margin-top:14px}
.aop-guide-featured__media{min-height:420px;overflow:hidden}
.aop-guide-featured__media img,.aop-guide-featured__media .aop-media-placeholder{width:100%;height:100%;object-fit:cover}
.aop-guide-featured__content{padding:42px;align-self:center}
.aop-guide-featured__content h2{font-size:clamp(27px,3vw,38px);margin:14px 0}
.aop-guide-featured__content p{color:var(--aop-muted)}
.aop-guide-cta,.aop-search-cta{background:var(--aop-navy);color:#fff;padding:58px 0}
.aop-guide-cta h2,.aop-search-cta h2{color:#fff;margin:7px 0}
.aop-guide-cta p,.aop-search-cta p{color:#c9d4dc;margin:0}
.aop-guide-cta__inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.aop-article-hero{background:#edf3f7;padding:44px 0}
.aop-article-hero__content{max-width:980px}
.aop-article-hero h1{font-size:clamp(34px,4.2vw,52px);margin:12px 0}
.aop-article-hero p{font-size:17px;color:var(--aop-muted);max-width:850px}
.aop-article-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--aop-muted);font-size:12px}
.aop-article-cover{background:#fff;padding-top:28px}
.aop-article-cover__image{display:block;width:100%;max-height:650px;object-fit:cover}
.aop-content-layout--article{grid-template-columns:minmax(0,1fr) 340px}
.aop-contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}
.aop-contact-info{background:var(--aop-navy);color:#fff;padding:34px}
.aop-contact-info h2{color:#fff}
.aop-contact-info__cards{display:grid;margin-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.aop-contact-info__item{display:grid;gap:3px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.aop-contact-info__item span{font-size:12px;color:#b9c7d0}
.aop-contact-info__item strong{color:#fff;overflow-wrap:anywhere}
.aop-contact-form-panel h2{margin-top:6px}
.aop-contact-whatsapp{background:var(--aop-teal);color:#fff;padding:46px 0}
.aop-contact-whatsapp h2{color:#fff;margin:6px 0}
.aop-contact-whatsapp p{margin:0;color:#e3f3ef}
.aop-contact-whatsapp__inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.aop-location-card{margin-top:18px;background:#fff;border:1px solid var(--aop-border);padding:28px}
.aop-entity-hero--developer{background:#fff}
.aop-entity-hero__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:start}
.aop-entity-logo{min-height:210px;background:#edf3f7;border:1px solid var(--aop-border);display:grid;place-items:center;padding:24px;text-align:center}
.aop-entity-logo img{max-width:170px;max-height:100px;object-fit:contain}
.aop-entity-logo>span{font-size:58px;font-weight:800;color:var(--aop-teal)}
.aop-entity-logo small{display:block;color:var(--aop-muted);margin-top:12px}
.aop-entity-description{max-width:900px;color:var(--aop-muted)}
.aop-entity-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px}
.aop-entity-title-row>span{background:var(--aop-navy);color:#fff;padding:8px 12px;font-size:12px;font-weight:700}
.aop-tax-toolbar,.aop-search-panel{margin-bottom:34px}
.aop-results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 24px}
.aop-results-heading h2{margin:4px 0 0;font-size:28px}
.aop-results-heading>span{display:grid;place-items:center;min-width:48px;height:48px;background:var(--aop-navy);color:#fff;font-weight:800}
.aop-developer-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:620px;margin-top:24px}
.aop-developer-search input{min-height:48px;border:1px solid var(--aop-border);padding:12px 14px;font:400 14px Cairo,sans-serif}
.aop-route-card{background:#fff;border:1px solid var(--aop-border);padding:24px;display:grid;gap:8px}
.aop-route-card b{color:var(--aop-teal)}
.aop-route-card strong{font-size:18px}
.aop-route-card span{font-size:13px;color:var(--aop-muted)}
.aop-route-card:hover{border-color:var(--aop-teal)}
.aop-empty--search{max-width:760px;margin-inline:auto}

@media(max-width:1180px){
 .aop-search,.aop-search--compact{grid-template-columns:repeat(3,minmax(0,1fr))}
 .aop-search__keyword{grid-column:span 2}
 .aop-search .aop-btn{grid-column:auto}
 .aop-home-hero__content{grid-template-columns:1fr 320px}
 .aop-area-showcase{grid-template-columns:repeat(3,1fr)}
 .aop-project-gallery-top{grid-template-rows:210px 210px}
}
@media(max-width:768px){
 .aop-custom-logo img{max-width:160px;max-height:44px}
 .aop-home-hero--photo{min-height:570px}
 .aop-home-hero__content{grid-template-columns:1fr;padding-top:86px;padding-bottom:96px}
 .aop-home-hero--photo h1{font-size:34px}
 .aop-hero-feature{display:none}
 .aop-home-search-dock{margin-top:-46px}
 .aop-home-search-card{padding:18px}
 .aop-home-search-title{display:block}
 .aop-home-search-title h2{margin-top:4px}
 .aop-search,.aop-search--compact{grid-template-columns:1fr}
 .aop-search__keyword,.aop-search .aop-btn{grid-column:auto}
 .aop-home-projects{padding-top:72px}
 .aop-area-showcase{grid-template-columns:1fr 1fr;grid-auto-rows:190px}
 .aop-area-tile--lead{grid-column:1/-1;grid-row:span 1}
 .aop-home-why__grid{grid-template-columns:1fr;gap:28px}
 .aop-home-why__intro{position:static}
 .aop-why-list{grid-template-columns:1fr}
 .aop-opportunity__grid{grid-template-columns:1fr}
 .aop-opportunity__media{min-height:270px}
 .aop-opportunity__content{padding:28px}
 .aop-final-cta__inner,.aop-guide-cta__inner,.aop-contact-whatsapp__inner{display:block}
 .aop-final-cta .aop-project-actions,.aop-guide-cta .aop-btn,.aop-contact-whatsapp .aop-btn{margin-top:18px}
 .aop-project-gallery-top{grid-template-columns:1fr 1fr;grid-template-rows:260px 150px}
 .aop-project-gallery-top__item--main{grid-column:1/-1;grid-row:auto}
 .aop-project-gallery-top__item:nth-of-type(n+4){display:none}
 .aop-gallery-all{bottom:12px;inset-inline-end:12px}
 .aop-project-summary{grid-template-columns:1fr;gap:22px}
 .aop-project-summary__price{border-inline-start:0;border-top:1px solid var(--aop-border);padding-inline-start:0;padding-top:20px}
 .aop-facts--project{grid-template-columns:1fr 1fr}
 .aop-guide-featured{grid-template-columns:1fr}
 .aop-guide-featured__media{min-height:260px}
 .aop-guide-featured__content{padding:26px}
 .aop-contact-layout,.aop-entity-hero__grid{grid-template-columns:1fr}
 .aop-entity-logo{min-height:150px}
 .aop-content-layout--article{grid-template-columns:1fr}
 .aop-entity-title-row{display:block}
 .aop-entity-title-row>span{display:inline-block;margin-top:8px}
}
@media(max-width:390px){
 .aop-area-showcase{grid-template-columns:1fr}
 .aop-area-tile--lead{grid-column:auto}
 .aop-facts--project{grid-template-columns:1fr}
 .aop-project-gallery-top{grid-template-columns:1fr;grid-template-rows:250px 145px}
 .aop-project-gallery-top__item:nth-of-type(n+3){display:none}
}


/* === STITCH FIDELITY CORRECTION PASS 2026-09-17 === */
/* Approved composition: editorial, sharp, photo-led, RTL-first. */
:root{
  --aop-max:1320px;
  --aop-section-space:96px;
}
.container{max-width:var(--aop-max);padding-inline:24px}
.aop-section{padding-block:var(--aop-section-space)}
.aop-section-head{align-items:end;margin-bottom:36px}
.aop-section-head h2{font-size:clamp(28px,3vw,36px);line-height:1.35;margin:6px 0 0}
.aop-section-head p{max-width:720px}

/* Home: approved photographic hero + docked project search */
.aop-home-hero--photo{min-height:660px;padding:0;display:flex;align-items:flex-end;background:#0b1f33}
.aop-home-hero__photo,.aop-home-hero__overlay{position:absolute;inset:0}
.aop-home-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.aop-home-hero__overlay{background:linear-gradient(90deg,rgba(11,31,51,.30),rgba(11,31,51,.74) 52%,rgba(11,31,51,.94))}
[dir="ltr"] .aop-home-hero__overlay{background:linear-gradient(270deg,rgba(11,31,51,.30),rgba(11,31,51,.74) 52%,rgba(11,31,51,.94))}
.aop-home-hero__content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:end;padding-top:150px;padding-bottom:116px}
.aop-home-hero__copy{max-width:760px}
.aop-home-hero__copy h1{font-size:clamp(38px,5vw,64px);line-height:1.22;margin:12px 0 18px;max-width:760px}
.aop-home-hero__copy p{font-size:18px;line-height:1.9;max-width:690px;color:#e7eef2}
.aop-hero-feature{align-self:end;background:rgba(255,255,255,.96);color:var(--aop-text);border-inline-start:4px solid var(--aop-teal);padding:26px;display:grid;gap:6px;text-decoration:none}
.aop-hero-feature span{color:var(--aop-teal);font-size:12px;font-weight:700}
.aop-hero-feature strong{font-size:20px;line-height:1.5}
.aop-hero-feature small{color:var(--aop-muted)}
.aop-hero-feature b{color:var(--aop-teal);font-size:20px;margin-top:8px}
.aop-home-search-dock{position:relative;z-index:4;margin-top:-62px;margin-bottom:18px}
.aop-home-search-card{background:#fff;border:1px solid var(--aop-border);padding:24px 28px;display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:end}
.aop-home-search-title h2{font-size:20px;margin:4px 0 0}
.aop-home-search-card .aop-search{margin:0}

/* Home: area mosaic / why / opportunity / lead / guide / final CTA hierarchy */
.aop-home-areas{padding-top:92px}
.aop-area-showcase{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:1px;background:var(--aop-border);border:1px solid var(--aop-border)}
.aop-area-tile{min-height:220px;background:#0b1f33;overflow:hidden}
.aop-area-tile--lead{grid-column:span 2;grid-row:span 2}
.aop-area-tile__media,.aop-area-tile__media img{width:100%;height:100%;object-fit:cover}
.aop-area-tile__overlay{background:linear-gradient(0deg,rgba(11,31,51,.88),rgba(11,31,51,.08) 70%)}
.aop-area-tile__content{padding:24px}
.aop-area-tile__content strong{font-size:20px}
.aop-area-tile--lead .aop-area-tile__content strong{font-size:30px}
.aop-home-why__grid{grid-template-columns:.82fr 1.18fr;gap:76px}
.aop-home-why__intro{align-self:start;position:sticky;top:120px}
.aop-home-why__intro h2{font-size:36px;line-height:1.45}
.aop-why-list{border-top:1px solid var(--aop-border)}
.aop-why-list>div{display:grid;grid-template-columns:64px 220px 1fr;gap:24px;align-items:start;padding:26px 0;border-bottom:1px solid var(--aop-border)}
.aop-why-list b{font-size:14px;color:var(--aop-teal)}
.aop-why-list h3,.aop-why-list p{margin:0}
.aop-opportunity{padding-block:0}
.aop-opportunity__grid{min-height:540px}
.aop-opportunity__media{min-height:540px}
.aop-opportunity__media img{width:100%;height:100%;object-fit:cover}
.aop-opportunity__content{padding:64px;background:var(--aop-navy);color:#fff;display:flex;flex-direction:column;justify-content:center}
.aop-opportunity__content h2{font-size:38px;line-height:1.4;margin:10px 0 18px}
.aop-opportunity__facts{border-top:1px solid rgba(255,255,255,.20);border-bottom:1px solid rgba(255,255,255,.20);margin:26px 0;padding:20px 0}
.aop-home-lead .aop-contact-grid{grid-template-columns:.88fr 1.12fr;gap:0;border:1px solid var(--aop-border)}
.aop-home-lead .aop-contact-card{padding:56px;background:var(--aop-navy);color:#fff}
.aop-home-lead .aop-lead-form-wrap{padding:48px;background:#fff}
.aop-home-guide{background:var(--aop-warm)}
.aop-final-cta{padding:64px 0;background:var(--aop-navy);color:#fff}
.aop-final-cta__inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.aop-final-cta h2{font-size:34px;margin:6px 0 10px}

/* Project detail: approved gallery, information hierarchy and sticky enquiry */
.aop-project-top{padding:28px 0 0;background:var(--aop-warm);border:0}
.aop-project-gallery-top{height:560px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;background:transparent}
.aop-project-gallery-top__item{overflow:hidden;background:#dfe4e1}
.aop-project-gallery-top__item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.aop-project-gallery-top__item:hover img{transform:scale(1.02)}
.aop-project-gallery-top__item--main{grid-row:1 / span 2}
.aop-gallery-all{inset-inline-start:24px;inset-inline-end:auto;bottom:24px;background:#fff;color:var(--aop-navy);border:1px solid var(--aop-border);padding:12px 16px;font-weight:700}
[dir="ltr"] .aop-gallery-all{inset-inline-start:auto;inset-inline-end:24px}
.aop-project-summary{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;padding:38px 0 44px}
.aop-project-summary h1{font-size:clamp(34px,4vw,48px);line-height:1.35;margin:10px 0 14px}
.aop-project-summary__price{background:#fff;border:1px solid var(--aop-border);padding:24px}
.aop-project-summary__price>span{display:block;color:var(--aop-muted);font-size:13px}
.aop-project-summary__price>strong{display:block;color:var(--aop-teal);font-size:30px;line-height:1.4;margin:4px 0 10px}
.aop-project-summary__price small{display:block;color:var(--aop-muted);margin-bottom:16px}
.aop-project-summary__price .aop-project-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.aop-project-summary__price .aop-project-actions .aop-btn:first-child{grid-column:1/-1}
.aop-project-body{background:#fff}
.aop-content-layout{grid-template-columns:minmax(0,1fr) 380px;gap:48px}
.aop-project-facts-section{padding:0;border:0}
.aop-facts--project{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--aop-border);border-inline-start:1px solid var(--aop-border);margin-top:22px}
.aop-facts--project .aop-fact{min-height:112px;padding:20px;border-inline-end:1px solid var(--aop-border);border-bottom:1px solid var(--aop-border);background:#fff}
.aop-facts--project .aop-fact span{display:block;color:var(--aop-muted);font-size:12px;margin-bottom:8px}
.aop-facts--project .aop-fact strong,.aop-facts--project .aop-fact a{font-size:15px;font-weight:700;color:var(--aop-text)}
.aop-project-inquiry{position:sticky;top:104px}
.aop-sidebar-card--inquiry{border-top:4px solid var(--aop-teal);padding:28px}
.aop-sidebar-card--inquiry h2{font-size:24px;line-height:1.45}
.aop-related-projects{padding-top:20px}
.aop-project-top+.aop-project-body{padding-top:72px}

/* Shared Stitch screens: sharp editorial shells */
.aop-project-card,.aop-article-card,.aop-term-card,.aop-sidebar-card,.aop-content,.aop-search-panel,.aop-contact-card,.aop-lead-form-wrap{border-radius:0!important;box-shadow:none!important}
.aop-project-card__media,.aop-article-card__media,.aop-term-card__media{overflow:hidden}
.aop-project-card__image,.aop-article-card__image,.aop-term-card__media img{transition:transform .35s ease}
.aop-project-card:hover .aop-project-card__image,.aop-article-card:hover .aop-article-card__image,.aop-term-card:hover .aop-term-card__media img{transform:scale(1.02)}
.aop-project-card:hover,.aop-article-card:hover,.aop-term-card:hover{border-color:var(--aop-teal)}
.aop-btn,input,select,textarea,.aop-search,.aop-pagination .page-numbers{border-radius:0!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(22,125,109,.35);outline-offset:3px}

/* Logo and social links */
.aop-custom-logo img{display:block;max-height:56px;width:auto}
.aop-custom-logo--footer img{filter:none;max-height:64px}
.aop-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.aop-social a{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);color:inherit;text-decoration:none}
.aop-social a:hover{border-color:var(--aop-teal);color:var(--aop-teal)}

@media(max-width:1024px){
  :root{--aop-section-space:72px}
  .aop-home-hero__content{grid-template-columns:1fr;gap:28px;padding-top:130px;padding-bottom:104px}
  .aop-hero-feature{max-width:440px}
  .aop-home-search-card{grid-template-columns:1fr}
  .aop-home-why__grid{grid-template-columns:1fr;gap:34px}
  .aop-home-why__intro{position:static}
  .aop-opportunity__content{padding:44px}
  .aop-project-gallery-top{height:470px}
  .aop-project-summary{grid-template-columns:1fr;gap:28px}
  .aop-project-summary__price{max-width:none}
  .aop-content-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px}
  .aop-facts--project{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  :root{--aop-section-space:48px}
  .container{padding-inline:20px}
  .aop-home-hero--photo{min-height:600px}
  .aop-home-hero__overlay{background:linear-gradient(0deg,rgba(11,31,51,.93),rgba(11,31,51,.35))}
  .aop-home-hero__content{padding-top:110px;padding-bottom:96px}
  .aop-home-hero__copy h1{font-size:32px;line-height:1.4}
  .aop-home-hero__copy p{font-size:15px}
  .aop-hero-feature{display:none}
  .aop-home-search-dock{margin-top:-54px}
  .aop-home-search-card{padding:18px}
  .aop-area-showcase{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
  .aop-area-tile--lead{grid-column:1/-1;grid-row:span 2}
  .aop-area-tile--lead .aop-area-tile__content strong{font-size:24px}
  .aop-why-list>div{grid-template-columns:44px 1fr;gap:12px}
  .aop-why-list>div p{grid-column:2}
  .aop-opportunity__grid{grid-template-columns:1fr;min-height:0}
  .aop-opportunity__media{min-height:300px}
  .aop-opportunity__content{padding:34px 24px}
  .aop-opportunity__content h2{font-size:28px}
  .aop-home-lead .aop-contact-grid{grid-template-columns:1fr}
  .aop-home-lead .aop-contact-card,.aop-home-lead .aop-lead-form-wrap{padding:30px 22px}
  .aop-final-cta__inner{grid-template-columns:1fr;gap:24px}
  .aop-project-gallery-top{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:280px 130px;gap:6px}
  .aop-project-gallery-top__item{display:none}
  .aop-project-gallery-top__item:nth-child(-n+3){display:block}
  .aop-project-gallery-top__item--main{grid-column:1/-1;grid-row:auto}
  .aop-project-summary{padding:28px 0 34px}
  .aop-project-summary h1{font-size:30px}
  .aop-project-summary__price{padding:20px}
  .aop-content-layout{display:block}
  .aop-facts--project{grid-template-columns:1fr 1fr}
  .aop-project-inquiry{position:static;margin-top:36px}
  .aop-sticky-mobile-cta{z-index:999}
}
@media(max-width:390px){
  .aop-area-showcase{grid-template-columns:1fr}
  .aop-area-tile--lead{grid-column:auto;grid-row:auto;min-height:250px}
  .aop-facts--project{grid-template-columns:1fr}
}


/* =========================================================
   Visual refinement pass 2.1.0
   Scale, typography, cards, imagery fallbacks and RTL polish.
   ========================================================= */
:root{
  --aop-container:1320px;
  --aop-section-space:96px;
  --aop-radius-card:0px;
  --aop-radius-control:0px;
  --aop-shadow-soft:none;
}
html{font-size:16px}
body{
  font-size:16px;
  line-height:1.82;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{letter-spacing:0}
.container,.aop-container{
  width:min(var(--aop-container),calc(100% - 64px));
  max-width:none;
  padding-inline:0;
}
.aop-section{padding-block:var(--aop-section-space)}
.aop-kicker{font-size:13px;line-height:1.5}
.aop-section-head{margin-bottom:40px}
.aop-section-head h2{
  font-size:clamp(30px,2.8vw,42px);
  line-height:1.32;
  font-weight:800;
}
.aop-section-head p{
  font-size:15px;
  line-height:1.85;
  max-width:760px;
}
.aop-text-link{font-size:14px}
.aop-btn{
  min-height:50px;
  padding:12px 22px;
  border-radius:var(--aop-radius-control)!important;
  font-size:14px;
  font-weight:700;
}
.aop-btn--outline{background:#fff}
.aop-empty{border-radius:var(--aop-radius-card);padding:48px}

/* Header scale */
.aop-topbar__inner{min-height:36px}
.aop-topbar{font-size:12px}
.aop-header-main{
  min-height:86px;
  grid-template-columns:250px 1fr auto;
  gap:30px;
}
.aop-custom-logo img{max-width:230px;max-height:60px}
.aop-brand__mark{width:44px;height:44px;border-radius:4px}
.aop-brand__text strong{font-size:18px}
.aop-brand__text span{font-size:11px}
.aop-nav ul{gap:30px}
.aop-nav a{font-size:15px;font-weight:700;line-height:1.4}
.aop-header-actions{gap:12px}
.aop-lang{padding:10px 14px;border-radius:4px}
.aop-header-whatsapp{min-height:44px;padding-inline:18px}

/* Hero: larger, photo-led, premium fallback when real media is missing */
.aop-home-hero--photo{
  min-height:620px;
  background:
    radial-gradient(circle at 20% 30%,rgba(22,125,109,.20),transparent 34%),
    linear-gradient(135deg,#0b1f33 0%,#102d47 100%);
}
.aop-home-hero__content{
  grid-template-columns:minmax(0,1.25fr) 390px;
  gap:72px;
  padding-top:138px;
  padding-bottom:112px;
}
.aop-home-hero__copy{max-width:820px}
.aop-home-hero__copy h1{
  font-size:clamp(42px,4.2vw,58px);
  line-height:1.22;
  font-weight:800;
  max-width:820px;
}
.aop-home-hero__copy p{
  font-size:18px;
  line-height:1.95;
  max-width:720px;
}
.aop-home-hero__photo .aop-media-placeholder{
  height:100%;
  background:
    linear-gradient(270deg,rgba(11,31,51,.28),rgba(11,31,51,.02)),
    linear-gradient(145deg,#173a52,#0d263b 58%,#163f50);
}
.aop-home-hero__photo .aop-media-placeholder:before{
  content:"";
  position:absolute;
  inset:auto 5% 0 5%;
  height:62%;
  opacity:.40;
  background:
    linear-gradient(90deg,
      transparent 0 5%,
      rgba(255,255,255,.12) 5% 20%,
      transparent 20% 23%,
      rgba(255,255,255,.08) 23% 45%,
      transparent 45% 48%,
      rgba(255,255,255,.13) 48% 68%,
      transparent 68% 72%,
      rgba(255,255,255,.08) 72% 92%,
      transparent 92%);
  clip-path:polygon(0 100%,0 42%,12% 42%,12% 20%,27% 20%,27% 50%,43% 50%,43% 7%,64% 7%,64% 36%,77% 36%,77% 18%,94% 18%,94% 100%);
}
.aop-home-hero__photo .aop-media-placeholder span{
  position:absolute;
  inset-inline-start:6%;
  bottom:7%;
  color:rgba(255,255,255,.58);
  letter-spacing:.05em;
  z-index:2;
}
.aop-hero-feature{
  border-radius:0;
  padding:28px;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.28);
}
.aop-hero-feature strong{font-size:21px}
.aop-hero-feature b{
  font-size:21px;
  unicode-bidi:plaintext;
}
.aop-home-search-dock{margin-top:-66px;margin-bottom:12px}
.aop-home-search-card{
  grid-template-columns:220px 1fr;
  gap:28px;
  padding:24px 28px;
  border-radius:0;
  box-shadow:none;
  border:1px solid var(--aop-border);
}
.aop-home-search-title{
  display:block;
  margin:0;
  align-self:center;
}
.aop-home-search-title h2{
  font-size:22px;
  line-height:1.4;
  margin-top:5px;
}
.aop-home-search-card .aop-search{
  grid-template-columns:minmax(210px,1.55fr) repeat(4,minmax(130px,1fr)) 112px;
  gap:12px;
}
.aop-search label{gap:7px}
.aop-search label>span{font-size:13px;font-weight:700}
.aop-search input,.aop-search select,
.aop-field input,.aop-field textarea,.aop-field select{
  min-height:52px;
  padding:12px 15px;
  border-radius:var(--aop-radius-control)!important;
  font-size:14px;
}
.aop-search .aop-btn{min-height:52px}

/* Project cards: more breathing room, stronger hierarchy */
.aop-grid{gap:28px}
.aop-project-card,.aop-article-card,.aop-term-card{
  border-radius:0!important;
  overflow:hidden;
  box-shadow:none!important;
  border:1px solid var(--aop-border);
  transition:border-color .25s ease;
}
.aop-project-card:hover,.aop-article-card:hover,.aop-term-card:hover{
  transform:none;
  box-shadow:none!important;
  border-color:var(--aop-teal);
}
.aop-project-card__media img,.aop-article-card__media img,.aop-term-card__media img{
  transition:transform .35s ease-out;
}
.aop-project-card:hover .aop-project-card__media img,
.aop-article-card:hover .aop-article-card__media img,
.aop-term-card:hover .aop-term-card__media img{
  transform:scale(1.02);
}
.aop-project-card__media,.aop-article-card__media{
  aspect-ratio:16/10;
}
.aop-project-card__body,.aop-article-card__body,.aop-term-card__body{
  padding:24px;
}
.aop-card-eyebrow{
  font-size:13px;
  margin-bottom:12px;
  min-height:24px;
}
.aop-project-card__title,.aop-article-card h2,.aop-term-card h2{
  font-size:20px;
  line-height:1.5;
  margin-bottom:20px;
}
.aop-spec-grid{
  border:0;
  gap:1px;
  background:var(--aop-border);
}
.aop-spec-grid>div{
  min-height:76px;
  padding:13px 14px;
  border:0;
  background:#fff;
}
.aop-spec-grid span{font-size:12px}
.aop-spec-grid strong{
  font-size:14px;
  line-height:1.55;
  margin-top:5px;
  unicode-bidi:plaintext;
}
.aop-spec-grid>div:first-child strong{
  font-size:17px;
  font-weight:800;
}
.aop-card-actions{
  grid-template-columns:1.35fr .75fr .9fr;
  gap:9px;
  margin-top:20px;
}
.aop-card-actions .aop-btn{
  min-height:46px;
  padding-inline:11px;
  font-size:12.5px;
}
.aop-card-actions .aop-btn--navy{
  background:#fff;
  color:var(--aop-navy);
  border-color:var(--aop-navy);
}
.aop-card-actions .aop-btn--whatsapp{
  background:#fff;
  color:#128c54;
  border-color:#25D366;
}
.aop-card-actions .aop-btn--navy:hover{background:var(--aop-navy);color:#fff}
.aop-card-actions .aop-btn--whatsapp:hover{background:#25D366;color:#fff}

/* Branded media fallback instead of flat grey blocks */
.aop-media-placeholder,.aop-term-placeholder{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(22,125,109,.12),rgba(247,246,242,.94)),
    repeating-linear-gradient(90deg,transparent 0 42px,rgba(11,31,51,.025) 42px 43px);
  color:var(--aop-teal);
}
.aop-media-placeholder:after,.aop-term-placeholder:after{
  content:"";
  position:absolute;
  inset:auto 8% 0 8%;
  height:48%;
  opacity:.13;
  background:var(--aop-navy);
  clip-path:polygon(0 100%,0 48%,15% 48%,15% 18%,34% 18%,34% 58%,48% 58%,48% 5%,70% 5%,70% 40%,83% 40%,83% 24%,100% 24%,100% 100%);
}
.aop-media-placeholder span,.aop-term-placeholder{
  font-size:12px;
  letter-spacing:.035em;
}

/* Areas: image-first mosaic with larger labels */
.aop-home-areas{padding-top:104px}
.aop-area-showcase{
  grid-auto-rows:250px;
  gap:14px;
  border:0;
  background:transparent;
}
.aop-area-tile{
  min-height:250px;
  border-radius:0;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.12);
}
.aop-area-tile--lead{grid-column:span 2;grid-row:span 2}
.aop-area-tile__overlay{
  background:linear-gradient(0deg,rgba(11,31,51,.90) 0%,rgba(11,31,51,.32) 48%,rgba(11,31,51,.05) 78%);
}
.aop-area-tile__content{
  inset-inline:0;
  bottom:0;
  padding:26px 28px;
}
.aop-area-tile__content strong{font-size:22px;line-height:1.4}
.aop-area-tile--lead .aop-area-tile__content strong{font-size:32px}
.aop-area-tile__content span{font-size:13px}

/* Why section: spacious 2x2 editorial cards */
.aop-home-why__grid{
  grid-template-columns:.78fr 1.22fr;
  gap:84px;
}
.aop-home-why__intro h2{
  font-size:clamp(32px,3vw,44px);
  line-height:1.42;
  margin:8px 0 16px;
}
.aop-home-why__intro p{
  font-size:15px;
  line-height:1.9;
}
.aop-why-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border:1px solid var(--aop-border);
  border-radius:0;
  overflow:hidden;
}
.aop-why-list>div{
  display:block;
  min-height:190px;
  padding:30px;
  border:0;
  border-inline-end:1px solid var(--aop-border);
  border-bottom:1px solid var(--aop-border);
}
.aop-why-list>div:nth-child(2n){border-inline-end:0}
.aop-why-list>div:nth-last-child(-n+2){border-bottom:0}
.aop-why-list b{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  border:1px solid rgba(22,125,109,.28);
  border-radius:50%;
  font-size:13px;
}
.aop-why-list h3{
  font-size:20px;
  line-height:1.45;
  margin:0 0 10px;
}
.aop-why-list p{font-size:14px;line-height:1.8}

/* Featured opportunity */
.aop-opportunity{overflow:hidden}
.aop-opportunity__grid{
  min-height:420px;
  border-radius:0;
  overflow:hidden;
}
.aop-opportunity__media{
  min-height:420px;
  position:relative;
  background:#e9efec;
}
.aop-opportunity__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.aop-opportunity__content{padding:52px 56px}
.aop-opportunity__content h2{
  font-size:clamp(34px,3vw,46px);
  line-height:1.42;
}
.aop-opportunity__facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:30px 0;
}
.aop-opportunity__facts>div{padding:18px}
.aop-opportunity__facts span{font-size:13px}
.aop-opportunity__facts strong{
  font-size:16px;
  line-height:1.55;
  unicode-bidi:plaintext;
}

/* Lead generation and guide */
.aop-home-lead .aop-contact-grid{
  grid-template-columns:.84fr 1.16fr;
  border-radius:0;
  overflow:hidden;
  box-shadow:none;
  border:1px solid var(--aop-border);
}
.aop-home-lead .aop-contact-card{padding:62px}
.aop-home-lead .aop-contact-card h2{
  font-size:clamp(28px,2.5vw,36px);
  line-height:1.45;
}
.aop-home-lead .aop-contact-card p{font-size:15px;line-height:1.9}
.aop-home-lead .aop-lead-form-wrap{padding:54px}
.aop-home-lead .aop-lead-form-wrap h3{
  font-size:28px;
  line-height:1.45;
  margin-bottom:24px;
}
.aop-form{gap:18px}
.aop-field{gap:8px}
.aop-field label{font-size:13px}
.aop-field textarea{min-height:150px}
.aop-article-card p{font-size:14px;line-height:1.8}
.aop-article-card time{font-size:13px}

/* Final CTA + footer */
.aop-final-cta{padding:82px 0}
.aop-final-cta h2{
  font-size:clamp(32px,3vw,42px);
  line-height:1.4;
}
.aop-final-cta p{font-size:15px;line-height:1.85}
.aop-footer-main{
  padding:78px 0 72px;
  grid-template-columns:1.35fr repeat(3,1fr);
  gap:58px;
}
.aop-footer-main h3{
  font-size:17px;
  margin-bottom:20px;
}
.aop-footer-main ul{gap:12px}
.aop-footer-main li,.aop-footer-main a,.aop-footer-main span{
  font-size:14px;
  line-height:1.75;
}
.aop-footer-brand p{
  font-size:14px;
  line-height:1.9;
  max-width:390px;
}
.aop-footer-bottom{padding:20px 0;font-size:13px}

/* RTL and mixed-direction content */
body.rtl .aop-nav ul,
body.rtl .aop-project-actions,
body.rtl .aop-card-actions,
body.rtl .aop-meta-line,
body.rtl .aop-topbar__contacts{direction:rtl}
.aop-card-eyebrow span,
.aop-spec-grid strong,
.aop-hero-feature b,
.aop-opportunity__facts strong,
.aop-project-summary__price>strong{
  unicode-bidi:plaintext;
}
.aop-topbar__contacts a[href^="mailto:"],
.aop-topbar__contacts a[href^="tel:"],
.aop-contact-list a[href^="tel:"],
.aop-contact-list a[href^="mailto:"],
.aop-site-footer a[href^="tel:"],
.aop-site-footer a[href^="mailto:"]{
  direction:ltr;
  unicode-bidi:isolate;
  display:inline-block;
}
body.rtl input[type="tel"],
body.rtl input[type="email"]{
  direction:ltr;
  text-align:left;
}

/* Project detail scale */
.aop-project-gallery-top{height:610px}
.aop-project-summary{grid-template-columns:minmax(0,1fr) 400px;gap:64px}
.aop-project-summary h1{
  font-size:clamp(38px,4vw,54px);
  line-height:1.35;
}
.aop-project-summary__price{
  padding:28px;
  border-radius:0;
  box-shadow:none;
  border:1px solid var(--aop-border);
}
.aop-project-summary__price>strong{font-size:32px}
.aop-content-layout{grid-template-columns:minmax(0,1fr) 400px;gap:52px}
.aop-content,.aop-sidebar-card{
  border-radius:0!important;
}
.aop-content{padding:38px}
.aop-sidebar-card{padding:28px}
.aop-facts--project{
  border-radius:0;
  overflow:hidden;
}
.aop-facts--project .aop-fact{min-height:120px;padding:22px}
.aop-facts--project .aop-fact strong,
.aop-facts--project .aop-fact a{font-size:16px;line-height:1.6}


/* Media resilience: keep the approved composition useful when staging uploads are incomplete. */
.aop-home-hero--no-media .aop-home-hero__overlay{
  background:linear-gradient(270deg,rgba(11,31,51,.93) 0%,rgba(11,31,51,.76) 46%,rgba(11,31,51,.34) 100%);
}
[dir="ltr"] .aop-home-hero--no-media .aop-home-hero__overlay{
  background:linear-gradient(90deg,rgba(11,31,51,.93) 0%,rgba(11,31,51,.76) 46%,rgba(11,31,51,.34) 100%);
}
.aop-hero-architecture{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(22,125,109,.18),transparent 38%),
    linear-gradient(160deg,#173a50 0%,#0b1f33 62%);
}
.aop-hero-architecture:before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:68%;
  opacity:.48;
  background:
    linear-gradient(90deg,
      transparent 0 4%,
      rgba(255,255,255,.10) 4% 16%,
      transparent 16% 19%,
      rgba(255,255,255,.06) 19% 34%,
      transparent 34% 38%,
      rgba(255,255,255,.13) 38% 57%,
      transparent 57% 61%,
      rgba(255,255,255,.08) 61% 78%,
      transparent 78% 82%,
      rgba(255,255,255,.11) 82% 96%,
      transparent 96%);
  clip-path:polygon(0 100%,0 54%,8% 54%,8% 26%,23% 26%,23% 60%,37% 60%,37% 8%,58% 8%,58% 38%,72% 38%,72% 18%,88% 18%,88% 47%,100% 47%,100% 100%);
}
.aop-hero-architecture:after{
  content:"";
  position:absolute;
  width:540px;
  height:540px;
  border:1px solid rgba(255,255,255,.13);
  inset-inline-start:7%;
  top:12%;
  transform:rotate(45deg);
}
.aop-hero-architecture__line{
  position:absolute;
  display:block;
  width:1px;
  height:72%;
  top:18%;
  background:rgba(255,255,255,.10);
}
.aop-hero-architecture__line--1{inset-inline-start:18%}
.aop-hero-architecture__line--2{inset-inline-start:30%;height:54%;top:30%}
.aop-hero-architecture__line--3{inset-inline-start:42%;height:63%;top:23%}
.aop-hero-architecture__brand{
  position:absolute;
  inset-inline-start:8%;
  bottom:8%;
  z-index:2;
  color:rgba(255,255,255,.62);
  font-size:14px;
  font-weight:700;
}

/* Project/area fallbacks should look intentional, not like missing-image boxes. */
.aop-media-placeholder{
  min-height:100%;
  display:flex;
  align-items:flex-end;
  padding:22px;
  background:
    linear-gradient(145deg,rgba(22,125,109,.13),rgba(247,246,242,.98)),
    linear-gradient(90deg,transparent 49.8%,rgba(11,31,51,.04) 50%,transparent 50.2%);
}
.aop-media-placeholder__brand{
  position:relative;
  z-index:2;
  color:var(--aop-teal);
  font-size:13px;
  font-weight:700;
}
.aop-term-placeholder{
  display:grid;
  place-items:center;
  background:
    linear-gradient(145deg,#17384f,#0b1f33 72%);
  color:#fff;
  font-size:32px!important;
  font-weight:800;
}
.aop-term-placeholder:after{opacity:.08;background:#fff}

/* Opportunity fallback: preserve the approved two-panel section without a blank navy slab. */
.aop-opportunity--no-media .aop-opportunity__grid{
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
}
.aop-opportunity__fallback{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  padding:38px;
  color:var(--aop-navy);
  background:
    linear-gradient(180deg,rgba(247,246,242,.06),rgba(247,246,242,.96)),
    linear-gradient(135deg,rgba(22,125,109,.10),rgba(11,31,51,.08));
  border:1px solid rgba(255,255,255,.18);
}
.aop-opportunity__fallback:before{
  content:"";
  position:absolute;
  inset:10% 8% 18% 8%;
  opacity:.12;
  background:var(--aop-navy);
  clip-path:polygon(0 100%,0 55%,12% 55%,12% 28%,31% 28%,31% 62%,48% 62%,48% 10%,69% 10%,69% 42%,82% 42%,82% 24%,100% 24%,100% 100%);
}
.aop-opportunity__fallback>*{position:relative;z-index:1}
.aop-opportunity__fallback span{font-size:13px;color:var(--aop-teal);font-weight:700}
.aop-opportunity__fallback strong{font-size:26px;line-height:1.45}
.aop-opportunity__fallback small{font-size:14px;color:var(--aop-muted)}
.aop-opportunity--no-media .aop-opportunity__content{
  background:#102a42;
}

/* Stitch-aligned sharp editorial treatment. */
.aop-btn,
.aop-search input,.aop-search select,
.aop-field input,.aop-field textarea,.aop-field select,
.aop-home-search-card,
.aop-project-card,.aop-article-card,.aop-term-card,
.aop-area-tile,.aop-why-list,.aop-contact-card,.aop-lead-form-wrap{
  border-radius:0!important;
}
.aop-project-card__body{min-height:330px;display:flex;flex-direction:column}
.aop-card-actions{margin-top:auto;padding-top:20px}
.aop-project-card__media,.aop-article-card__media{overflow:hidden}
.aop-project-card__media .aop-media-placeholder,
.aop-article-card__media .aop-media-placeholder{height:100%}

/* Tablet */
@media(max-width:1180px){
  :root{--aop-container:1120px;--aop-section-space:82px}
  .container,.aop-container{width:min(var(--aop-container),calc(100% - 48px))}
  .aop-header-main{grid-template-columns:210px 1fr auto;gap:18px}
  .aop-nav ul{gap:18px}
  .aop-nav a{font-size:14px}
  .aop-home-hero__content{grid-template-columns:1fr 330px;gap:38px}
  .aop-home-search-card{grid-template-columns:1fr}
  .aop-home-search-card .aop-search{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aop-search__keyword{grid-column:span 2}
  .aop-home-search-card .aop-search .aop-btn{grid-column:auto}
  .aop-area-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aop-home-why__grid{grid-template-columns:1fr;gap:36px}
  .aop-home-why__intro{position:static}
  .aop-content-layout{grid-template-columns:minmax(0,1fr) 340px;gap:30px}
  .aop-project-summary{grid-template-columns:1fr 340px;gap:36px}
}

/* Mobile */
@media(max-width:768px){
  :root{--aop-section-space:58px}
  body{font-size:15px;line-height:1.8}
  .container,.aop-container{width:calc(100% - 32px);padding-inline:0}
  .aop-header-main{min-height:70px;grid-template-columns:1fr auto auto}
  .aop-custom-logo img{max-width:165px;max-height:46px}
  .aop-home-hero--photo{min-height:620px}
  .aop-home-hero__content{
    grid-template-columns:1fr;
    padding-top:112px;
    padding-bottom:106px;
  }
  .aop-home-hero__copy h1{font-size:36px;line-height:1.35}
  .aop-home-hero__copy p{font-size:15px;line-height:1.85}
  .aop-home-search-dock{margin-top:-50px}
  .aop-home-search-card{padding:20px}
  .aop-home-search-card .aop-search{grid-template-columns:1fr}
  .aop-search__keyword,.aop-home-search-card .aop-search .aop-btn{grid-column:auto}
  .aop-grid{gap:20px}
  .aop-project-card__body,.aop-article-card__body,.aop-term-card__body{padding:20px}
  .aop-project-card__title,.aop-article-card h2,.aop-term-card h2{font-size:19px}
  .aop-area-showcase{grid-template-columns:1fr 1fr;grid-auto-rows:200px;gap:10px}
  .aop-area-tile{min-height:200px}
  .aop-area-tile--lead{grid-column:1/-1;grid-row:span 1;min-height:270px}
  .aop-area-tile--lead .aop-area-tile__content strong{font-size:25px}
  .aop-why-list{grid-template-columns:1fr}
  .aop-why-list>div,
  .aop-why-list>div:nth-child(2n),
  .aop-why-list>div:nth-last-child(-n+2){
    min-height:0;
    padding:24px;
    border-inline-end:0;
    border-bottom:1px solid var(--aop-border);
  }
  .aop-why-list>div:last-child{border-bottom:0}
  .aop-opportunity__grid{min-height:0}
  .aop-opportunity--no-media .aop-opportunity__grid{grid-template-columns:1fr}
  .aop-opportunity__media{min-height:280px}
  .aop-opportunity__content{padding:36px 26px}
  .aop-home-lead .aop-contact-card,.aop-home-lead .aop-lead-form-wrap{padding:32px 24px}
  .aop-final-cta{padding:58px 0}
  .aop-final-cta h2{font-size:30px}
  .aop-footer-main{padding:58px 0;gap:30px}
  .aop-project-gallery-top{height:auto}
  .aop-project-summary{grid-template-columns:1fr}
  .aop-content-layout{display:block}
  .aop-project-summary__price{padding:22px}
  .aop-content{padding:24px}
}
@media(max-width:390px){
  .container,.aop-container{width:calc(100% - 24px)}
  .aop-home-hero__copy h1{font-size:31px}
  .aop-card-actions{grid-template-columns:1fr 1fr}
  .aop-card-actions .aop-btn:first-child{grid-column:1/-1}
  .aop-area-showcase{grid-template-columns:1fr}
  .aop-area-tile--lead{grid-column:auto}
  .aop-home-lead .aop-contact-card,.aop-home-lead .aop-lead-form-wrap{padding:26px 20px}
}


/* =========================================================
   Visual refinement pass 2.3.0
   Fix oversized empty opportunity state, strengthen fallbacks,
   and finish the homepage hierarchy without touching backend data.
   ========================================================= */

/* Global readability / hierarchy */
body{font-size:16px;line-height:1.82}
.aop-section{padding-block:92px}
.aop-section-head{margin-bottom:34px;gap:28px}
.aop-section-head h2{font-size:clamp(30px,3vw,42px);line-height:1.4;margin:6px 0 10px}
.aop-section-head p{font-size:15px;line-height:1.9}
.aop-kicker{font-size:12px;font-weight:800;letter-spacing:0}
.aop-text-link{font-size:14px;font-weight:700}

/* Header stays compact-premium rather than miniaturized */
.aop-header-main{min-height:82px}
.aop-nav a{font-size:14.5px}

/* Hero: make missing production media look like an intentional architectural scene. */
.aop-home-hero--photo{min-height:600px}
.aop-home-hero__photo{
  background:#0B1F33 url("assets/images/hero-architecture.svg") center/cover no-repeat;
}
.aop-home-hero__image{
  width:100%;
  height:100%;
  object-fit:cover;
}
.aop-home-hero--no-media .aop-hero-architecture{
  background:transparent;
}
.aop-home-hero--no-media .aop-hero-architecture:before,
.aop-home-hero--no-media .aop-hero-architecture:after,
.aop-home-hero--no-media .aop-hero-architecture__line{opacity:.35}
.aop-home-hero__overlay{
  background:linear-gradient(270deg,rgba(11,31,51,.95) 0%,rgba(11,31,51,.75) 45%,rgba(11,31,51,.18) 100%);
}
[dir="ltr"] .aop-home-hero__overlay{
  background:linear-gradient(90deg,rgba(11,31,51,.95) 0%,rgba(11,31,51,.75) 45%,rgba(11,31,51,.18) 100%);
}
.aop-home-hero__content{padding-top:132px;padding-bottom:122px}
.aop-home-hero__copy{max-width:740px}
.aop-home-hero__copy h1{font-size:clamp(42px,4.6vw,64px);line-height:1.28;margin:10px 0 20px}
.aop-home-hero__copy p{max-width:670px;font-size:16px;line-height:1.9;color:#e2e9ee}
.aop-hero-feature{
  align-self:end;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.45);
  padding:24px;
  min-height:178px;
}
.aop-hero-feature strong{font-size:19px;line-height:1.5}
.aop-hero-feature b{font-size:20px;margin-top:12px}

/* Search: one clear information band */
.aop-home-search-dock{margin-top:-58px;margin-bottom:8px}
.aop-home-search-card{
  grid-template-columns:225px minmax(0,1fr);
  gap:26px;
  padding:26px 28px;
  border:1px solid var(--aop-border);
}
.aop-home-search-title h2{font-size:21px}
.aop-home-search-card .aop-search{
  grid-template-columns:minmax(210px,1.55fr) repeat(4,minmax(120px,1fr)) 108px;
  gap:10px;
}
.aop-search input,.aop-search select{min-height:54px}

/* Project cards: consistent image stage and clearer facts */
.aop-home-projects{padding-top:102px}
.aop-grid{gap:24px}
.aop-project-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#fff;
}
.aop-project-card__media{
  position:relative;
  aspect-ratio:16/9;
  min-height:0;
  background:#e7efec url("assets/images/project-fallback.svg") center/cover no-repeat;
}
.aop-project-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.aop-project-card__body{padding:22px;min-height:310px}
.aop-card-eyebrow{min-height:22px;margin-bottom:9px}
.aop-project-card__title{font-size:19px;line-height:1.55;margin-bottom:16px}
.aop-spec-grid>div{min-height:68px;padding:11px 12px}
.aop-spec-grid span{font-size:11.5px}
.aop-spec-grid strong{font-size:13.5px}
.aop-spec-grid>div:first-child strong{font-size:16px}
.aop-card-actions{gap:8px;margin-top:auto;padding-top:16px}
.aop-card-actions .aop-btn{min-height:43px}

/* Strong, branded missing-media states instead of blank grey rectangles. */
.aop-media-placeholder{
  width:100%;
  height:100%;
  min-height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:22px;
  background:#e7efec url("assets/images/project-fallback.svg") center/cover no-repeat;
}
.aop-project-card__media .aop-media-placeholder__brand{
  display:inline-flex;
  padding:7px 10px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(11,31,51,.08);
  color:var(--aop-navy);
  font-size:11px;
}
.aop-article-card__media{
  background:#f3f5f2 url("assets/images/article-fallback.svg") center/cover no-repeat;
}
.aop-article-card__media .aop-media-placeholder{
  background:transparent;
}
.aop-broken-media{display:none!important}

/* Areas: retain mosaic but make no-image tiles feel designed, not empty. */
.aop-home-areas{padding-top:96px}
.aop-area-showcase{grid-auto-rows:236px;gap:10px}
.aop-area-tile{min-height:236px;background:#0B1F33 url("assets/images/hero-architecture.svg") center/cover no-repeat}
.aop-area-tile__media .aop-term-placeholder{
  background:linear-gradient(145deg,rgba(23,58,80,.98),rgba(11,31,51,.95)),url("assets/images/hero-architecture.svg") center/cover no-repeat;
}
.aop-area-tile__content{padding:24px 26px}
.aop-area-tile__content strong{font-size:21px}
.aop-area-tile--lead .aop-area-tile__content strong{font-size:30px}

/* Why: stronger numbered hierarchy with more readable explanatory copy. */
.aop-home-why__grid{grid-template-columns:.8fr 1.2fr;gap:72px}
.aop-why-list>div{min-height:184px;padding:28px}
.aop-why-list b{
  width:auto;height:auto;border:0;border-radius:0;
  display:block;margin:0 0 14px;
  font-size:18px;line-height:1;color:var(--aop-teal);
}
.aop-why-list h3{font-size:20px;margin-bottom:9px}
.aop-why-list p{font-size:14px;line-height:1.85}

/* Featured opportunity:
   with real media = approved two-panel composition;
   without media = compact editorial panel, never a giant empty navy slab. */
.aop-opportunity{padding-block:72px}
.aop-opportunity__grid{min-height:0}
.aop-opportunity--has-media .aop-opportunity__grid{
  grid-template-columns:1.08fr .92fr;
  min-height:430px;
}
.aop-opportunity--has-media .aop-opportunity__media{min-height:430px}
.aop-opportunity--no-media{padding-block:64px}
.aop-opportunity--no-media .aop-opportunity__grid{
  display:block;
  min-height:0;
}
.aop-opportunity--no-media .aop-opportunity__media{display:none}
.aop-opportunity--no-media .aop-opportunity__content{
  position:relative;
  min-height:0;
  max-width:1040px;
  margin-inline:auto;
  padding:46px 52px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(90deg,rgba(22,125,109,.14),transparent 45%),
    #102A42;
}
.aop-opportunity--no-media .aop-opportunity__content:before{
  content:"";
  position:absolute;
  inset-inline-end:-80px;
  bottom:-65px;
  width:430px;
  height:300px;
  background:url("assets/images/hero-architecture.svg") center/cover no-repeat;
  opacity:.12;
  pointer-events:none;
}
.aop-opportunity--no-media .aop-opportunity__content>*{position:relative;z-index:1}
.aop-opportunity__content h2{font-size:clamp(30px,3vw,43px);line-height:1.4}
.aop-opportunity__facts{max-width:760px}
.aop-opportunity--no-media .aop-opportunity__facts{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.aop-opportunity__facts>div{min-width:0}
.aop-opportunity__facts strong{overflow-wrap:anywhere}

/* Lead generation */
.aop-home-lead .aop-contact-grid{grid-template-columns:.86fr 1.14fr}
.aop-home-lead .aop-contact-card{padding:54px}
.aop-home-lead .aop-lead-form-wrap{padding:48px}
.aop-home-lead .aop-contact-card h2{font-size:clamp(27px,2.6vw,36px)}
.aop-home-lead .aop-contact-card p{font-size:15px}

/* Guide: make card media a deliberate visual band even when uploads are absent. */
.aop-home-guide .aop-article-card__media{
  aspect-ratio:16/9;
  background:#f3f5f2 url("assets/images/article-fallback.svg") center/cover no-repeat;
}
.aop-home-guide .aop-article-card__body{min-height:230px}
.aop-home-guide .aop-article-card h2{font-size:19px;line-height:1.55}

/* Final CTA / footer scale */
.aop-final-cta{padding:74px 0}
.aop-footer-main{padding:68px 0 64px}

/* Tablet */
@media(max-width:1180px){
  .aop-home-hero--photo{min-height:560px}
  .aop-home-hero__content{padding-top:116px;padding-bottom:104px}
  .aop-home-search-card{grid-template-columns:1fr}
  .aop-home-search-card .aop-search{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aop-search__keyword{grid-column:span 2}
  .aop-opportunity--no-media .aop-opportunity__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile */
@media(max-width:768px){
  .aop-section{padding-block:56px}
  .aop-home-hero--photo{min-height:560px}
  .aop-home-hero__content{padding-top:96px;padding-bottom:96px}
  .aop-home-hero__copy h1{font-size:34px}
  .aop-home-search-dock{margin-top:-42px}
  .aop-home-search-card{padding:18px}
  .aop-home-search-card .aop-search{grid-template-columns:1fr}
  .aop-search__keyword{grid-column:auto}
  .aop-project-card__body{min-height:0}
  .aop-area-showcase{grid-auto-rows:190px}
  .aop-area-tile{min-height:190px}
  .aop-home-why__grid{gap:30px}
  .aop-opportunity{padding-block:48px}
  .aop-opportunity--no-media .aop-opportunity__content{padding:32px 24px}
  .aop-opportunity--no-media .aop-opportunity__facts{grid-template-columns:1fr 1fr}
  .aop-home-lead .aop-contact-card,.aop-home-lead .aop-lead-form-wrap{padding:30px 24px}
}
@media(max-width:390px){
  .aop-home-hero__copy h1{font-size:30px}
  .aop-opportunity--no-media .aop-opportunity__facts{grid-template-columns:1fr}
}

.aop-opportunity--media-failed .aop-opportunity__grid{grid-template-columns:1fr;min-height:0}
.aop-opportunity--media-failed .aop-opportunity__media{display:none}
.aop-opportunity--media-failed .aop-opportunity__content{
  max-width:1040px;margin-inline:auto;padding:46px 52px;
}
@media(max-width:768px){
  .aop-opportunity--media-failed .aop-opportunity__content{padding:32px 24px}
}


/* =========================================================
   Contact page refinement — v2.3.2
   ========================================================= */
.aop-contact-hero{
  padding:38px 0 40px;
  background:#edf3f7;
}
.aop-contact-hero__head{max-width:880px}
.aop-contact-hero__head h1{
  font-size:clamp(38px,4vw,50px);
  line-height:1.25;
  margin:8px 0 10px;
}
.aop-contact-hero__head p{
  max-width:820px;
  margin:0;
  font-size:16px;
  line-height:1.9;
  color:var(--aop-muted);
}
.aop-contact-main{
  padding:68px 0 74px;
}
.aop-contact-layout{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:28px;
  align-items:stretch;
}
.aop-contact-info{
  background:var(--aop-navy);
  color:#fff;
  padding:42px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.08);
}
.aop-contact-info__head h2{
  color:#fff;
  font-size:clamp(26px,2.5vw,34px);
  line-height:1.45;
  margin:8px 0 10px;
}
.aop-contact-info__head p{
  margin:0;
  color:#c5d1d9;
  font-size:14px;
  line-height:1.9;
  max-width:520px;
}
.aop-contact-info__cards{
  display:grid;
  gap:10px;
  margin-top:30px;
  border:0;
}
.aop-contact-info__item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-height:78px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
a.aop-contact-info__item:hover{
  background:rgba(255,255,255,.075);
  border-color:rgba(156,224,211,.55);
  transform:translateY(-1px);
}
.aop-contact-info__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(156,224,211,.34);
  color:#9ce0d3;
}
.aop-contact-info__icon svg{
  width:22px;
  height:22px;
  fill:currentColor;
}
.aop-contact-info__copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.aop-contact-info__copy>span{
  color:#aebec8;
  font-size:12.5px;
  line-height:1.55;
}
.aop-contact-info__copy>strong{
  color:#fff;
  font-size:15px;
  line-height:1.7;
  font-weight:700;
  overflow-wrap:anywhere;
}
.aop-contact-ltr{
  direction:ltr;
  unicode-bidi:isolate;
  text-align:start;
}
body.rtl .aop-contact-ltr{text-align:right}
.aop-contact-info__notice{
  margin-top:28px;
  padding:22px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.04);
}
.aop-contact-info__notice strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.6;
}
.aop-contact-info__notice p{
  color:#c4d0d8;
  font-size:14px;
  line-height:1.9;
  margin:8px 0 16px;
}
.aop-contact-info__jump{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 14px;
  border:1px solid #9ce0d3;
  color:#9ce0d3;
  font-size:13px;
  font-weight:700;
}
.aop-contact-info__jump:hover{
  background:var(--aop-teal);
  border-color:var(--aop-teal);
  color:#fff;
}
.aop-contact-support{
  margin-top:auto;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.13);
}
.aop-contact-support>span{
  display:block;
  color:#9ce0d3;
  font-size:12px;
  font-weight:700;
  margin-bottom:12px;
}
.aop-contact-support ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.aop-contact-support li{
  position:relative;
  padding-inline-start:22px;
  color:#eef4f7;
  font-size:14px;
  line-height:1.75;
}
.aop-contact-support li::before{
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:.72em;
  width:8px;
  height:8px;
  border:2px solid #9ce0d3;
}
.aop-contact-form-panel{
  padding:42px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.aop-contact-form-panel h2{
  margin:7px 0 10px;
  font-size:clamp(27px,2.4vw,34px);
  line-height:1.45;
}
.aop-contact-form-panel__intro{
  color:var(--aop-muted);
  font-size:14.5px;
  line-height:1.9;
  margin:0 0 26px;
  max-width:650px;
}
.aop-contact-form-panel .aop-form{
  gap:18px;
}
.aop-contact-form-panel .aop-field{
  gap:7px;
}
.aop-contact-form-panel .aop-field label{
  font-size:13px;
  font-weight:700;
}
.aop-contact-form-panel input,
.aop-contact-form-panel textarea{
  width:100%;
  border:1px solid #dfe5e8;
  background:#fff;
  color:var(--aop-text);
  font:400 14px/1.6 Cairo,sans-serif;
  padding:12px 14px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.aop-contact-form-panel input{min-height:52px}
.aop-contact-form-panel textarea{min-height:145px}
.aop-contact-form-panel input:focus,
.aop-contact-form-panel textarea:focus{
  border-color:var(--aop-teal);
  box-shadow:0 0 0 3px rgba(22,125,109,.08);
}
.aop-contact-form-panel input[type="tel"],
.aop-contact-form-panel input[type="email"]{
  direction:ltr;
  unicode-bidi:isolate;
  text-align:left;
}
body.rtl .aop-contact-form-panel input[type="tel"],
body.rtl .aop-contact-form-panel input[type="email"]{
  text-align:right;
}
.aop-contact-form-panel .aop-btn--navy{
  min-height:54px;
  background:var(--aop-teal);
  border-color:var(--aop-teal);
  font-size:14px;
  font-weight:700;
}
.aop-contact-form-panel .aop-btn--navy:hover{
  background:#11695d;
  border-color:#11695d;
}
.aop-contact-form-panel__note{
  margin:15px 0 0;
  padding-top:15px;
  border-top:1px solid var(--aop-border);
  color:var(--aop-muted);
  font-size:12.5px;
  line-height:1.8;
}
.aop-contact-whatsapp{
  padding:40px 0;
}
.aop-contact-location{
  padding-top:62px;
  padding-bottom:62px;
}
@media(max-width:900px){
  .aop-contact-layout{
    grid-template-columns:1fr;
    gap:22px;
  }
  .aop-contact-info,
  .aop-contact-form-panel{
    padding:32px;
  }
  .aop-contact-info__cards{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .aop-contact-hero{
    padding:30px 0 32px;
  }
  .aop-contact-hero__head h1{
    font-size:34px;
  }
  .aop-contact-hero__head p{
    font-size:14px;
  }
  .aop-contact-main{
    padding:46px 0 52px;
  }
  .aop-contact-info,
  .aop-contact-form-panel{
    padding:24px 20px;
  }
  .aop-contact-info__cards{
    grid-template-columns:1fr;
  }
  .aop-contact-info__item{
    grid-template-columns:44px minmax(0,1fr);
    min-height:72px;
  }
  .aop-contact-info__icon{
    width:44px;
    height:44px;
  }
  .aop-contact-form-panel .aop-form{
    grid-template-columns:1fr;
  }
  .aop-contact-form-panel .aop-field--full,
  .aop-contact-form-panel .aop-form>.aop-btn--full{
    grid-column:auto;
  }
}


/* =========================================================
   Homepage adaptive-content pass 2.4.0
   Keeps the approved composition balanced when real data is sparse.
   ========================================================= */

/* Adaptive grids: never leave a single card trapped in a 3-column track. */
.aop-grid--adaptive{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.aop-grid--adaptive.aop-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:900px;
}
.aop-grid--adaptive.aop-grid--count-1{
  grid-template-columns:minmax(0,430px);
  max-width:430px;
}
.aop-rtl .aop-grid--adaptive.aop-grid--count-1,
.aop-rtl .aop-grid--adaptive.aop-grid--count-2{
  margin-inline-start:auto;
  margin-inline-end:0;
}
.aop-ltr .aop-grid--adaptive.aop-grid--count-1,
.aop-ltr .aop-grid--adaptive.aop-grid--count-2{
  margin-inline-start:0;
  margin-inline-end:auto;
}

/* Project cards: content-height follows the data; buttons remain aligned. */
.aop-project-card{height:100%}
.aop-project-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  padding:24px;
}
.aop-card-eyebrow:empty{display:none}
.aop-project-card__title{
  font-size:20px;
  line-height:1.55;
  min-height:0;
  margin-bottom:18px;
}
.aop-spec-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:2px;
}
.aop-spec-grid--count-1{grid-template-columns:1fr}
.aop-spec-grid--count-3>div:last-child{grid-column:1/-1}
.aop-spec-grid>div{
  min-height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.aop-spec--price strong{color:var(--aop-teal);font-size:17px!important;font-weight:800}
.aop-card-actions{
  margin-top:auto;
  padding-top:20px;
}
.aop-card-actions:has(.aop-btn:nth-child(1):last-child){
  grid-template-columns:1fr;
}
.aop-card-actions:has(.aop-btn:nth-child(2):last-child){
  grid-template-columns:minmax(0,1.45fr) minmax(92px,.8fr);
}

/* Area mosaic adapts to the number of populated terms. */
.aop-area-showcase--count-1{
  grid-template-columns:minmax(0,560px);
  max-width:560px;
}
.aop-area-showcase--count-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:900px;
}
.aop-area-showcase--count-1 .aop-area-tile,
.aop-area-showcase--count-2 .aop-area-tile{
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:250px;
}
.aop-rtl .aop-area-showcase--count-1,
.aop-rtl .aop-area-showcase--count-2{
  margin-inline-start:auto;
  margin-inline-end:0;
}
.aop-ltr .aop-area-showcase--count-1,
.aop-ltr .aop-area-showcase--count-2{
  margin-inline-start:0;
  margin-inline-end:auto;
}

/* Search controls need enough room to remain readable in Arabic. */
.aop-home-search-card{padding:28px 30px}
.aop-home-search-card .aop-search{
  grid-template-columns:minmax(230px,1.6fr) repeat(4,minmax(125px,1fr)) 112px;
  gap:12px;
}
.aop-search label>span{font-size:12.5px;line-height:1.4}
.aop-search input,.aop-search select{min-height:56px}
.aop-search .aop-btn{min-height:56px}

/* Why/lead readability. */
.aop-why-list>div{padding:30px;min-height:188px}
.aop-why-list h3{font-size:20px;line-height:1.55}
.aop-why-list p{font-size:14.5px;line-height:1.9}
.aop-home-lead .aop-contact-grid{max-width:1160px;margin-inline:auto}
.aop-home-lead .aop-contact-card{padding:58px}
.aop-home-lead .aop-lead-form-wrap{padding:52px}

/* Guide cards use the same sparse-data behavior as project cards. */
.aop-home-guide .aop-grid--count-1 .aop-article-card{
  max-width:430px;
}
.aop-home-guide .aop-article-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.aop-home-guide .aop-article-card__body{
  min-height:0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
.aop-home-guide .aop-article-card .aop-text-link{margin-top:auto}

/* Compact empty states: no giant blank bands while content is being populated. */
.aop-empty--compact{
  padding:24px 28px;
  min-height:0;
  border:1px solid var(--aop-border);
  background:#fff;
}
.aop-empty--compact p{margin:0;color:var(--aop-muted)}

@media(max-width:1180px){
  .aop-grid--adaptive,
  .aop-grid--adaptive.aop-grid--count-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
  .aop-grid--adaptive.aop-grid--count-1{grid-template-columns:minmax(0,430px)}
  .aop-home-search-card .aop-search{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .aop-search__keyword{grid-column:span 2}
}
@media(max-width:768px){
  .aop-grid--adaptive,
  .aop-grid--adaptive.aop-grid--count-1,
  .aop-grid--adaptive.aop-grid--count-2{
    grid-template-columns:1fr;
    max-width:none;
  }
  .aop-grid--adaptive.aop-grid--count-1,
  .aop-grid--adaptive.aop-grid--count-2{
    margin-inline:0;
  }
  .aop-area-showcase--count-1,
  .aop-area-showcase--count-2{
    grid-template-columns:1fr;
    max-width:none;
    margin-inline:0;
  }
  .aop-home-search-card{padding:20px}
  .aop-home-search-card .aop-search{grid-template-columns:1fr}
  .aop-search__keyword{grid-column:auto}
  .aop-home-lead .aop-contact-card,
  .aop-home-lead .aop-lead-form-wrap{padding:32px 24px}
}

/* Featured-project grids stay visually consistent at every item count.
   A single card remains the same vertical card component; only the grid width changes. */
.aop-home-projects .aop-grid--adaptive.aop-grid--count-1{
  grid-template-columns:minmax(0,430px);
  max-width:none;
  justify-content:start;
}
.aop-home-projects .aop-grid--adaptive.aop-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,430px));
  max-width:884px;
  justify-content:start;
}
.aop-home-projects .aop-grid--count-1 .aop-project-card,
.aop-home-projects .aop-grid--count-2 .aop-project-card{
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
}
.aop-home-projects .aop-grid--count-1 .aop-project-card__media,
.aop-home-projects .aop-grid--count-2 .aop-project-card__media{
  width:100%;
  aspect-ratio:16/10;
  min-height:0;
}
.aop-home-projects .aop-grid--count-1 .aop-project-card__body,
.aop-home-projects .aop-grid--count-2 .aop-project-card__body{
  padding:24px;
}
.aop-home-projects .aop-grid--count-1 .aop-project-card__title,
.aop-home-projects .aop-grid--count-2 .aop-project-card__title{
  font-size:20px;
  line-height:1.55;
}
.aop-home-projects .aop-grid--count-1 .aop-card-actions,
.aop-home-projects .aop-grid--count-2 .aop-card-actions{
  width:100%;
}
@media(max-width:980px){
  .aop-home-projects .aop-grid--adaptive.aop-grid--count-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
}
@media(max-width:768px){
  .aop-home-projects .aop-grid--adaptive.aop-grid--count-1,
  .aop-home-projects .aop-grid--adaptive.aop-grid--count-2{
    grid-template-columns:1fr;
    max-width:none;
    justify-content:stretch;
  }
  .aop-home-projects .aop-grid--count-1 .aop-project-card__media,
  .aop-home-projects .aop-grid--count-2 .aop-project-card__media{
    aspect-ratio:16/9;
  }
  .aop-home-projects .aop-grid--count-1 .aop-project-card__body,
  .aop-home-projects .aop-grid--count-2 .aop-project-card__body{
    padding:22px;
  }
}


/* =========================================================
   Final homepage polish 2.5.0
   Sparse-content balance, search scale, guide cleanup and footer readability.
   ========================================================= */

/* Featured projects: keep the approved vertical card, but give sparse grids
   enough visual weight so one or two real projects do not look accidental. */
.aop-home-projects .aop-section-head{margin-bottom:34px}
.aop-home-projects .aop-grid--adaptive.aop-grid--count-1{
  grid-template-columns:minmax(0,480px);
}
.aop-home-projects .aop-grid--adaptive.aop-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,460px));
  max-width:944px;
}
.aop-home-projects .aop-grid--count-1 .aop-project-card__title,
.aop-home-projects .aop-grid--count-2 .aop-project-card__title{
  font-size:22px;
  line-height:1.5;
}
.aop-home-projects .aop-grid--count-1 .aop-project-card__body,
.aop-home-projects .aop-grid--count-2 .aop-project-card__body{
  padding:26px;
}
.aop-home-projects .aop-spec-grid span{font-size:12px}
.aop-home-projects .aop-spec-grid strong{font-size:14.5px;line-height:1.55}
.aop-home-projects .aop-card-actions .aop-btn{min-height:48px}

/* Search: stronger input scale and more breathing room for Arabic labels. */
.aop-home-search-card{
  padding:30px 32px;
  gap:26px;
}
.aop-home-search-title h2{font-size:23px;line-height:1.45}
.aop-home-search-card .aop-search{
  grid-template-columns:minmax(270px,1.8fr) repeat(4,minmax(132px,1fr)) 118px;
  gap:12px;
}
.aop-search label>span{font-size:13px;font-weight:700;margin-bottom:7px}
.aop-search input,.aop-search select,.aop-search .aop-btn{min-height:58px}

/* Why: improve reading rhythm without changing the approved 2x2 composition. */
.aop-home-why__grid{gap:76px}
.aop-home-why__intro p{font-size:16px;line-height:1.95}
.aop-why-list>div{padding:32px;min-height:196px}
.aop-why-list b{font-size:20px;margin-bottom:15px}
.aop-why-list h3{font-size:21px;line-height:1.5;margin-bottom:10px}
.aop-why-list p{font-size:15px;line-height:1.9}

/* Lead generation: slightly larger conversion surface and controls. */
.aop-home-lead .aop-contact-grid{max-width:1220px}
.aop-home-lead .aop-contact-card{padding:62px}
.aop-home-lead .aop-lead-form-wrap{padding:56px}
.aop-home-lead .aop-contact-card p{font-size:16px;line-height:1.95}
.aop-home-lead .aop-field input,
.aop-home-lead .aop-field select{min-height:54px}
.aop-home-lead .aop-field textarea{min-height:138px}
.aop-home-lead .aop-form>.aop-btn--full{min-height:54px}

/* Guide: align sparse content with the RTL reading edge instead of the far left.
   Default WordPress starter posts are filtered in front-page.php. */
.aop-home-guide .aop-grid--count-1{
  grid-template-columns:minmax(0,500px);
  max-width:500px;
}
.aop-rtl .aop-home-guide .aop-grid--count-1{
  margin-inline-start:0;
  margin-inline-end:auto;
}
.aop-ltr .aop-home-guide .aop-grid--count-1{
  margin-inline-start:0;
  margin-inline-end:auto;
}
.aop-home-guide .aop-grid--count-2{
  grid-template-columns:repeat(2,minmax(0,460px));
  max-width:944px;
}
.aop-home-guide .aop-article-card__body{padding:26px;min-height:250px}
.aop-home-guide .aop-article-card time{font-size:13px}
.aop-home-guide .aop-article-card h2{font-size:21px;line-height:1.55}
.aop-home-guide .aop-article-card p{font-size:15px;line-height:1.85}

/* Footer: improve legibility while keeping the same information architecture. */
.aop-footer-main{grid-template-columns:1.35fr repeat(3,1fr);gap:50px}
.aop-footer-main h3{font-size:17px;margin-bottom:20px}
.aop-footer-main ul{gap:11px}
.aop-footer-main li,
.aop-footer-main a,
.aop-footer-main span{font-size:14px;line-height:1.8}
.aop-footer-brand p{font-size:14.5px;line-height:1.9;max-width:400px}
.aop-footer-bottom{font-size:13px}

/* Keep the polish responsive instead of forcing desktop proportions downward. */
@media(max-width:1180px){
  .aop-home-search-card .aop-search{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .aop-home-projects .aop-grid--adaptive.aop-grid--count-1{
    grid-template-columns:minmax(0,460px);
  }
  .aop-footer-main{gap:32px}
}
@media(max-width:768px){
  .aop-home-projects .aop-grid--adaptive.aop-grid--count-1,
  .aop-home-projects .aop-grid--adaptive.aop-grid--count-2,
  .aop-home-guide .aop-grid--count-1,
  .aop-home-guide .aop-grid--count-2{
    grid-template-columns:1fr;
    max-width:none;
    margin-inline:0;
  }
  .aop-home-search-card{padding:20px}
  .aop-home-search-card .aop-search{grid-template-columns:1fr}
  .aop-search__keyword{grid-column:auto}
  .aop-home-lead .aop-contact-card,
  .aop-home-lead .aop-lead-form-wrap{padding:32px 24px}
  .aop-why-list>div{padding:24px;min-height:0}
  .aop-footer-main{grid-template-columns:1fr;gap:30px}
}


/* =========================================================
   Final UI polish 2.6.0
   Homepage refinements excluding featured project-card layout.
   ========================================================= */

/* Search: clearer hierarchy and more comfortable touch/click targets. */
.aop-home-search-card{
  border:1px solid var(--aop-border);
  box-shadow:0 14px 38px rgba(11,31,51,.07);
}
.aop-home-search-title h2{
  font-size:24px;
  line-height:1.45;
  margin-bottom:0;
}
.aop-home-search-card .aop-search{
  align-items:end;
}
.aop-home-search-card .aop-search label>span{
  font-size:13px;
  font-weight:700;
  color:var(--aop-navy);
  margin-bottom:8px;
}
.aop-home-search-card .aop-search input,
.aop-home-search-card .aop-search select{
  min-height:58px;
  font-size:14px;
  border-color:#dbe3e8;
  background-color:#fff;
}
.aop-home-search-card .aop-search .aop-btn{
  min-height:58px;
  font-size:14px;
  font-weight:800;
  padding-inline:22px;
}

/* Normalize home section rhythm while keeping opportunity flush/full-bleed. */
.aop-home-why,
.aop-home-lead,
.aop-home-guide{
  padding-block:88px;
}

/* Why: stronger hierarchy and easier Arabic reading. */
.aop-home-why__grid{
  align-items:center;
  gap:80px;
}
.aop-home-why__intro h2{
  font-size:clamp(34px,3.2vw,44px);
  line-height:1.4;
}
.aop-home-why__intro p{
  font-size:16px;
  line-height:2;
}
.aop-why-list>div{
  padding:34px;
  min-height:196px;
}
.aop-why-list b{
  display:block;
  font-size:22px;
  line-height:1;
  margin-bottom:18px;
}
.aop-why-list h3{
  font-size:21px;
  line-height:1.55;
  margin:0 0 10px;
}
.aop-why-list p{
  font-size:15px;
  line-height:1.95;
}

/* Featured opportunity: facts fill available width and never look sparse. */
.aop-opportunity__facts{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  margin:30px 0;
}
.aop-opportunity__facts>div{
  min-height:92px;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.aop-opportunity__facts span{
  font-size:13px;
  line-height:1.6;
}
.aop-opportunity__facts strong{
  font-size:17px;
  line-height:1.65;
  margin-top:6px;
}
.aop-opportunity__content .aop-btn{
  min-height:50px;
  align-self:flex-start;
  padding-inline:24px;
}

/* Lead generation: increase conversion hierarchy without changing form logic. */
.aop-home-lead .aop-contact-grid{
  max-width:1240px;
}
.aop-home-lead .aop-contact-card{
  padding:64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.aop-home-lead .aop-contact-card h2{
  font-size:clamp(30px,2.8vw,40px);
  line-height:1.45;
}
.aop-home-lead .aop-contact-card p{
  font-size:16px;
  line-height:2;
  max-width:520px;
}
.aop-home-lead .aop-lead-form-wrap{
  padding:58px;
}
.aop-home-lead .aop-lead-form-wrap h3{
  font-size:29px;
  line-height:1.45;
  margin-bottom:26px;
}
.aop-home-lead .aop-field label{
  font-size:13px;
  font-weight:700;
}
.aop-home-lead .aop-field input,
.aop-home-lead .aop-field select{
  min-height:56px;
  font-size:14px;
}
.aop-home-lead .aop-field textarea{
  min-height:148px;
  font-size:14px;
}
.aop-home-lead .aop-form>.aop-btn--full{
  min-height:56px;
  background:var(--aop-teal);
  border-color:var(--aop-teal);
  font-size:14px;
  font-weight:800;
}
.aop-home-lead .aop-form>.aop-btn--full:hover,
.aop-home-lead .aop-form>.aop-btn--full:focus-visible{
  background:#11695d;
  border-color:#11695d;
}

/* Guide only renders when real articles exist; improve card reading when present. */
.aop-home-guide .aop-section-head{
  margin-bottom:34px;
}
.aop-home-guide .aop-article-card h2{
  font-size:22px;
  line-height:1.6;
}
.aop-home-guide .aop-article-card p{
  font-size:15px;
  line-height:1.9;
}

/* Final CTA: stronger conversion zone and clearer actions. */
.aop-final-cta{
  padding:82px 0;
}
.aop-final-cta__inner{
  align-items:center;
  gap:54px;
}
.aop-final-cta h2{
  font-size:clamp(34px,3.2vw,44px);
  line-height:1.4;
}
.aop-final-cta p{
  font-size:15.5px;
  line-height:1.9;
  max-width:720px;
}
.aop-final-cta .aop-btn{
  min-height:50px;
  padding-inline:24px;
  font-size:14px;
}

/* Footer: slightly larger type and calmer spacing. */
.aop-footer-main{
  padding:76px 0 70px;
  gap:54px;
}
.aop-footer-main h3{
  font-size:17.5px;
  line-height:1.5;
  margin-bottom:20px;
}
.aop-footer-main li,
.aop-footer-main a,
.aop-footer-main span{
  font-size:14.5px;
  line-height:1.85;
}
.aop-footer-brand p{
  font-size:14.5px;
  line-height:1.95;
}
.aop-footer-bottom{
  padding:20px 0;
  font-size:13px;
}

/* Tablet polish. */
@media(max-width:1024px){
  .aop-home-why,
  .aop-home-lead,
  .aop-home-guide{
    padding-block:72px;
  }
  .aop-home-why__grid{
    gap:42px;
  }
  .aop-home-lead .aop-contact-card,
  .aop-home-lead .aop-lead-form-wrap{
    padding:42px;
  }
  .aop-final-cta__inner{
    gap:34px;
  }
  .aop-footer-main{
    gap:34px;
  }
}

/* Mobile polish: preserve RTL flow and comfortable tap targets. */
@media(max-width:768px){
  .aop-home-why,
  .aop-home-lead,
  .aop-home-guide{
    padding-block:56px;
  }
  .aop-home-search-card{
    padding:20px;
    box-shadow:0 10px 26px rgba(11,31,51,.06);
  }
  .aop-home-search-card .aop-search input,
  .aop-home-search-card .aop-search select,
  .aop-home-search-card .aop-search .aop-btn{
    min-height:54px;
  }
  .aop-home-why__grid{
    gap:28px;
  }
  .aop-home-why__intro h2{
    font-size:31px;
  }
  .aop-why-list>div{
    min-height:0;
    padding:26px 24px;
  }
  .aop-why-list b{
    font-size:20px;
    margin-bottom:14px;
  }
  .aop-why-list h3{
    font-size:19px;
  }
  .aop-why-list p{
    font-size:14.5px;
  }
  .aop-opportunity__facts{
    grid-template-columns:1fr 1fr;
  }
  .aop-opportunity__facts>div{
    min-height:82px;
    padding:16px;
  }
  .aop-home-lead .aop-contact-card,
  .aop-home-lead .aop-lead-form-wrap{
    padding:32px 24px;
  }
  .aop-home-lead .aop-contact-card h2{
    font-size:29px;
  }
  .aop-home-lead .aop-lead-form-wrap h3{
    font-size:25px;
  }
  .aop-final-cta{
    padding:62px 0;
  }
  .aop-final-cta h2{
    font-size:31px;
  }
  .aop-final-cta .aop-project-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .aop-footer-main{
    padding:58px 0 52px;
    gap:30px;
  }
  .aop-footer-bottom__inner{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}

@media(max-width:390px){
  .aop-opportunity__facts{
    grid-template-columns:1fr;
  }
  .aop-final-cta .aop-project-actions{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v2.7.0 — AL OBOUR PROJECTS logo integration
   Custom Logo remains first priority; bundled logo is fallback.
   ========================================================= */
.aop-brand-logo{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
  line-height:0;
}
.aop-brand-logo img{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
}
.aop-brand-logo--header img{
  width:min(230px, 100%);
  max-height:58px;
}
.aop-brand-logo--footer{
  width:max-content;
  max-width:230px;
  padding:10px 12px;
  background:#fff;
}
.aop-brand-logo--footer img{
  width:min(205px, 100%);
  max-height:50px;
}
.aop-custom-logo .custom-logo-link{
  line-height:0;
}
@media(max-width:1024px){
  .aop-brand-logo--header img{width:min(205px,100%);max-height:52px}
}
@media(max-width:768px){
  .aop-brand-logo--header img{width:min(160px,100%);max-height:42px}
  .aop-brand-logo--footer{max-width:200px;padding:9px 10px}
  .aop-brand-logo--footer img{width:min(180px,100%);max-height:44px}
}
@media(max-width:390px){
  .aop-brand-logo--header img{width:min(145px,100%);max-height:38px}
}


/* =========================================================
   v2.8.0 — Typography + spacing polish
   Cairo remains the sole primary typeface.
   ========================================================= */

/* Map the requested visual weights to the locally bundled Cairo files.
   This avoids inconsistent synthetic bolding between Arabic and Latin. */
@font-face{
  font-family:Cairo;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/cairo-v9-arabic-400.woff2") format("woff2");
  unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face{
  font-family:Cairo;
  font-style:normal;
  font-weight:600 800;
  font-display:swap;
  src:url("assets/fonts/cairo-v9-arabic-700.woff2") format("woff2");
  unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face{
  font-family:Cairo;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/cairo-v9-latin-400.woff2") format("woff2");
  unicode-range:U+0000-024F,U+1E00-1EFF;
}
@font-face{
  font-family:Cairo;
  font-style:normal;
  font-weight:600 800;
  font-display:swap;
  src:url("assets/fonts/cairo-v9-latin-700.woff2") format("woff2");
  unicode-range:U+0000-024F,U+1E00-1EFF;
}

:root{
  --aop-type-body:16px;
  --aop-type-small:14px;
  --aop-type-label:13px;
  --aop-leading-body:1.9;
  --aop-leading-heading:1.38;
}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

body{
  font-family:Cairo,sans-serif;
  font-size:var(--aop-type-body);
  line-height:var(--aop-leading-body);
  font-weight:400;
}

body.rtl,
body.rtl *{
  letter-spacing:0;
}

h1,h2,h3,h4,h5,h6{
  font-family:Cairo,sans-serif;
  font-weight:700;
  line-height:var(--aop-leading-heading);
  text-wrap:balance;
}

p{
  line-height:1.9;
}

.aop-kicker{
  font-size:13.5px;
  line-height:1.55;
  font-weight:700;
}

.aop-text-link{
  font-size:14.5px;
  font-weight:700;
  line-height:1.6;
}

/* Header */
.aop-topbar{
  font-size:12.5px;
  line-height:1.65;
}
.aop-topbar__inner{
  min-height:38px;
}
.aop-header-main{
  min-height:86px;
  gap:28px;
}
.aop-nav ul{
  gap:28px;
}
.aop-nav a{
  font-size:15.5px;
  line-height:1.5;
  font-weight:700;
}
.aop-brand-logo--header img{
  width:min(205px,100%);
  max-height:50px;
}

/* Hero */
.aop-home-hero__copy h1{
  font-size:clamp(44px,4.5vw,62px);
  line-height:1.24;
  font-weight:700;
  margin:12px 0 18px;
}
.aop-home-hero__copy p{
  font-size:17.5px;
  line-height:1.95;
  max-width:720px;
}
.aop-hero-feature>span,
.aop-hero-feature small{
  font-size:13px;
  line-height:1.65;
}
.aop-hero-feature strong{
  font-size:21px;
  line-height:1.55;
}
.aop-hero-feature b{
  font-size:18px;
}

/* Search */
.aop-home-search-title h2{
  font-size:24px;
  line-height:1.4;
  font-weight:700;
}
.aop-search label>span{
  font-size:13px;
  line-height:1.55;
  font-weight:700;
}
.aop-search input,
.aop-search select{
  min-height:58px;
  font:500 14.5px/1.5 Cairo,sans-serif;
  padding-inline:16px;
}
.aop-search .aop-btn{
  min-height:58px;
  font-size:14.5px;
  font-weight:700;
}

/* Section hierarchy */
.aop-section-head{
  margin-bottom:36px;
}
.aop-section-head h2{
  font-size:clamp(31px,3vw,40px);
  line-height:1.35;
  font-weight:700;
}
.aop-section-head p{
  font-size:15.5px;
  line-height:1.9;
  max-width:760px;
}

/* Project cards: typography only — layout remains untouched */
.aop-project-card__title{
  font-size:21px;
  line-height:1.55;
  font-weight:700;
}
.aop-card-eyebrow{
  font-size:12.5px;
  line-height:1.65;
}
.aop-spec-grid span{
  font-size:12px;
  line-height:1.55;
}
.aop-spec-grid strong{
  font-size:14px;
  line-height:1.6;
  font-weight:700;
}
.aop-spec-grid>div:first-child strong{
  font-size:16px;
}
.aop-card-actions .aop-btn{
  font-size:13px;
  font-weight:700;
}

/* Why section */
.aop-home-why__intro h2{
  font-size:clamp(35px,3.1vw,44px);
  line-height:1.42;
  font-weight:700;
}
.aop-home-why__intro p{
  font-size:16px;
  line-height:2;
}
.aop-why-list b{
  font-size:20px;
}
.aop-why-list h3{
  font-size:20.5px;
  line-height:1.55;
  font-weight:700;
}
.aop-why-list p{
  font-size:15px;
  line-height:1.95;
}

/* Featured opportunity */
.aop-opportunity__content h2{
  font-size:clamp(35px,3vw,44px);
  line-height:1.42;
  font-weight:700;
}
.aop-opportunity__facts span{
  font-size:13px;
  line-height:1.6;
}
.aop-opportunity__facts strong{
  font-size:17px;
  line-height:1.65;
  font-weight:700;
}

/* Lead form */
.aop-contact-card h2{
  font-size:clamp(31px,2.8vw,40px);
  line-height:1.45;
  font-weight:700;
}
.aop-contact-card p{
  font-size:16px;
  line-height:2;
}
.aop-lead-form-wrap h3{
  font-size:28px;
  line-height:1.45;
  font-weight:700;
}
.aop-field label{
  font-size:13.5px;
  line-height:1.55;
  font-weight:700;
}
.aop-field input,
.aop-field select,
.aop-field textarea{
  font:500 15px/1.6 Cairo,sans-serif;
}
.aop-form>.aop-btn--full{
  font-size:14.5px;
  font-weight:700;
}

/* Final CTA + footer */
.aop-final-cta h2{
  font-size:clamp(34px,3.1vw,43px);
  line-height:1.4;
  font-weight:700;
}
.aop-final-cta p{
  font-size:15.5px;
  line-height:1.9;
}
.aop-footer-main h3{
  font-size:17px;
  line-height:1.5;
  font-weight:700;
}
.aop-footer-main li,
.aop-footer-main a,
.aop-footer-main span{
  font-size:14.5px;
  line-height:1.9;
}
.aop-footer-brand p{
  font-size:14.5px;
  line-height:1.95;
}
.aop-footer-bottom{
  font-size:13px;
  line-height:1.7;
}

/* Buttons */
.aop-btn{
  font-family:Cairo,sans-serif;
  font-size:14.5px;
  line-height:1.5;
  font-weight:700;
}

/* Mixed-direction data stays readable in Arabic UI */
.aop-price,
.aop-phone,
.aop-email,
.aop-ltr,
.aop-site-footer a[href^="tel:"],
.aop-site-footer a[href^="mailto:"]{
  unicode-bidi:isolate;
}

/* Tablet */
@media(max-width:1024px){
  body{font-size:15.5px}
  .aop-header-main{min-height:78px}
  .aop-nav ul{gap:20px}
  .aop-nav a{font-size:14.5px}
  .aop-home-hero__copy h1{font-size:40px}
  .aop-home-hero__copy p{font-size:16px}
  .aop-section-head h2{font-size:32px}
}

/* Mobile */
@media(max-width:768px){
  body{
    font-size:15px;
    line-height:1.85;
  }
  .aop-header-main{min-height:70px}
  .aop-brand-logo--header img{
    width:min(158px,100%);
    max-height:40px;
  }
  .aop-nav a{
    font-size:15px;
    padding-block:14px;
  }
  .aop-home-hero__copy h1{
    font-size:34px;
    line-height:1.38;
  }
  .aop-home-hero__copy p{
    font-size:15px;
    line-height:1.9;
  }
  .aop-section-head h2{
    font-size:29px;
    line-height:1.4;
  }
  .aop-section-head p{font-size:14.5px}
  .aop-home-search-title h2{font-size:21px}
  .aop-search label>span{font-size:12.5px}
  .aop-search input,
  .aop-search select,
  .aop-search .aop-btn{
    min-height:54px;
    font-size:14px;
  }
  .aop-project-card__title{font-size:19px}
  .aop-home-why__intro h2{font-size:30px}
  .aop-home-why__intro p{font-size:15px}
  .aop-why-list h3{font-size:19px}
  .aop-why-list p{font-size:14.5px}
  .aop-contact-card h2{font-size:29px}
  .aop-lead-form-wrap h3{font-size:25px}
  .aop-final-cta h2{font-size:30px}
}

/* Small mobile */
@media(max-width:390px){
  .aop-home-hero__copy h1{font-size:30px}
  .aop-section-head h2{font-size:27px}
  .aop-btn{font-size:14px}
}


/* =========================================================
   v2.9.0 — Homepage refinement
   - Final hero/search sizing requested by the user.
   - New four-card WHY section.
   ========================================================= */

/* Hero title: reduced from the previous 62px ceiling. */
.aop-home-hero__copy h1{
  font-size:clamp(36px,3.8vw,52px);
  line-height:1.28;
  font-weight:700;
  margin:10px 0 16px;
}

/* Search: slightly more compact. */
.aop-home-search-card{
  padding:16px 20px;
  grid-template-columns:180px 1fr;
  gap:18px;
}
.aop-home-search-title h2{
  font-size:18px;
  line-height:1.35;
  margin:3px 0 0;
}
.aop-home-search-card .aop-search{gap:8px}
.aop-search label{gap:5px}
.aop-search label>span{
  font-size:12px;
  line-height:1.4;
}
.aop-search input,
.aop-search select{
  min-height:46px;
  height:46px;
  padding:8px 12px;
  font-size:13px;
}
.aop-search .aop-btn{
  min-height:46px;
  height:46px;
  padding:8px 16px;
  font-size:13px;
}

/* New WHY section */
.aop-home-why{
  background:var(--aop-warm);
}
.aop-home-why .container{
  display:block;
}
.aop-why-heading{
  max-width:780px;
  margin:0 auto 42px;
  text-align:center;
}
.aop-why-heading h2{
  margin:0 0 12px;
  color:var(--aop-navy);
  font-size:clamp(30px,2.8vw,38px);
  line-height:1.4;
  font-weight:700;
}
.aop-why-heading p{
  margin:0;
  color:var(--aop-muted);
  font-size:15px;
  line-height:1.95;
}
.aop-why-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.aop-why-card{
  min-height:210px;
  padding:28px 24px;
  background:#fff;
  border:1px solid var(--aop-border);
  transition:border-color .2s ease,transform .2s ease;
}
.aop-why-card:hover{
  border-color:var(--aop-teal);
  transform:translateY(-2px);
}
.aop-why-card__number{
  display:block;
  margin-bottom:18px;
  color:var(--aop-teal);
  font-size:13px;
  line-height:1;
  font-weight:700;
}
.aop-why-card h3{
  margin:0 0 10px;
  color:var(--aop-navy);
  font-size:19px;
  line-height:1.55;
  font-weight:700;
}
.aop-why-card p{
  margin:0;
  color:var(--aop-muted);
  font-size:14px;
  line-height:1.9;
}

@media(max-width:1024px){
  .aop-home-hero__copy h1{
    font-size:38px;
    line-height:1.32;
  }
  .aop-home-search-card{
    padding:15px 18px;
  }
  .aop-why-heading{
    max-width:700px;
    margin-bottom:32px;
  }
  .aop-why-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .aop-why-card{
    min-height:190px;
  }
}

@media(max-width:768px){
  .aop-home-hero__copy h1{
    font-size:30px;
    line-height:1.4;
  }
  .aop-home-search-card{
    padding:14px;
    gap:12px;
  }
  .aop-home-search-title h2{
    font-size:17px;
  }
  .aop-search input,
  .aop-search select,
  .aop-search .aop-btn{
    min-height:44px;
    height:44px;
    font-size:13px;
  }
  .aop-why-heading{
    max-width:none;
    margin-bottom:26px;
    text-align:start;
  }
  .aop-why-heading h2{
    font-size:28px;
  }
  .aop-why-heading p{
    font-size:14.5px;
  }
  .aop-why-cards{
    grid-template-columns:1fr;
    gap:12px;
  }
  .aop-why-card{
    min-height:auto;
    padding:22px;
  }
  .aop-why-card__number{
    margin-bottom:12px;
  }
  .aop-why-card h3{
    font-size:18px;
  }
}

@media(max-width:390px){
  .aop-home-hero__copy h1{
    font-size:27px;
    line-height:1.42;
  }
  .aop-why-heading h2{
    font-size:26px;
  }
  .aop-why-card{
    padding:20px;
  }
}


/* =========================================================
   v3.0.0 — Developer taxonomy page redesign
   ========================================================= */

.aop-developer-page{
  background:var(--aop-warm);
}

/* Hero */
.aop-developer-hero{
  padding:34px 0 58px;
  background:#edf3f7;
  border-bottom:1px solid var(--aop-border);
}

.aop-developer-hero .aop-breadcrumbs{
  margin-bottom:28px;
}

.aop-developer-hero__grid{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:46px;
  align-items:center;
}

.aop-developer-brand{
  background:#fff;
  border:1px solid var(--aop-border);
}

.aop-developer-brand__logo{
  min-height:205px;
  padding:28px;
  display:grid;
  place-items:center;
  border-bottom:1px solid var(--aop-border);
}

.aop-developer-brand__logo img{
  display:block;
  width:auto;
  max-width:175px;
  max-height:105px;
  object-fit:contain;
}

.aop-developer-brand__initial{
  display:grid;
  place-items:center;
  width:96px;
  height:96px;
  border:1px solid var(--aop-teal);
  color:var(--aop-teal);
  font-size:48px;
  font-weight:700;
}

.aop-developer-brand__count{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:16px 20px;
}

.aop-developer-brand__count strong{
  color:var(--aop-teal);
  font-size:25px;
  line-height:1;
}

.aop-developer-brand__count span{
  color:var(--aop-muted);
  font-size:13px;
}

.aop-developer-eyebrow{
  display:block;
  margin-bottom:10px;
  color:var(--aop-teal);
  font-size:13px;
  font-weight:700;
}

.aop-developer-hero__content h1{
  max-width:980px;
  margin:0 0 16px;
  color:var(--aop-navy);
  font-size:clamp(34px,4vw,50px);
  line-height:1.35;
  font-weight:700;
}

.aop-developer-hero__summary{
  max-width:850px;
  margin:0;
  color:var(--aop-muted);
  font-size:16px;
  line-height:1.95;
}

.aop-developer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}


/* About */
.aop-developer-about__grid{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:64px;
  align-items:start;
}

.aop-developer-about__intro{
  position:sticky;
  top:130px;
}

.aop-developer-about__intro>span{
  display:block;
  margin-bottom:10px;
  color:var(--aop-teal);
  font-size:13px;
  font-weight:700;
}

.aop-developer-about__intro h2{
  margin:0 0 14px;
  color:var(--aop-navy);
  font-size:30px;
  line-height:1.45;
}

.aop-developer-about__intro p{
  margin:0;
  color:var(--aop-muted);
  font-size:14px;
  line-height:1.9;
}

.aop-developer-about__content{
  max-width:900px;
  color:var(--aop-text);
  font-size:16px;
  line-height:2;
}

.aop-developer-about__content> :first-child{
  margin-top:0;
}

.aop-developer-about__content h2{
  margin:34px 0 14px;
  color:var(--aop-navy);
  font-size:26px;
  line-height:1.45;
}

.aop-developer-about__content h3{
  margin:28px 0 12px;
  color:var(--aop-navy);
  font-size:21px;
  line-height:1.5;
}

.aop-developer-about__content p{
  margin:0 0 18px;
}

.aop-developer-about__content ul,
.aop-developer-about__content ol{
  margin:0 0 22px;
  padding-inline-start:24px;
}

.aop-developer-about__content li{
  margin-bottom:8px;
}

.aop-developer-about__content a{
  color:var(--aop-teal);
  text-decoration:underline;
  text-underline-offset:3px;
}


/* Projects */
.aop-developer-projects{
  background:var(--aop-warm);
}

.aop-developer-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:30px;
}

.aop-developer-section-head>div:first-child>span{
  display:block;
  color:var(--aop-teal);
  font-size:13px;
  font-weight:700;
  margin-bottom:5px;
}

.aop-developer-section-head h2{
  margin:0;
  color:var(--aop-navy);
  font-size:clamp(28px,3vw,38px);
  line-height:1.4;
}

.aop-developer-section-count{
  min-width:92px;
  padding:12px 16px;
  border:1px solid var(--aop-border);
  background:#fff;
  text-align:center;
}

.aop-developer-section-count strong{
  display:block;
  color:var(--aop-teal);
  font-size:24px;
  line-height:1.1;
}

.aop-developer-section-count span{
  display:block;
  margin-top:5px;
  color:var(--aop-muted);
  font-size:12px;
}

.aop-developer-filter{
  margin-bottom:32px;
}

.aop-developer-filter .aop-search{
  padding:16px;
  background:#fff;
}

.aop-developer-project-grid{
  margin-top:4px;
}

.aop-developer-empty{
  min-height:210px;
  padding:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:#fff;
  border:1px solid var(--aop-border);
}

.aop-developer-empty>div{
  max-width:720px;
}

.aop-developer-empty span{
  display:block;
  margin-bottom:8px;
  color:var(--aop-teal);
  font-size:13px;
  font-weight:700;
}

.aop-developer-empty h3{
  margin:0 0 10px;
  color:var(--aop-navy);
  font-size:23px;
  line-height:1.5;
}

.aop-developer-empty p{
  margin:0;
  color:var(--aop-muted);
  font-size:14.5px;
  line-height:1.9;
}


/* Inquiry */
.aop-developer-inquiry__grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  border:1px solid var(--aop-border);
}

.aop-developer-inquiry__content{
  padding:46px;
  background:var(--aop-navy);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.aop-developer-inquiry__content h2{
  margin:0 0 14px;
  color:#fff;
  font-size:32px;
  line-height:1.45;
}

.aop-developer-inquiry__content p{
  margin:0;
  color:#c8d3db;
  font-size:15.5px;
  line-height:1.95;
}

.aop-developer-inquiry__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.aop-developer-inquiry__links a{
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  padding:9px 12px;
  font-size:13px;
}

.aop-developer-inquiry__links a:hover{
  border-color:var(--aop-teal);
  color:#9ce0d3;
}

.aop-developer-inquiry__form{
  padding:40px;
  background:#fff;
}

.aop-developer-inquiry__form h3{
  margin:0 0 24px;
  color:var(--aop-navy);
  font-size:26px;
  line-height:1.45;
}


/* Responsive */
@media(max-width:1024px){
  .aop-developer-hero__grid{
    grid-template-columns:210px minmax(0,1fr);
    gap:34px;
  }

  .aop-developer-brand__logo{
    min-height:180px;
  }

  .aop-developer-about__grid{
    grid-template-columns:240px minmax(0,1fr);
    gap:42px;
  }
}

@media(max-width:768px){
  .aop-developer-hero{
    padding:24px 0 42px;
  }

  .aop-developer-hero__grid,
  .aop-developer-about__grid,
  .aop-developer-inquiry__grid{
    grid-template-columns:1fr;
  }

  .aop-developer-brand{
    max-width:260px;
  }

  .aop-developer-brand__logo{
    min-height:150px;
  }

  .aop-developer-hero__content h1{
    font-size:31px;
  }

  .aop-developer-hero__summary{
    font-size:15px;
  }

  .aop-developer-about__intro{
    position:static;
  }

  .aop-developer-about__intro h2{
    font-size:27px;
  }

  .aop-developer-about__content{
    font-size:15px;
  }

  .aop-developer-section-head{
    align-items:start;
  }

  .aop-developer-section-head h2{
    font-size:29px;
  }

  .aop-developer-empty{
    display:block;
    padding:26px;
  }

  .aop-developer-empty .aop-btn{
    margin-top:20px;
  }

  .aop-developer-inquiry__content,
  .aop-developer-inquiry__form{
    padding:28px 22px;
  }

  .aop-developer-inquiry__content h2{
    font-size:27px;
  }
}

@media(max-width:390px){
  .aop-developer-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .aop-developer-actions .aop-btn{
    width:100%;
  }

  .aop-developer-section-head{
    display:block;
  }

  .aop-developer-section-count{
    width:max-content;
    margin-top:14px;
  }
}
