:root{
    --lime:#B7F31F;
    --lime-2:#A6E600;
    --lime-soft:#F4FFD7;

    --black:#070807;
    --black-2:#101210;
    --black-3:#171A17;

    --ink:#101510;
    --text:#344036;
    --muted:#3D413D;

    /* Accessible colors for text on light backgrounds */
    --accent-dark:#465E00;
    --accent-darker:#2F4100;
    --dark-muted:#B7C0B8;

    --line:#E1E6E2;
    --bg:#F7F9F6;
    --white:#FFFFFF;

    --shadow:0 18px 50px rgba(10,20,12,.08);
    --radius:18px;
    --container:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Tajawal', sans-serif;
    background:#fff;
    color:var(--text);
    line-height:1.7;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.re-container{width:min(var(--container),calc(100% - 32px));margin-inline:auto}

/* HEADER */
.site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(230,234,230,.96);
}
.header-row{
    height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.brand{
    display:flex;
    align-items:center;
    gap:11px;
}
.brand-mark{
    width:47px;
    height:47px;
    display:grid;
    place-items:center;
    padding:5px;
    border-radius:12px;
    background:var(--lime);
}
.brand-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.brand-copy strong{
    display:block;
    color:var(--black);
    font-size:16px;
    font-weight:900;
}
.brand-copy small{
    display:block;
    margin-top:-2px;
    color:#4F5B52;
    font-size:10px;
    letter-spacing:1.2px;
}
.main-nav{
    display:flex;
    align-items:center;
    gap:24px;
    color:#252C26;
    font-size:12px;
    font-weight:800;
}
.main-nav a{
    transition:.18s ease;
}
.main-nav a:hover{
    color:#6E9500;
}
.nav-cta{
    padding:10px 17px;
    border-radius:9px;
    background:var(--black)!important;
    color:var(--lime)!important;
}
.menu-toggle{
    display:none;
    border:0;
    background:transparent;
    padding:8px;
}
.menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    background:var(--black);
    margin:5px;
}

/* BUTTONS */
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 23px;
    border-radius:10px;
    border:1px solid transparent;
    font-size:13px;
    font-weight:900;
    transition:.18s ease;
    cursor:pointer;
}
.btn:hover{
    transform:translateY(-2px);
}
.btn-primary{
    background:var(--lime);
    color:#0A0A0A;
    box-shadow:0 12px 28px rgba(183,243,31,.13);
}
.btn-primary:hover{
    background:#C2FF26;
}
.btn-outline-light{
    border-color:rgba(255,255,255,.22);
    background:rgba(255,255,255,.04);
    color:#fff;
}
.btn-outline{
    border-color:#D4DAD4;
    background:#fff;
    color:var(--black);
}
.btn-light{
    background:#fff;
    color:#111;
}
.btn-black{
    background:#080908;
    color:var(--lime);
}
.btn-block{
    width:100%;
}

/* HERO */
.hero{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 20% 20%,rgba(183,243,31,.13),transparent 25%),
        linear-gradient(135deg,#050605 0%,#0C0F0C 58%,#121512 100%);
    color:#fff;
}
.hero::after{
    content:"";
    position:absolute;
    left:-180px;
    bottom:-240px;
    width:600px;
    height:600px;
    border-radius:50%;
    border:1px solid rgba(183,243,31,.08);
    box-shadow:
        0 0 0 70px rgba(183,243,31,.018),
        0 0 0 140px rgba(183,243,31,.009);
}
.hero-grid-lines{
    position:absolute;
    inset:0;
    opacity:.55;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:40px 40px;
}
.hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:center;
    min-height:610px;
    padding-block:76px;
}
.hero-logo-row{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:24px;
}
.hero-logo-row img{
    width:68px;
    height:68px;
    object-fit:contain;
    padding:7px;
    border-radius:16px;
    background:var(--lime);
}
.hero-logo-row span{
    display:block;
    color:#fff;
    font-size:15px;
    font-weight:900;
}
.hero-logo-row small{
    display:block;
    color:#C3CBC5;
    font-size:10px;
    letter-spacing:1.7px;
}
.eyebrow{
    display:inline-block;
    color:var(--lime);
    font-size:12px;
    font-weight:900;
}

