/* Diamond Lion v3: editorial hierarchy, responsive motion, readable contrast, deliberately separated sections */
:root{--reading:#e8e5df;--muted-reading:#bbb7ac}html{scroll-padding-top:78px}body{overflow-x:hidden}img{max-width:100%;height:auto}
.section-screen{scroll-margin-top:76px}.hero{min-height:100svh;min-height:100dvh}.hero-copy{padding-block:125px 80px}.hero h1{max-width:13ch;line-height:1.16;letter-spacing:-.025em}.hero-photo img{animation:none;transform:scale(1.05);animation:cinematicPhoto 22s ease-in-out alternate infinite;object-position:63% 45%}
@keyframes cinematicPhoto{0%{transform:scale(1.04) translateX(0)}100%{transform:scale(1.1) translateX(-1.2%)}}
#projects{min-height:100svh}.projects-section .section-content{padding-block:clamp(105px,12vh,180px)}.section-heading h2,.about-section h2,.explorer-section h2{line-height:1.22;letter-spacing:-.02em}.section-heading p,.project-excerpt,.about-section p,.explorer-section p,.appointment-section p{color:var(--muted-reading)}
.projects-grid{gap:clamp(20px,2.3vw,38px)}.projects-grid>.project-card{display:block;text-decoration:none;color:inherit;cursor:pointer;min-width:0}.project-card .card-media{height:clamp(285px,32vw,470px)}.project-card .card-media img{transition:transform 1s cubic-bezier(.2,.65,.2,1),filter .6s;transform:scale(1.005)}.project-card:hover .card-media img,.project-card:focus-visible .card-media img{transform:scale(1.075)}.project-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.project-card-content{padding-bottom:23px}.project-excerpt{font-size:clamp(13px,1vw,15px);line-height:1.85;max-width:58ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-block:18px 0;opacity:.92}.project-read-more{display:inline-flex;color:#e0ba77;margin-top:19px;font-weight:700;font-size:14px}.photo-warning{color:white!important;background:#111b!important;backdrop-filter:blur(8px);font-size:11px!important}.editorial-note{display:block;color:#c4c0b5;font-size:13px;line-height:1.8;margin-top:14px}
.explorer-section{min-height:85svh}.explorer-section .container{position:relative;z-index:3}.explorer-backdrop img{filter:brightness(.48) saturate(.72)}.about-section{min-height:90svh}.about-inner{padding-block:clamp(100px,15vh,170px)}.about-card{transition:transform .4s ease,border-color .4s ease}.about-card:hover{transform:translateY(-7px);border-color:#ad8648}.contact-section{min-height:65svh}.appointment-section{min-height:100svh}.appointment-section input,.appointment-section select,.appointment-section textarea{color:#f2efea}.appointment-section input::placeholder,.appointment-section textarea::placeholder{color:#a7a49e}.form-privacy{font-size:12px!important;line-height:1.8;color:#c1bcaf!important;margin-top:10px}.form-privacy a,.legal-link{color:#d2af73;text-decoration:underline;text-underline-offset:3px}.legal-link{display:inline-block;margin:8px 4vw 25px;font-size:13px}.form-feedback{font-size:14px;color:#ecd4ab;line-height:1.8}
.external-demos{border-top:1px solid #c59e5f55;padding-block:95px 20px}.external-demos h2{font-size:clamp(28px,4vw,50px);margin-block:15px}.external-demos .projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.external-demos .card-media{height:260px}.external-demos .project-excerpt{display:none}.demo-banner{position:fixed;left:18px;right:18px;bottom:17px;z-index:110;text-align:center;color:#19150f;text-decoration:none;background:#e4bd79;border:1px solid #f3dca4;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:700;box-shadow:0 9px 40px #0009}.cms-notice,.empty-state{color:#dcc6a1;padding:25px;border:1px solid #d6af7345;border-radius:6px}.result-empty{grid-column:1/-1;display:grid;gap:20px;justify-content:center;justify-items:center;text-align:center;min-height:200px;align-content:center}.result-empty p{max-width:55ch;line-height:1.9;color:#ddd2c1}.result-card{transition:transform .35s,border-color .35s}.result-card:hover{transform:translateY(-4px);border-color:#bf995d}.result-card .eyebrow{color:#ddbb7f;font-size:11px}.result-card .text-arrow{color:#e8bf7a;text-decoration:none;font-weight:700}
/* Dedicated editorial project pages */
.detail-main{background:#0c0e10;color:#e9e6df;min-height:100vh}.detail-hero{position:relative;display:flex;align-items:flex-end;min-height:min(790px,95svh);overflow:hidden;isolation:isolate}.detail-hero>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.57) saturate(.8)}.detail-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b0c0e 0%,transparent 68%),linear-gradient(90deg,#0b0c0e90,transparent)}.detail-hero-inner{padding:clamp(120px,18vh,200px) 0 80px;width:100%}.detail-kicker{color:#e1bb76;letter-spacing:.18em;font:700 12px Manrope,sans-serif;direction:ltr;text-align:right}.detail-hero h1{font-size:clamp(52px,8vw,105px);line-height:1.1;margin-block:18px}.detail-hero p{max-width:760px;font-size:clamp(16px,2vw,21px);color:#e1dcd3;line-height:1.9}.detail-body{padding:105px 0 140px}.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,6vw,90px)}.detail-body h2{font-size:clamp(26px,3vw,43px);margin-bottom:22px}.detail-body p{font-size:16px;color:#d4cec3;line-height:2.2}.detail-facts{display:grid;gap:14px}.detail-fact{border:1px solid #cda76d42;padding:24px 25px;background:#19191a}.detail-fact small{display:block;color:#c3a777;margin-bottom:10px}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:36px}.detail-units{padding-block:85px;border-top:1px solid #c4a16d35}.detail-units-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}.detail-unit{background:#151719;border:1px solid #b394644d;padding:26px}.detail-unit h3{font-size:20px}.detail-unit p{font-size:14px}.detail-disclosure{padding:22px;background:#382d2055;border:1px solid #c5a37277;border-radius:5px;line-height:1.9;color:#e5cfaa}.page-footer{border-top:1px solid #c4a16d30;padding:38px 0;color:#a9a69e;font-size:13px}.page-footer a{color:#e6c38e}
.page-plain{background:#0c0e10;color:#eee8de;min-height:100svh;padding-top:calc(var(--header-h,80px) + 100px);padding-bottom:100px}.page-plain h1{font-size:clamp(40px,6vw,70px);margin-bottom:27px}.page-plain p,.page-plain li{max-width:75ch;line-height:2.2;color:#d1cabe;font-size:17px}.page-plain h2{font-size:26px;margin-top:35px}.page-plain a{color:#dfb46e}
@media (max-width:900px){.external-demos .projects-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.detail-units-grid{grid-template-columns:1fr 1fr}.project-card .card-media{height:clamp(270px,42vw,400px)}}
@media (max-width:650px){.hero{min-height:100svh}.hero-copy{padding-top:125px;padding-bottom:80px}.hero h1{max-width:11ch}.projects-section .section-content{padding-block:95px 75px}.projects-grid,.external-demos .projects-grid{grid-template-columns:1fr}.project-card .card-media{height:290px}.explorer-section{min-height:95svh}.about-inner{padding-block:85px}.appointment-section{min-height:auto}.detail-hero{min-height:70svh}.detail-body{padding:65px 0 100px}.detail-units-grid{grid-template-columns:1fr}.detail-hero h1{font-size:48px}.page-plain{padding-top:145px}.demo-banner{font-size:11px;bottom:9px}}
@media (prefers-reduced-motion:reduce){.hero-photo img{animation:none;transform:none}.project-card .card-media img,.project-card,.about-card,.result-card{transition:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto!important}}


/* Diamond Lion company-presentation QA: media layering, clarity and responsive layout. */
/* Keep the original brand, page structure, database and admin untouched. */
.hero{position:relative;isolation:isolate;background:#0a0d0f}
.hero-photo{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 48%;filter:brightness(.91) saturate(.94) contrast(1.04);transform:scale(1.02)}
.hero-image-overlay{background:linear-gradient(90deg,rgba(5,7,9,.96) 0%,rgba(6,8,10,.80) 29%,rgba(6,8,10,.44) 56%,rgba(4,5,7,.17) 100%),linear-gradient(0deg,rgba(8,10,11,.80),transparent 33%,rgba(7,8,10,.20) 100%)}
.hero-noise{z-index:1;pointer-events:none;opacity:.06}
.hero-content{z-index:3;position:relative}
.hero-copy{min-width:0}
.hero-photo-caption,.hero-side-note,.scroll-cue,.hero-bottom-shade{z-index:4}
.hero-photo-caption{color:#f5eed9;font-size:11px;text-shadow:0 2px 10px #000}
.hero-content .hero-copy p{text-shadow:0 2px 15px #0009}
.explorer-section{position:relative;isolation:isolate}
.explorer-backdrop{z-index:0;pointer-events:none}
.explorer-backdrop img{filter:brightness(.46) saturate(.68);object-position:center 49%}
.explorer-backdrop:after{background:linear-gradient(180deg,#090b0cf2 0%,#090b0c9c 36%,#090b0cbd 68%,#080a0beF 100%)}
.explorer-inner{position:relative;z-index:2}
.project-card,.result-card,.reason-card,.detail-unit{min-width:0}
.project-card .card-media{overflow:hidden;background:#16191d}
.project-card .card-media img,.detail-hero>img,.appointment-image>img,.explorer-backdrop img{object-fit:cover;image-rendering:auto}
.project-card .card-media img{object-position:center 55%;filter:saturate(.9) contrast(1.03)}
.project-card:hover .card-media img{filter:saturate(1.06) contrast(1.03)}
.project-card-content{position:relative}
.project-excerpt{line-height:1.9}
.reason-card p,.project-card .project-data span{font-size:max(12px,0.82vw);line-height:1.9}
.filter-panel>*{min-width:0}
.filter-panel select{width:100%}
.section-heading{max-width:100%}
.section-heading h2{overflow-wrap:break-word}
.header-inner,.footer-main,.heading-row{min-width:0}
.footer-brand img{width:76px;height:76px;object-fit:contain;border-radius:50%;background:#0a0b0d}
.appointment-image{overflow:hidden}
.appointment-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.editorial-note,.photo-warning{font-weight:600;letter-spacing:0}
@media (min-width:981px){
 .hero-content{align-items:center}
 .hero-copy{max-width:min(680px,54vw)}
 .projects-grid{align-items:stretch}
 .project-card{height:100%}
 .projects-section .section-content,.about-section .about-inner{padding-top:clamp(105px,10vw,155px);padding-bottom:clamp(90px,9vw,130px)}
}
@media (max-width:980px){
 .hero-photo img{object-position:58% center}
 .hero-image-overlay{background:linear-gradient(90deg,rgba(6,8,10,.90) 0%,rgba(6,8,10,.74) 50%,rgba(6,8,10,.32) 100%),linear-gradient(0deg,#07090bb8,transparent 65%)}
}
@media (max-width:660px){
 html,body{max-width:100%;overflow-x:clip}
 .container{width:calc(100% - 34px)}
 .site-header{z-index:80}
 .header-inner{gap:9px}
 .brand{min-width:0;flex-shrink:1}
 .brand-words{min-width:0}
 .header-actions{flex-shrink:0}
 .hero{min-height:100svh}
 .hero-content{width:calc(100% - 34px);min-height:100svh;align-items:center;justify-content:stretch;padding-top:calc(var(--header-h) + 42px);padding-bottom:105px}
 .hero-copy{width:100%;max-width:100%;min-width:0;margin-inline:0}
 .hero-photo img{object-position:60% center;filter:brightness(.86) saturate(.92);transform:scale(1.015)}
 .hero-image-overlay{background:linear-gradient(180deg,rgba(7,9,11,.38) 0%,rgba(7,9,11,.62) 25%,rgba(7,9,11,.76) 66%,#080a0beE 100%)}
 .hero h1{font-size:clamp(39px,11vw,56px);line-height:1.18;max-width:100%;letter-spacing:-.035em}
 .hero h1 em{line-height:1.15}
 .hero-copy p{font-size:clamp(12px,3.4vw,15px);line-height:2}
 .hero-buttons{width:100%;gap:10px}
 .hero-buttons .button{flex:1 1 auto;padding-inline:12px;gap:8px;min-width:0}
 .hero-attributes{margin-top:34px;gap:7px}
 .attribute{padding-inline:6px;gap:6px;font-size:10px}
 .attribute svg{width:18px;height:18px}
 .hero-photo-caption{bottom:73px;right:17px;left:17px;font-size:9px}
 .section-heading h2{font-size:clamp(31px,8.5vw,43px);line-height:1.3}
 .projects-grid,.external-demos .projects-grid{gap:18px}
 .project-card .card-media{height:clamp(225px,69vw,320px)}
 .project-card-content{padding:22px 18px}
 .reason-card{min-height:0}
 .reason-card h3{font-size:14px}
 .reason-card p{font-size:12px}
 .explorer-backdrop img{object-position:48% center}
 .filter-panel{width:100%;min-width:0}
 .filter-panel label,.filter-panel select{min-width:0;width:100%}
 .filter-disclaimer{font-size:11px}
 .appointment-image{height:350px}
 .appointment-panel{padding:65px 20px 75px}
 .footer-brand img{width:68px;height:68px}
 .demo-banner{bottom:10px;left:10px;right:10px;padding:10px;font-size:11px;line-height:1.5}
}
@media(max-width:365px){
 .brand strong{font-size:14px}
 .brand small{font-size:8px}
 .language-chip{padding:7px}
 .hero h1{font-size:39px}
 .hero-buttons .button{font-size:10px}
 .hero-attributes{flex-wrap:wrap}
 .attribute{font-size:10px}
 .about-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .hero-photo img{animation:none!important;transform:none!important}
 .reveal{transition:none!important;opacity:1!important;transform:none!important}
}

/* Asset stability and single-source CMS rendering */
.hero-photo img{animation:none!important;transform:none!important;transition:none!important;opacity:1}
.projects-grid[data-cms-loading]{position:relative;min-height:380px}
.projects-grid[data-cms-loading]>.project-card{visibility:hidden;pointer-events:none}
.projects-grid[data-cms-loading]::after{content:'جاري تجهيز صور المشاريع…';position:absolute;inset:0;display:grid;place-items:center;min-height:250px;border:1px solid #c8a87935;background:linear-gradient(115deg,#111415 10%,#20201d 46%,#111415 80%);color:#dfc18c;text-align:center;font-size:14px;letter-spacing:0}
.project-card.reveal{opacity:1!important;transform:none!important;filter:none!important}
.project-card .card-media img{opacity:1!important;animation:none!important}
.detail-hero{background:radial-gradient(ellipse at 70% 35%,#32302a,#0c0e10 75%)}
.detail-hero>img:not([src]){opacity:0!important}
@media(max-width:660px){.projects-grid[data-cms-loading]{min-height:325px}.projects-grid[data-cms-loading]::after{font-size:12px}}
/* Homepage bridge to fully integrated unit detail pages */
.dl-home-demos{margin:58px auto 30px;max-width:1260px}
.dl-home-demos-head{display:flex;gap:25px;align-items:end;justify-content:space-between;margin-bottom:22px;text-align:right}
.dl-home-demos-head span{font:700 10px Manrope,Arial;letter-spacing:.18em;color:#ddb878}
.dl-home-demos-head h3{font-size:clamp(24px,3vw,39px);margin:7px 0;line-height:1.45;color:#f5f2e9}
.dl-home-demos-head h3 em{font-style:normal;color:#e7c68b}
.dl-home-demos-head p{font-size:12px;max-width:66ch;line-height:1.9;color:#c0bbb1}
.dl-home-all{color:#efd3a2;font-size:12px;font-weight:800;white-space:nowrap;border-bottom:1px solid #e4c38b;padding-bottom:7px}
.dl-home-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dl-home-demo-grid>a{position:relative;display:flex;flex-direction:column;background:#111517;border:1px solid #c3a77b59;overflow:hidden;text-align:right;transition:transform .3s,border-color .3s;border-radius:6px;padding-bottom:18px}
.dl-home-demo-grid>a:hover{transform:translateY(-6px);border-color:#ddbe7c}
.dl-home-demo-grid img{width:100%;height:185px;object-fit:cover;filter:saturate(.85)}
.dl-home-demo-grid strong{font-size:17px;color:#e9d6ac;margin:17px 15px 5px}
.dl-home-demo-grid small{font-size:11px;color:#c1bfb9;margin-inline:15px;line-height:1.8}
.demo-mark{position:absolute;right:12px;top:12px;background:#0c0e0fdb;border:1px solid #e0c08088;padding:6px 9px;color:#f3d69b;font-size:10px}
@media(max-width:750px){.dl-home-demo-grid{grid-template-columns:1fr 1fr}.dl-home-demos-head{align-items:start;flex-direction:column}.dl-home-demo-grid img{height:155px}}
@media(max-width:520px){.dl-home-demo-grid{grid-template-columns:1fr}.dl-home-demo-grid img{height:205px}.dl-home-demos{margin-top:34px}.dl-home-demo-grid strong{font-size:18px}}


/* Self-hosted cinematic hero: poster remains visible until first video frame. */
.hero-photo{overflow:hidden;isolation:isolate}
.hero-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-photo .hero-cinematic-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:1;opacity:0;filter:brightness(.90) saturate(.93) contrast(1.08);transition:opacity .75s ease;pointer-events:none;background:transparent}
.hero-photo .hero-cinematic-video.is-ready{opacity:1}
.hero-photo .hero-image-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(4,6,8,.96) 0%,rgba(5,7,9,.81) 28%,rgba(7,8,10,.4) 58%,rgba(7,8,10,.12) 100%),linear-gradient(0deg,rgba(4,6,8,.8) 0%,transparent 35%,rgba(4,6,8,.14) 100%)}
.hero-noise{pointer-events:none}
@media(max-width:700px){.hero-photo .hero-cinematic-video{object-position:55% center}.hero-photo .hero-image-overlay{background:linear-gradient(180deg,rgba(3,5,7,.45) 0%,rgba(4,5,8,.61) 32%,rgba(4,6,8,.77) 68%,rgba(3,4,6,.93) 100%)}}
@media(prefers-reduced-motion:reduce){.hero-photo .hero-cinematic-video{display:none}}

/* Responsive hardening — October 2026, Diamond Lion. No changes to backend, media or content. */
html{scroll-padding-top:calc(var(--header-h,80px) + 12px)}
body,main,.section-screen{min-width:0}
.hero-copy,.hero-content,.project-card,.explorer-inner,.filter-panel,.appointment-panel,.about-inner,.footer-main{min-width:0}
.hero-copy.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.hero h1,.section-heading h2,.heading-row h2,.appointment-panel h2,.about-inner h2{overflow-wrap:break-word;text-wrap:balance}
.hero-copy p{overflow-wrap:break-word}
.hero-buttons a{touch-action:manipulation}
@media (min-width:981px) and (max-width:1280px){
 .hero-content{padding-top:calc(var(--header-h,80px) + 44px);padding-bottom:110px}
 .hero-copy{padding-block:0;max-width:min(57vw,660px)}
 .hero h1{font-size:clamp(47px,5.05vw,68px);line-height:1.19;max-width:100%;margin-bottom:20px}
 .hero p{font-size:clamp(13px,1.18vw,16px);line-height:2.02;max-width:530px}
 .hero-attributes{margin-top:30px}
 .hero-buttons{gap:11px}
 .hero-buttons .button{min-height:49px}
 .hero-photo-caption{font-size:9px;max-width:60%}
 .header-inner{gap:15px}
 .desktop-nav{gap:clamp(8px,1vw,17px)}
}
@media (min-width:661px) and (max-width:980px){
 .hero{min-height:100svh}
 .hero-content{width:calc(100% - 48px);min-height:100svh;justify-content:center;align-items:center;padding-top:calc(var(--header-h,74px) + 55px);padding-bottom:117px}
 .hero-copy{padding:0;margin:0 auto;max-width:min(84vw,660px);width:100%}
 .hero h1{font-size:clamp(44px,6.3vw,61px);line-height:1.2;max-width:100%;margin:0 0 20px}
 .hero p{font-size:clamp(13px,1.75vw,16px);line-height:2.1;margin-bottom:25px;max-width:570px}
 .hero-buttons{gap:11px}
 .hero-buttons .button{min-height:48px}
 .hero-attributes{margin-top:29px;gap:0;justify-content:flex-start;flex-wrap:wrap}
 .attribute{font-size:11px;max-width:33.33%}
 .hero-photo-caption{font-size:9px;bottom:69px;right:24px;max-width:70%;line-height:1.55}
 .scroll-cue{bottom:23px}
 .projects-grid{gap:17px}
 .projects-section .section-content{padding-inline:0}
 .heading-row{gap:15px}
 .appointment-panel{min-width:0}
}
@media (max-width:660px){
 .hero-copy{padding-block:0!important;min-width:0}
 .hero h1{max-width:100%;font-size:clamp(37px,10.25vw,54px);line-height:1.2}
 .hero-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .hero-buttons .button{min-width:0;max-width:100%;padding:12px 7px;font-size:clamp(10px,2.9vw,12px);min-height:48px;gap:5px}
 .hero-buttons .button svg{width:15px;height:15px;flex-shrink:0}
 .hero-attributes{display:flex;justify-content:center;gap:0;margin-top:27px;width:100%}
 .attribute{flex:1 1 33.333%;max-width:33.333%;font-size:clamp(8px,2.5vw,10px);gap:5px;align-items:center;padding-inline:4px}
 .attribute svg{width:16px;height:16px;flex-shrink:0}
 .hero-photo-caption{bottom:67px;font-size:9px}
 .section-heading h2{font-size:clamp(30px,8.7vw,42px)}
 .project-card-content{padding-inline:18px}
 .filter-panel input,.filter-panel select,.appointment-panel input,.appointment-panel select,.appointment-panel textarea{font-size:16px}
 .scroll-cue{bottom:17px}
}
@media(max-width:360px){
 .hero-content{width:calc(100% - 30px)}
 .hero-attributes .attribute{font-size:8.5px;line-height:1.5}
 .brand img{max-width:42px;max-height:42px}
 .brand strong{font-size:14px}
 .header-inner{gap:7px}
 .hero-photo-caption{bottom:73px}
}
@media(max-height:650px) and (min-width:661px){
 .hero-content{padding-top:calc(var(--header-h,70px) + 25px);padding-bottom:90px}
 .hero-attributes{margin-top:18px}
 .hero h1{font-size:clamp(40px,4.4vw,62px)}
}
@media (prefers-reduced-motion:reduce){
 .hero-copy.reveal,.project-card.reveal{transform:none!important;opacity:1!important}
}

/* Keep important hero copy readable immediately; motion stays in the video and lower sections. */
.hero h1,.hero-copy p,.hero-buttons{opacity:1!important;transform:none!important;filter:none!important}