.section-kicker{
    display:inline-block;
    color:var(--accent-dark);
    font-size:12px;
    font-weight:900;
}
.hero-copy h1{
    max-width:780px;
    margin:10px 0 0;
    color:#fff;
    font-size:clamp(42px,5vw,67px);
    line-height:1.25;
    letter-spacing:-1.4px;
}
.hero-copy h1 span{
    display:block;
    color:var(--lime);
}
.hero-copy>p{
    max-width:700px;
    margin:18px 0 0;
    color:#FFF;
    font-size:15px;
    line-height:2;
}
.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}
.hero-trust{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:36px;
}
.hero-trust div{
    padding:13px 14px;
    border-top:1px solid rgba(255,255,255,.10);
}
.hero-trust strong{
    display:block;
    color:var(--lime);
    font-size:13px;
}
.hero-trust span{
    display:block;
    margin-top:2px;
    color:#FFF;
    font-size:9px;
}

.hero-panel{
    padding:30px;
    border:1px solid rgba(183,243,31,.16);
    border-radius:19px;
    background:
        linear-gradient(145deg,rgba(183,243,31,.06),rgba(255,255,255,.025));
    backdrop-filter:blur(12px);
    box-shadow:0 30px 70px rgba(0,0,0,.28);
}
.panel-badge{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(183,243,31,.10);
    color:var(--lime);
    font-size:9px;
    font-weight:900;
}
.hero-panel h2{
    margin:13px 0 8px;
    color:#fff;
    font-size:28px;
    line-height:1.45;
}
.hero-panel p{
    margin:0;
    color:#FFF;
    font-size:12px;
    line-height:1.9;
}
.panel-link{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:20px;
    padding:15px 17px;
    border-radius:10px;
    background:var(--lime);
    color:#0A0A0A;
    font-size:12px;
    font-weight:900;
}
.panel-link b{
    font-size:18px;
}
.license-line{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#FFF;
    font-size:9px;
}
.license-line strong{
    color:#F4F6F4;
}

/* HEADINGS */
.section-head{
    max-width:730px;
    margin:0 auto 30px;
    text-align:center;
}
.section-head>span{
    color:var(--accent-dark);
    font-size:12px;
    font-weight:900;
}
.section-head h2{
    margin:6px 0 8px;
    color:var(--ink);
    font-size:32px;
    line-height:1.45;
}
.section-head p{
    margin:0;
    color:var(--muted);
    font-size:12px;
}
.section-head-row{
    max-width:none;
    display:flex;
    align-items:end;
    justify-content:space-between;
    text-align:initial;
}
.text-link{
    color:var(--accent-dark);
    font-size:12px;
    font-weight:900;
}

/* SERVICES */
.services-section{
    padding:66px 0;
    background:#fff;
}
.services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.service-card{
    position:relative;
    overflow:hidden;
    padding:25px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    transition:.18s ease;
}
.service-card::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:3px;
    background:var(--lime);
    transform:scaleX(.25);
    transform-origin:right;
    transition:.18s ease;
}
.service-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow);
    border-color:#D6DED7;
}
.service-card:hover::before{
    transform:scaleX(1);
}
.service-no{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border-radius:11px;
    background:#F5F7F5;
    color:#687268;
    font-size:11px;
    font-weight:900;
}
.service-card h3{
    margin:16px 0 6px;
    color:var(--black);
    font-size:18px;
}
.service-card p{
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:1.9;
}
.service-card a{
    display:inline-block;
    margin-top:16px;
    color:var(--accent-dark);
    font-size:12px;
    font-weight:900;
}
.service-card-dark{
    background:#090A09;
    border-color:#090A09;
}
.service-card-dark .service-no{
    background:var(--lime);
    color:#090A09;
}
.service-card-dark h3{
    color:#fff;
}
.service-card-dark p{
    color:#A8B0AA;
}
.service-card-dark a{
    color:var(--lime);
}

/* PROPERTIES */
.properties-section{
    padding:65px 0;
    background:var(--bg);
}
.properties-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.property-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 22px rgba(19,38,29,.035);
}
.property-image{
    position:relative;
    display:block;
    height:220px;
    overflow:hidden;
    background:#EEF1EE;
}
.property-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.25s;
}
.property-card:hover .property-image img{
    transform:scale(1.025);
}
.property-placeholder,
.detail-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:
        linear-gradient(145deg,#ECEFEC,#F8F9F8);
    color:#566058;
    font-size:24px;
    font-weight:900;
}
.property-purpose{
    position:absolute;
    top:13px;
    right:13px;
    padding:6px 10px;
    border-radius:7px;
    background:#090A09;
    color:var(--lime);
    font-size:9px;
    font-weight:900;
}
.property-body{
    padding:18px;
}
.property-location{
    color:var(--accent-dark);
    font-size:11px;
    font-weight:900;
}
.property-body h3{
    margin:4px 0 10px;
    color:var(--ink);
    font-size:18px;
}
.property-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.property-meta span{
    padding:5px 8px;
    border-radius:7px;
    background:#F3F5F3;
    color:#4D584F;
    font-size:11px;
}
.property-foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #EDF0ED;
}
.property-foot strong{
    color:var(--black);
    font-size:15px;
}
.property-foot a{
    color:var(--accent-dark);
    font-size:11px;
    font-weight:900;
}

/* BRAND SECTION */
.brand-section{
    padding:72px 0;
    background:#fff;
}
.brand-section-grid{
    display:grid;
    grid-template-columns:.75fr 1.15fr;
    gap:70px;
    align-items:center;
}
.brand-logo-box{
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
    max-width:390px;
    margin-inline:auto;
    padding:54px;
    border-radius:28px;
    background:var(--lime);
    box-shadow:0 30px 70px rgba(111,153,0,.15);
}
.brand-logo-box img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.brand-section-copy h2{
    margin:7px 0 10px;
    color:var(--black);
    font-size:36px;
    line-height:1.4;
}
.brand-section-copy p{
    color:var(--muted);
    font-size:13px;
    line-height:2;
}
.brand-points{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}
.brand-points span{
    padding:8px 12px;
    border-radius:999px;
    background:#F5F7F5;
    color:#454D46;
    font-size:10px;
    font-weight:800;
}

/* FAQ */
.faq-section{
    padding:64px 0;
    background:#F8F9F8;
    border-block:1px solid var(--line);
}
.faq-list{
    max-width:900px;
    margin:auto;
    display:grid;
    gap:9px;
}
.faq-list details{
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:0 17px;
}
.faq-list summary{
    cursor:pointer;
    list-style:none;
    position:relative;
    padding:16px 30px 16px 0;
    color:var(--black);
    font-size:12px;
    font-weight:900;
}
.faq-list summary::after{
    content:"+";
    position:absolute;
    left:0;
    top:10px;
    color:#7CA600;
    font-size:22px;
}
.faq-list details[open] summary::after{
    content:"−";
}
.faq-list p{
    margin:0;
    padding:0 0 16px;
    color:var(--muted);
    font-size:11px;
}

/* FINAL CTA */
.final-cta{
    padding:55px 0;
}
.final-cta-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:35px 40px;
    border-radius:17px;
    background:var(--lime);
    color:#090A09;
}
.final-cta-box>div>span{
    color:#4D6900;
    font-size:10px;
    font-weight:900;
}
.final-cta-box h2{
    margin:5px 0;
    color:#090A09;
    font-size:30px;
}
.final-cta-box p{
    margin:0;
    color:#425000;
    font-size:11px;
}

/* PAGE HERO */
.page-hero{
    padding:55px 0;
    background:
        radial-gradient(circle at 80% 20%,rgba(183,243,31,.12),transparent 28%),
        linear-gradient(135deg,#F5F7F5,#fff);
    border-bottom:1px solid var(--line);
}
.page-hero span{
    color:var(--accent-dark);
    font-size:12px;
    font-weight:900;
}
.page-hero h1{
    margin:5px 0;
    color:var(--black);
    font-size:40px;
}
.page-hero p{
    max-width:700px;
    margin:0;
    color:var(--muted);
    font-size:12px;
}

/* LISTING */
.listing-section{
    padding:45px 0 70px;
}
.filter-bar{
    display:grid;
    grid-template-columns:repeat(4,1fr) auto;
    gap:9px;
    margin-bottom:28px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    box-shadow:0 10px 30px rgba(19,38,29,.04);
}
.filter-bar input,
.filter-bar select,
.request-form input,
.request-form select,
.request-form textarea{
    width:100%;
    border:1px solid #DDE2DD;
    border-radius:9px;
    background:#fff;
    color:var(--black);
    outline:none;
}
.filter-bar input,
.filter-bar select{
    height:45px;
    padding:0 12px;
}
.filter-bar input:focus,
.filter-bar select:focus,
.request-form input:focus,
.request-form select:focus,
.request-form textarea:focus{
    border-color:#B1D94A;
    box-shadow:0 0 0 3px rgba(183,243,31,.10);
}
.empty-state{
    padding:60px 20px;
    text-align:center;
    border:1px dashed #CDD3CE;
    border-radius:15px;
    background:#FAFBFA;
}
.empty-state h2{
    color:var(--black);
}
.empty-state p{
    color:var(--muted);
    font-size:12px;
}
.pagination-wrap{
    margin-top:30px;
}

/* PROPERTY DETAIL */
.property-detail{
    padding:30px 0 70px;
}
.breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:20px;
    color:#4F5A51;
    font-size:11px;
}
.property-detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:28px;
    align-items:start;
}
.detail-image{
    height:480px;
    overflow:hidden;
    border-radius:18px;
    background:#EEF1EE;
}
.detail-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.detail-content{
    padding:28px 5px;
}
.detail-badge{
    display:inline-block;
    padding:6px 9px;
    border-radius:7px;
    background:var(--lime);
    color:#0A0A0A;
    font-size:9px;
    font-weight:900;
}
.detail-content h1{
    margin:10px 0 4px;
    color:var(--black);
    font-size:34px;
}
.detail-location{
    color:var(--muted);
    font-size:11px;
}
.detail-specs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin:24px 0;
}
.detail-specs div{
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.detail-specs small{
    display:block;
    color:var(--muted);
    font-size:8px;
}
.detail-specs strong{
    display:block;
    margin-top:2px;
    color:var(--black);
}
.detail-content h2{
    color:var(--black);
    font-size:21px;
}
.detail-content>p{
    color:#566057;
    font-size:12px;
    line-height:2;
}
.license-box{
    margin-top:20px;
    padding:13px;
    border-radius:9px;
    background:#F6F7F6;
    color:#566057;
    font-size:10px;
}
.detail-side{
    position:sticky;
    top:100px;
    padding:25px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow);
}
.detail-side>span{
    display:block;
    color:var(--muted);
    font-size:9px;
}
.detail-price{
    display:block;
    margin:3px 0 20px;
    color:var(--black);
    font-size:25px;
}
.detail-side .btn+.btn{
    margin-top:8px;
}
.detail-agent{
    margin-top:20px;
    padding-top:15px;
    border-top:1px solid var(--line);
}
.detail-agent span,
.detail-agent small{
    display:block;
}
.detail-agent span{
    color:var(--black);
    font-size:11px;
    font-weight:900;
}
.detail-agent small{
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
}
.related-block{
    margin-top:30px;
}

/* ABOUT + CONTACT */
.content-section,
.contact-section{
    padding:60px 0;
}
.content-grid,
.contact-grid{
    display:grid;
    grid-template-columns:1.05fr .8fr;
    gap:55px;
    align-items:start;
}
.content-card{
    padding:30px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
.content-card h2,
.contact-info h2{
    margin:7px 0;
    color:var(--black);
    font-size:31px;
}
.content-card p,
.contact-info>p{
    color:var(--muted);
    font-size:12px;
    line-height:2;
}
.values-card{
    display:grid;
    gap:10px;
}
.values-card div{
    padding:20px;
    border-radius:13px;
    background:#F5F7F5;
}
.values-card strong{
    display:block;
    color:var(--accent-dark);
    font-size:14px;
}
.values-card span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
}
.contact-lines{
    display:grid;
    gap:9px;
    margin-top:24px;
}
.contact-lines a{
    padding:15px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.contact-lines small,
.contact-lines strong{
    display:block;
}
.contact-lines small{
    color:var(--muted);
    font-size:8px;
}
.contact-lines strong{
    margin-top:2px;
    color:var(--black);
    font-size:11px;
}
.request-form{
    padding:28px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow);
}
.request-form h2{
    margin:0 0 17px;
    color:var(--black);
}
.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}
.form-grid label>span{
    display:block;
    margin-bottom:5px;
    color:#454D46;
    font-size:9px;
    font-weight:900;
}
.request-form input,
.request-form select{
    height:46px;
    padding:0 11px;
}
.request-form textarea{
    padding:11px;
    resize:vertical;
}
.form-full{
    grid-column:1/-1;
}
.request-form .btn{
    margin-top:16px;
}
.form-errors{
    margin-bottom:15px;
    padding:12px;
    border-radius:9px;
    background:#FFF1F1;
    color:#8A3030;
    font-size:10px;
}
.form-errors ul{
    margin:5px 0 0;
    padding-right:18px;
}
.flash-success{
    margin-top:18px;
    padding:13px 16px;
    border:1px solid #CAE77C;
    border-radius:10px;
    background:#F5FFD8;
    color:#3C5700;
    font-size:11px;
    font-weight:800;
}

/* FOOTER */
.site-footer{
    padding-top:50px;
    background:#070807;
    color:#fff;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.2fr repeat(3,.7fr);
    gap:45px;
}
.footer-brand-wrap{
    display:flex;
    align-items:center;
    gap:12px;
}
.footer-brand-wrap img{
    width:58px;
    height:58px;
    padding:6px;
    border-radius:14px;
    background:var(--lime);
}
.footer-brand-wrap strong{
    display:block;
    color:#fff;
    font-size:16px;
}
.footer-brand-wrap small{
    display:block;
    color:#B7C0B8;
    font-size:10px;
    letter-spacing:1px;
}
.footer-grid p{
    max-width:360px;
    color:#FFFFFF;
    font-size:11px;
    line-height:2;
}
.footer-grid h3{
    margin:0 0 10px;
    color:#fff;
    font-size:11px;
}
.footer-grid a,
.footer-grid span{
    display:block;
    margin:7px 0;
    color:#FFFFFF;
    font-size:11px;
    line-height:1.6;

}
.footer-grid a:hover{
    color:var(--lime);
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:35px;
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.08);
    color:#FFFFFF;
    font-size:10px;
}

/* RESPONSIVE */
@media(max-width:980px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .properties-grid{grid-template-columns:repeat(2,1fr)}
    .hero-grid,
    .brand-section-grid,
    .content-grid,
    .contact-grid{
        grid-template-columns:1fr;
        gap:35px;
    }
    .hero-grid{min-height:auto}
    .hero-panel{max-width:620px}
    .property-detail-grid{grid-template-columns:1fr}
    .detail-side{position:static}
    .filter-bar{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
    .header-row{height:68px}
    .menu-toggle{display:block}
    .main-nav{
        position:absolute;
        top:68px;
        right:16px;
        left:16px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:12px;
        border:1px solid var(--line);
        border-radius:12px;
        background:#fff;
        box-shadow:var(--shadow);
    }
    .main-nav.is-open{display:flex}
    .main-nav a{padding:11px 10px}
    .nav-cta{text-align:center;margin-top:5px}
    .hero-grid{padding-block:55px}
    .hero-copy h1{font-size:39px}
    .hero-copy>p{font-size:12px}
    .hero-trust{grid-template-columns:1fr}
    .section-head h2{font-size:26px}
    .section-head-row{display:block;text-align:center}
    .section-head-row .text-link{display:inline-block;margin-top:10px}
    .detail-image{height:330px}
    .detail-specs{grid-template-columns:repeat(2,1fr)}
    .final-cta-box{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media(max-width:560px){
    .re-container{width:min(100% - 24px,var(--container))}
    .brand-copy small{display:none}
    .services-section,
    .properties-section,
    .brand-section,
    .faq-section,
    .content-section,
    .contact-section{
        padding:42px 0;
    }
    .services-grid,
    .properties-grid,
    .footer-grid{
        grid-template-columns:1fr;
    }
    .property-image{height:230px}
    .filter-bar{grid-template-columns:1fr}
    .page-hero h1{font-size:31px}
    .detail-content h1{font-size:27px}
    .detail-image{height:270px}
    .form-grid{grid-template-columns:1fr}
    .form-full{grid-column:auto}
    .footer-bottom{flex-direction:column}
    .hero-actions{display:grid}
    .hero-actions .btn{width:100%}
    .license-line{display:block}
    .license-line strong{display:block;margin-top:5px}
    .brand-logo-box{
        max-width:300px;
        padding:42px;
    }
    .brand-section-copy h2{font-size:29px}
}


/* ==========================================================================
   ACCESSIBILITY FIXES — LIGHTHOUSE / AXE
   ========================================================================== */

/*
|--------------------------------------------------------------------------
| Contrast rules
|--------------------------------------------------------------------------
*/

/* Bright lime is suitable on dark surfaces only */
.hero .eyebrow,
.hero .section-kicker,
.site-footer .section-kicker{
    color:var(--lime);
}

/* Dark green is used for accent text on white/light surfaces */
.services-section .section-kicker,
.brand-section .section-kicker,
.content-section .section-kicker,
.contact-section .section-kicker,
.section-head>span,
.page-hero .re-container>span{
    color:var(--accent-dark);
}

/* Header subtitle */
.site-header .brand-copy small{
    color:#4F5B52;
}

/* Footer */
.footer-brand-wrap small{
    color:#B7C0B8;
}

.footer-grid p{
    color:#FFFFFF;
}

.footer-grid a,
.footer-grid span{
    color:#FFFFFF;
}

.footer-bottom{
    color:#FFFFFF;
}


/*
|--------------------------------------------------------------------------
| Touch target size
|--------------------------------------------------------------------------
| Target >= 48px where possible.
*/

.main-nav a,
.footer-grid a,
.service-card a,
.property-foot a,
.text-link,
.contact-lines a,
.breadcrumb a,
.panel-link{
    min-height:48px;
    display:inline-flex;
    align-items:center;
}

/* Main navigation spacing */
.main-nav a{
    padding-inline:10px;
}

/* Footer links: large click area without changing visual hierarchy */
.footer-grid a{
    width:fit-content;
    margin:0;
    padding:11px 6px;
}

/* Fix specifically for "العقارات المتاحة" and similar property links */
a[href$="/properties"]{
    min-height:48px;
    min-width:48px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    padding:11px 8px;
    line-height:1.6;
}

/* Service + property action links */
.service-card a,
.property-foot a,
.text-link{
    padding-block:11px;
}

/* Contact links */
.contact-lines a{
    width:100%;
}

/* Mobile menu button */
.menu-toggle{
    min-width:48px;
    min-height:48px;
    align-items:center;
    justify-content:center;
}

/* Space between interactive controls in footer */
.footer-grid > div{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
}

.footer-grid > div:first-child{
    display:block;
}


/*
|--------------------------------------------------------------------------
| Keyboard focus
|--------------------------------------------------------------------------
*/

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
    outline:3px solid #5A7800;
    outline-offset:3px;
    border-radius:6px;
}

.nav-cta:focus-visible,
.btn-primary:focus-visible,
.panel-link:focus-visible{
    outline-color:#FFFFFF;
}


/*
|--------------------------------------------------------------------------
| Form readability
|--------------------------------------------------------------------------
*/

input::placeholder,
textarea::placeholder{
    color:#515B53;
    opacity:1;
}


/*
|--------------------------------------------------------------------------
| Mobile touch targets
|--------------------------------------------------------------------------
*/

@media(max-width:760px){

    .menu-toggle{
        display:flex;
    }

    .main-nav a{
        min-height:48px;
        display:flex;
        align-items:center;
        padding-block:12px;
    }

    .footer-grid a{
        min-height:48px;
    }
}

@media(max-width:560px){

    .footer-grid a{
        width:100%;
        min-height:48px;
        padding-block:12px;
    }

    .text-link,
    .service-card a,
    .property-foot a{
        min-height:48px;
    }
}


/*
|--------------------------------------------------------------------------
| Reduced motion
|--------------------------------------------------------------------------
*/

@media(prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
}


/*
|--------------------------------------------------------------------------
| Higher contrast preference
|--------------------------------------------------------------------------
*/

@media(prefers-contrast:more){

    :root{
        --muted:#303731;
        --line:#C7CDC8;
    }

    .property-card,
    .service-card,
    .content-card,
    .request-form,
    .faq-list details{
        border-color:#BFC6C0;
    }
}
