/*
Theme Name: Elm Wa Khabar | Engineering Prestige
Theme URI: https://elm-wa-khabar.com/
Author: Elm Wa Khabar
Description: Premium bilingual Arabic/English construction and finishing theme with dynamic portfolio, RTL/LTR, dark/light themes, Customizer settings and accessible interactions.
Version: 3.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: elm-wa-khabar
*/
:root{--navy:#062440;--orange:#ef8500;--bg:#f6f7f7;--surface:#fff;--text:#14283c;--muted:#627184;--line:#dce2e8;--shadow:0 20px 55px #06244016;color-scheme:light}html[data-theme=dark]{--bg:#071a2c;--surface:#0c2842;--text:#f3f7fc;--muted:#bbcad9;--line:#345069;--shadow:0 20px 55px #0005;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Alexandria",Tahoma,"Segoe UI",Arial,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.wrap{width:min(1180px,calc(100% - 36px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 3px 16px #00000008}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand img{width:66px;height:66px;object-fit:contain}.brand span{font-weight:800;line-height:1.4;font-size:15px}.nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.nav a:hover{color:var(--orange)}.tools{display:flex;gap:7px;align-items:center}.small-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:7px 11px}.menu-btn{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:9px;background:var(--orange);color:#101c29;font-weight:800;border:2px solid var(--orange);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#ffa522}.btn-outline{background:transparent;border-color:#ffffff9c;color:white}.btn-outline:hover{background:#ffffff20}.hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(105deg,#041a30 0%,#082d4d 67%,#124260 100%);color:white}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 78% 20%,#ef850012,transparent 55%);pointer-events:none}.hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:660px;gap:60px;padding-block:78px}.eyebrow{color:#ffab3a;font-size:13px;font-weight:800;letter-spacing:.5px}.hero h1{font-size:clamp(34px,4.7vw,65px);line-height:1.35;margin:16px 0}.hero p{font-size:17px;max-width:580px;color:#d8e4ee}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-art{position:relative;min-height:460px}.hero-art img{width:100%;height:460px;object-fit:cover;display:block;border-radius:110px 12px 110px 12px;filter:saturate(.86);box-shadow:0 30px 65px #0006}.hero-art:after{content:'';position:absolute;inset:20px -16px -20px 20px;border:2px solid #ed8700;z-index:-1;border-radius:110px 12px 110px 12px}.hero-label{position:absolute;bottom:22px;inset-inline-start:-22px;background:#f18a08;color:#071d30;padding:12px 22px;font-weight:800;border-radius:8px}.section{padding-block:95px}.section-head{margin-bottom:35px}.section-head h2{font-size:clamp(27px,3vw,42px);line-height:1.4;margin:9px 0}.section-head p{color:var(--muted);max-width:740px;margin:0}.overline{font-weight:800;color:var(--orange);font-size:13px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.intro-photo{height:400px;object-fit:cover;width:100%;border-radius:14px;box-shadow:var(--shadow)}.intro p{color:var(--muted)}.services{background:var(--surface)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service{padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--bg);transition:transform .2s,border-color .2s}.service:hover{transform:translateY(-4px);border-color:var(--orange)}.service b{font-size:20px}.service p{color:var(--muted);font-size:14px}.service-number{color:var(--orange);font-size:14px;font-weight:800;display:block;margin-bottom:12px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 25px}.filter{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:30px;padding:8px 17px}.filter[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{position:relative;border:0;background:#0a2942;padding:0;overflow:hidden;border-radius:12px;aspect-ratio:4/3;text-align:start}.project img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project:hover img{transform:scale(1.05)}.project span{position:absolute;bottom:0;inset-inline:0;background:linear-gradient(transparent,#061d32ed);color:white;padding:35px 18px 15px;font-weight:800}.project[hidden]{display:none}.process{background:var(--navy);color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{border-top:2px solid #f18a08;padding:23px 0}.step strong{font-size:22px}.step p{color:#c7d5e0}.cta{padding-block:90px;text-align:center;background:linear-gradient(130deg,#0a2e4e,#071a2e);color:white}.cta h2{font-size:clamp(27px,3vw,42px);margin:0}.cta p{color:#d2deea}.faq{max-width:850px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-weight:800}.faq p{color:var(--muted)}.footer{background:#061b2d;color:#d4e1eb;padding:45px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer h3{color:white}.footer a{display:block;margin-bottom:8px}.footer small{color:#9db1c4}.footer-bottom{border-top:1px solid #ffffff25;padding-top:20px;margin-top:30px}.lightbox{position:fixed;inset:0;z-index:100;background:#000e;display:grid;place-items:center;padding:55px 16px 30px}.lightbox[hidden]{display:none}.lightbox img{max-height:80vh;max-width:min(100%,1100px);object-fit:contain}.lightbox button{position:absolute;top:12px;inset-inline-end:18px;color:white;background:#ffffff24;border:1px solid #fff7;border-radius:8px;padding:7px 17px}.mobile-cta{display:none}.skip{position:absolute;top:-100px;z-index:100;background:white;color:black;padding:8px}.skip:focus{top:0}@media(max-width:960px){.nav{gap:12px}.hero-inner{gap:25px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.header-inner{min-height:70px}.brand img{width:49px;height:49px}.brand span{font-size:12px}.menu-btn{display:block}.nav{display:none;position:absolute;top:70px;inset-inline:0;background:var(--surface);padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.tools .small-btn{padding:6px 9px}.hero-inner{grid-template-columns:1fr;padding-block:55px 65px;min-height:0}.hero-art{min-height:260px}.hero-art img{height:300px;border-radius:65px 10px}.hero-art:after{border-radius:65px 10px}.hero-label{inset-inline-start:0}.hero p{font-size:15px}.section{padding-block:60px}.intro{grid-template-columns:1fr;gap:24px}.intro-photo{height:290px}.services-grid{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.mobile-cta{display:block;position:fixed;bottom:12px;inset-inline:18px;z-index:45;text-align:center;box-shadow:0 7px 22px #0006}.footer{padding-bottom:90px}}@media(max-width:460px){.services-grid,.portfolio-grid{grid-template-columns:1fr}.hero h1{font-size:33px}.hero-actions .btn{width:100%}.brand span{max-width:135px}.project{aspect-ratio:5/4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Version 1.1 — architectural motion system */
.coverage-pill{display:inline-flex;align-items:center;max-width:100%;margin-top:12px;padding:8px 15px;border:1px solid #f18a0880;border-radius:30px;background:#f18a081a;color:#ffcb7c;font-size:13px;font-weight:700;line-height:1.6}
.hero:after{content:"";position:absolute;inset:-30% -20%;pointer-events:none;background:radial-gradient(circle at 75% 42%,#f18a0825,transparent 36%);animation:ekGlow 13s ease-in-out infinite alternate;z-index:-1}
.hero-inner>div:first-child{animation:ekIntro .85s cubic-bezier(.2,.8,.2,1) both}
.hero-art{animation:ekArt 1.1s cubic-bezier(.2,.8,.2,1) .12s both}
.hero-art img{animation:ekFloat 8s ease-in-out 1.3s infinite alternate}
.hero-art:after{animation:ekFrame 5s ease-in-out infinite alternate}
.eyebrow{display:inline-block;animation:ekIntro .9s ease both}
.reveal-on-scroll{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.service,.project{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.service:hover{transform:translateY(-8px);box-shadow:0 20px 42px #06244018}
.project:hover{transform:translateY(-5px);box-shadow:0 18px 40px #06244030}
.btn{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.btn:hover{box-shadow:0 10px 28px #ef850055}
@keyframes ekIntro{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes ekArt{from{opacity:0;transform:translateX(30px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes ekFloat{from{transform:translateY(0)}to{transform:translateY(-12px)}}
@keyframes ekFrame{from{transform:translate(0,0)}to{transform:translate(-5px,5px)}}
@keyframes ekGlow{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
@media(max-width:760px){.coverage-pill{font-size:12px}.hero-art img{animation-duration:11s}.reveal-on-scroll{transform:translateY(15px)}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1!important;transform:none!important}.hero:after,.hero-art,.hero-art img,.hero-art:after,.hero-inner>div:first-child{animation:none!important}}

/* Portfolio 1.2 — editorial gallery with mobile-first swipe experience */
#projects{overflow:hidden}#projects .section-head{position:relative}.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}.portfolio-hint{font-size:13px;color:var(--muted)}.portfolio-controls{display:flex;align-items:center;gap:12px;font-weight:800;font-variant-numeric:tabular-nums}.portfolio-controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:28px;line-height:1;transition:background .2s,transform .2s}.portfolio-controls button:hover{background:var(--orange);color:#071d30;transform:scale(1.06)}.portfolio-controls button:disabled{opacity:.35;cursor:default}.project{isolation:isolate;box-shadow:0 8px 22px #06244013}.project:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(160deg,transparent 30%,#061d32b0);opacity:.7;transition:opacity .4s}.project span{z-index:2}.project img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}.project:hover img,.project:focus-visible img{transform:scale(1.09);filter:saturate(1.1)}.project:hover:before{opacity:1}.lightbox{touch-action:pan-y}.lightbox .lightbox-arrow{top:50%;transform:translateY(-50%);width:44px;height:54px;padding:0;font-size:34px;z-index:2}.lightbox .lightbox-prev{inset-inline-start:12px;inset-inline-end:auto}.lightbox .lightbox-next{inset-inline-end:12px}.lightbox-counter{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);color:white;background:#0008;padding:4px 14px;border-radius:30px;font-size:13px;direction:ltr}.lightbox img{max-height:78dvh;border-radius:8px}
@media(min-width:761px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-grid .project:nth-child(7n+1){grid-column:span 2;aspect-ratio:2.15/1}.portfolio-grid .project:nth-child(7n+1) img{object-position:center}}
@media(max-width:760px){#projects .wrap{width:100%}#projects .section-head,#projects .filters,#projects .portfolio-toolbar{margin-inline:18px}.filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:7px}.filters::-webkit-scrollbar{display:none}.filter{white-space:nowrap;flex-shrink:0;min-height:44px}.portfolio-grid{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:18px;padding:8px 18px 22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.portfolio-grid::-webkit-scrollbar{display:none}.portfolio-grid .project{flex:0 0 min(78vw,360px);width:min(78vw,360px);aspect-ratio:3/4;scroll-snap-align:start;border-radius:18px;box-shadow:0 12px 25px #06244020;transform:none!important}.portfolio-grid .project img{object-fit:cover}.portfolio-grid .project span{font-size:16px;padding:75px 17px 20px}.portfolio-grid .project[hidden]{display:none}.portfolio-hint{max-width:55%;line-height:1.5}.lightbox{padding:70px 10px 65px}.lightbox img{max-width:100%;max-height:73dvh}.lightbox .lightbox-arrow{background:#0009;top:auto;bottom:12px;transform:none;height:44px;width:44px}.lightbox-counter{bottom:21px}.lightbox .lightbox-prev{inset-inline-start:14px}.lightbox .lightbox-next{inset-inline-end:14px}}
@media(prefers-reduced-motion:reduce){.portfolio-grid{scroll-behavior:auto}.project img,.project:before{transition:none!important}}

/* v1.3 — Architectural Blueprint Atmosphere: lightweight, decorative motion */
.hero{background:linear-gradient(115deg,#03192c 0%,#082b48 57%,#103c59 100%)}
.hero .ek-architecture-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.95}
.ek-architecture-bg .ek-blueprint{display:none}
.ek-architecture-bg .ek-tower{position:absolute;bottom:-8%;width:21%;height:78%;border:1px solid #b2d7ef15;background:linear-gradient(135deg,#92c8e510,#061c2c22);clip-path:polygon(0 12%,45% 0,100% 12%,100% 100%,0 100%);animation:ekTower 14s ease-in-out infinite alternate}
.ek-architecture-bg .ek-tower-a{inset-inline-start:2%;height:57%;width:16%;animation-delay:-6s}.ek-architecture-bg .ek-tower-b{inset-inline-end:3%;height:85%;width:22%;animation-delay:-3s}
.ek-architecture-bg .ek-crane{position:absolute;inset-inline-end:8%;top:9%;width:min(44%,450px);height:auto;opacity:.28;animation:ekCrane 16s ease-in-out infinite alternate;filter:drop-shadow(0 0 14px #ed850033)}
.ek-architecture-bg .ek-light{position:absolute;inset:-30%;background:radial-gradient(ellipse at 72% 36%,#f28b1423,transparent 34%);animation:ekLight 17s ease-in-out infinite alternate}
.hero-inner{position:relative;z-index:1}.hero:before{opacity:.25}.hero:after{opacity:.45}

@keyframes ekTower{from{opacity:.45;transform:translateY(7px)}to{opacity:.85;transform:translateY(-7px)}}
@keyframes ekCrane{from{transform:translateX(-8px) rotate(-1deg)}to{transform:translateX(8px) rotate(1deg)}}
@keyframes ekLight{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
@media(max-width:760px){.ek-architecture-bg .ek-crane{width:72%;top:17%;inset-inline-end:-13%;opacity:.14;animation:none}.ek-architecture-bg .ek-tower{opacity:.28!important;animation:none}.ek-architecture-bg .ek-light{animation-duration:26s;opacity:.5}}
@media(prefers-reduced-motion:reduce){.ek-architecture-bg *{animation:none!important;transform:none!important}}

/* v1.4: Clean architectural background, without square or grid patterns. */

/* Version 1.5: accessible, bilingual floating contact actions */
.ek-contact-dock{position:fixed;inset-inline-end:clamp(12px,2vw,28px);bottom:clamp(16px,3vh,30px);z-index:80;display:flex;flex-direction:column;gap:11px;align-items:stretch;filter:drop-shadow(0 10px 22px #001b3250)}
.ek-contact-action{display:flex;align-items:center;justify-content:center;gap:10px;min-width:130px;min-height:52px;padding:10px 16px;border-radius:999px;color:#fff!important;font-weight:800;font-size:14px;line-height:1.2;border:1px solid #ffffff24;transition:transform .25s ease,box-shadow .25s ease}
.ek-contact-whatsapp{background:#168a52}.ek-contact-phone{background:#0a3558}.ek-contact-action:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 10px 24px #0004}.ek-contact-action svg{flex:none}
@media(max-width:760px){.ek-contact-dock{inset-inline:12px;bottom:max(10px,env(safe-area-inset-bottom));flex-direction:row;gap:10px;filter:drop-shadow(0 4px 12px #001b3240)}.ek-contact-action{flex:1;min-width:0;min-height:54px;border-radius:13px;padding:11px 9px;font-size:14px}.mobile-cta{display:none!important}.footer{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.ek-contact-action{transition:none!important}.ek-contact-action:hover{transform:none}}

/* v2.0 — editorial project cards, detail pages, trust and quote UX */
.hero-art{overflow:visible}.hero-art img{filter:contrast(1.04) saturate(1.06)}.hero h1{max-width:680px;text-wrap:balance}.hero .btn{min-height:52px}.service-link{display:block;color:var(--text)}.service-more{color:var(--orange);font-size:13px;font-weight:800}.project-card{position:relative;min-width:0;display:flex;flex-direction:column;gap:8px}.project-card[hidden]{display:none!important}.project-card .project{width:100%;height:100%;min-height:240px}.project-detail-link{display:block;text-align:center;padding:10px 14px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--text)}.project-detail-link:hover{border-color:var(--orange);color:var(--orange)}.portfolio-grid .project-card:nth-child(7n+1){grid-column:span 2}.portfolio-grid .project-card:nth-child(7n+1) .project{aspect-ratio:2.15/1}.trust{background:var(--surface)}.trust-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trust-items>div{padding:24px;border:1px solid var(--line);border-radius:16px;border-top:3px solid var(--orange);background:var(--bg)}.trust-items strong{font-size:18px}.trust-items p{color:var(--muted)}.quote-section{background:linear-gradient(130deg,#061d32,#0b3555);color:white}.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.quote-layout h2{font-size:clamp(28px,3.2vw,44px);line-height:1.4}.quote-layout>div>p{color:#cbd9e6}.quote-note{padding:18px;border-inline-start:3px solid var(--orange);background:#ffffff10;color:#e1eaf3;border-radius:8px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:28px;border:1px solid #ffffff30;border-radius:20px;background:#ffffff12;backdrop-filter:blur(8px)}.quote-form label{font-size:14px;font-weight:700;display:flex;flex-direction:column;gap:7px}.quote-form label:has(textarea),.quote-form button,.quote-form .form-feedback{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #a7b9c8;border-radius:8px;background:white;color:#14283c;font:inherit;line-height:1.6}.quote-form textarea{resize:vertical}.quote-form .form-feedback{margin:0}.quote-form .form-feedback a{color:#ffb44d;text-decoration:underline}.detail-hero{padding:95px 0 75px;background:linear-gradient(115deg,#03192c,#103c59);color:white;position:relative;overflow:hidden}.detail-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 10%,#ef850025,transparent 55%)}.detail-hero .wrap{position:relative;z-index:1}.detail-hero h1{font-size:clamp(34px,4.5vw,62px);line-height:1.3;margin:20px 0}.detail-hero p{max-width:740px;color:#d5e3ee;font-size:18px}.detail-back{display:inline-block;color:#ffbd63;margin-bottom:24px}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:35px}.detail-gallery a:first-child{grid-column:1/-1}.detail-gallery img{width:100%;max-height:620px;object-fit:cover;border-radius:18px;display:block}.detail-body{max-width:850px;margin-bottom:30px}.detail-body p{font-size:17px}.site-header{backdrop-filter:blur(16px)}.nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.quote-layout{grid-template-columns:1fr;gap:24px}.quote-form{grid-template-columns:1fr;padding:18px;gap:14px}.quote-form label{grid-column:1/-1}.trust-items{grid-template-columns:1fr}.portfolio-grid .project-card{flex:0 0 min(82vw,360px);width:min(82vw,360px);scroll-snap-align:start}.portfolio-grid .project-card:nth-child(7n+1){grid-column:auto}.portfolio-grid .project-card .project{flex:none;min-height:0;aspect-ratio:3/4!important;border-radius:18px}.portfolio-grid .project-card .project img{width:100%;height:100%;object-fit:cover}.portfolio-grid .project-card .project-detail-link{min-height:44px}.detail-hero{padding:65px 0 50px}.detail-gallery{grid-template-columns:1fr}.detail-gallery a:first-child{grid-column:auto}.nav.open{box-shadow:0 20px 30px #0002;border-radius:0 0 18px 18px}.hero-art img{max-height:380px}}
@media(prefers-reduced-motion:reduce){.hero-art img{animation:none!important}.detail-hero:after{animation:none!important}}

/* v2.1: gallery visible with seeded posts or bundled image fallback */
#portfolio-gallery .project-card{visibility:visible;opacity:1;min-width:0}
#portfolio-gallery .project-card .project{display:block;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:4/3}
#portfolio-gallery .project-card .project img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
@media(max-width:760px){#portfolio-gallery .project-card{flex:0 0 min(82vw,360px);width:min(82vw,360px)}#portfolio-gallery .project-card .project{aspect-ratio:3/4}}

/* v2.2 Editorial architecture showcase: no square-pattern backgrounds */
.ek-signature{position:relative;overflow:hidden;background:linear-gradient(145deg,#061c30,#0c3049 65%,#102f45);color:#fff}.ek-signature .overline{color:#ffae4b}.ek-signature-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px}.ek-signature-head>div{max-width:650px}.ek-signature-head h2{color:#fff}.ek-signature-head p{max-width:360px;color:#d4e0e9;line-height:1.9}.ek-signature-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:18px}.ek-signature-feature,.ek-signature-small{position:relative;display:block;overflow:hidden;border-radius:20px;isolation:isolate;min-height:480px;color:#fff}.ek-signature-feature:after,.ek-signature-small:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,15,27,.88),transparent 70%);pointer-events:none}.ek-signature-feature img,.ek-signature-small img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.ek-signature-feature:hover img,.ek-signature-small:hover img{transform:scale(1.055)}.ek-signature-overlay,.ek-signature-small>span{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:30px;display:grid;gap:10px}.ek-signature-overlay small,.ek-signature-small small{color:#ffb15a;letter-spacing:.08em}.ek-signature-overlay strong{font-size:clamp(1.5rem,2.7vw,2.6rem);line-height:1.35}.ek-signature-overlay>span{color:#e6edf4}.ek-signature-side{display:grid;grid-template-rows:235px auto;gap:18px}.ek-signature-small{min-height:235px}.ek-signature-small strong{font-size:1.3rem}.ek-signature-info{padding:30px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14)}.ek-signature-info h3{font-size:clamp(1.4rem,2.4vw,2.1rem);margin:12px 0;color:#fff}.ek-signature-info p{color:#d6e2ec;line-height:1.85}.ek-signature-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px}.ek-text-link{color:#fff;text-decoration:underline;text-underline-offset:5px}.ek-signature a:focus-visible{outline:3px solid #ffae4b;outline-offset:4px}html[data-theme="light"] .ek-signature{background:linear-gradient(145deg,#0b2b44,#163d55)}@media(max-width:800px){.ek-signature-head{display:block}.ek-signature-grid{grid-template-columns:1fr}.ek-signature-feature{min-height:410px}.ek-signature-side{grid-template-rows:auto auto}.ek-signature-small{min-height:260px}.ek-signature-info{padding:24px}}@media(max-width:480px){.ek-signature-feature{min-height:360px}.ek-signature-small{min-height:230px}.ek-signature-overlay,.ek-signature-small>span{padding:22px}.ek-signature-info{padding:20px}.ek-signature-actions .btn{width:100%;text-align:center;justify-content:center}}@media(prefers-reduced-motion:reduce){.ek-signature-feature img,.ek-signature-small img{transition:none!important}}

/* v2.3 Premium Alexandria typography */
html{font-synthesis:none}body{font-family:"Alexandria",Tahoma,"Segoe UI",Arial,sans-serif;font-weight:400;line-height:1.9}h1,h2,h3,h4,h5,h6,.brand span,.service b,.step strong{font-family:"Alexandria",Tahoma,"Segoe UI",Arial,sans-serif;font-weight:700;letter-spacing:-.035em}h1,h2{line-height:1.5}.hero h1{font-weight:800;letter-spacing:-.045em;line-height:1.48}.section-head h2,.cta h2{font-weight:700;letter-spacing:-.035em}.nav,.btn,.small-btn,.filter,.overline,.eyebrow{font-family:"Alexandria",Tahoma,"Segoe UI",Arial,sans-serif;font-weight:600;letter-spacing:0}.hero p,.intro p,.service p,.step p,.faq p{font-weight:400}.project span,.hero-label,.faq summary{font-weight:700}.btn{line-height:1.5}@media(max-width:760px){.hero h1{line-height:1.5}.nav{line-height:1.8}}


/* v2.5: flowing architectural light — deliberately no squares or blueprint grids */
.hero{isolation:isolate}.hero>.ek-cinematic-flow{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.8}.hero>.ek-cinematic-flow svg{position:absolute;inset:-5%;width:110%;height:110%;animation:ekFlowDrift 21s ease-in-out infinite alternate;will-change:transform}.ek-flow-glow{position:absolute;width:65%;aspect-ratio:1;top:-40%;inset-inline-end:-25%;border-radius:50%;background:radial-gradient(circle,#ef85001d 0%,#ef850008 38%,transparent 70%);animation:ekFlowPulse 16s ease-in-out infinite alternate}.ek-flow-halo{position:absolute;width:45%;aspect-ratio:1;bottom:-48%;inset-inline-start:-20%;border-radius:50%;background:radial-gradient(circle,#53b6e21c,transparent 70%);animation:ekFlowPulse 20s ease-in-out infinite alternate-reverse}.hero>.hero-inner{position:relative;z-index:2}@keyframes ekFlowDrift{0%{transform:translate3d(-2%,1%,0) scale(1)}100%{transform:translate3d(2%,-2%,0) scale(1.035)}}@keyframes ekFlowPulse{from{opacity:.45;transform:scale(.94)}to{opacity:.9;transform:scale(1.12)}}
.ek-back-to-top{position:fixed;inset-inline-end:22px;bottom:180px;z-index:48;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#0b2d49;color:#fff;box-shadow:0 10px 28px #00192b45;opacity:0;visibility:hidden;transform:translateY(15px);transition:opacity .25s,transform .25s,visibility .25s,background .25s;cursor:pointer}.ek-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.ek-back-to-top:hover{background:#df7b05}.ek-back-to-top:focus-visible{outline:3px solid #f39220;outline-offset:3px}
@media(max-width:760px){.hero>.ek-cinematic-flow{opacity:.48}.hero>.ek-cinematic-flow svg{animation-duration:32s;will-change:auto}.ek-flow-glow,.ek-flow-halo{animation:none;opacity:.5}.ek-back-to-top{inset-inline-end:16px;bottom:148px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.ek-cinematic-flow svg,.ek-flow-glow,.ek-flow-halo{animation:none!important}.ek-back-to-top{transition:none!important}}

/* V2.6: crisp, consistent CSS controls rather than emoji-like Unicode glyphs. */
.ek-menu-glyph{display:block;width:19px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative;margin:4px auto}
.ek-menu-glyph:after{content:"";position:absolute;top:5px;left:0;right:0;border-top:2px solid currentColor}
.ek-theme-glyph{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-radius:50%;vertical-align:-3px;position:relative;overflow:hidden}
.ek-theme-glyph:after{content:"";position:absolute;inset:-2px -2px -2px 48%;background:currentColor}
html[lang="en"] body{direction:ltr;text-align:left}
html[lang="en"] .hero h1,html[lang="en"] .section-head h2{letter-spacing:-.025em;line-height:1.25}
html[lang="en"] .hero p,html[lang="en"] .section-head p{line-height:1.75}
@media(max-width:760px){html[lang="en"] .hero-inner,html[lang="en"] .intro,html[lang="en"] .ek-signature-grid{min-width:0}html[lang="en"] .hero h1{font-size:clamp(29px,8vw,43px);overflow-wrap:break-word}html[lang="en"] .hero-actions .btn{max-width:100%;white-space:normal}html[lang="en"] .nav.open{display:flex;z-index:90}html[lang="en"] .section-head h2{font-size:clamp(25px,7vw,35px)}}


/* V2.7 — visible cinematic architectural light motion; no square or grid patterns. */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero>.ek-v27-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:paint}
.hero>.ek-v27-atmosphere span{position:absolute;display:block;pointer-events:none}
.ek-v27-beam{width:125%;height:clamp(100px,18vw,230px);left:-15%;top:35%;border-radius:50%;filter:blur(20px);transform:rotate(-23deg);background:linear-gradient(180deg,transparent 2%,rgba(245,139,23,.06) 22%,rgba(250,149,36,.28) 48%,rgba(250,149,36,.06) 76%,transparent 98%);mix-blend-mode:screen;animation:ekV27Beam 9s ease-in-out infinite alternate}
.ek-v27-beam-two{top:65%;left:-30%;height:125px;opacity:.68;transform:rotate(16deg);background:linear-gradient(180deg,transparent,rgba(91,176,229,.27) 48%,transparent);animation:ekV27BeamTwo 12s ease-in-out infinite alternate}
.ek-v27-aura{width:52vw;height:52vw;max-width:850px;max-height:850px;border-radius:50%;filter:blur(32px);background:radial-gradient(circle,rgba(255,137,16,.27),rgba(245,129,14,.08) 38%,transparent 70%);top:-30%;right:-15%;animation:ekV27Aura 11s ease-in-out infinite alternate}
.ek-v27-aura-two{width:48vw;height:48vw;top:44%;right:auto;left:-23%;background:radial-gradient(circle,rgba(58,159,216,.25),rgba(38,111,172,.08) 38%,transparent 70%);animation-duration:14s;animation-direction:alternate-reverse}
.ek-v27-sweep{width:30%;height:200%;top:-50%;left:-45%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.085),transparent);filter:blur(18px);animation:ekV27Sweep 14s linear infinite}
@keyframes ekV27Beam{from{transform:translate3d(-9%,12%,0) rotate(-23deg);opacity:.4}to{transform:translate3d(12%,-10%,0) rotate(-16deg);opacity:1}}
@keyframes ekV27BeamTwo{from{transform:translate3d(8%,-9%,0) rotate(16deg);opacity:.3}to{transform:translate3d(-10%,12%,0) rotate(9deg);opacity:.9}}
@keyframes ekV27Aura{from{transform:translate3d(-12%,10%,0) scale(.85);opacity:.5}to{transform:translate3d(13%,-9%,0) scale(1.2);opacity:1}}
@keyframes ekV27Sweep{0%{transform:translate3d(-10%,0,0) rotate(22deg)}100%{transform:translate3d(550%,0,0) rotate(22deg)}}
.hero>.ek-architecture-bg{z-index:0;opacity:.5}.hero>.ek-cinematic-flow{z-index:0;opacity:1}.hero>.hero-inner{position:relative;z-index:2}
@media(max-width:760px){.ek-v27-beam{width:180%;left:-45%;height:125px;filter:blur(15px);animation-duration:7s}.ek-v27-beam-two{height:90px;animation-duration:10s}.ek-v27-aura{width:95vw;height:95vw;right:-45%;top:-15%;filter:blur(24px);animation-duration:9s}.ek-v27-aura-two{left:-50%;top:48%;animation-duration:12s}.ek-v27-sweep{animation-duration:12s}.hero>.ek-architecture-bg{opacity:.2}}
@media(prefers-reduced-motion:reduce){.hero>.ek-v27-atmosphere span{animation:none!important}.ek-v27-beam{opacity:.65}.ek-v27-aura{opacity:.6}}

/* v2.8: keep the scroll control separate from the mobile contact dock. */
.ek-back-to-top{inset-inline-end:auto;inset-inline-start:clamp(16px,2vw,28px);bottom:clamp(20px,3vh,32px);z-index:79}
@media(max-width:760px){.ek-back-to-top{inset-inline-end:auto;inset-inline-start:16px;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:44px;height:44px}.ek-contact-dock{z-index:80}}

/* V2.9 – premium editorial sections and restrained architectural light, no grids or squares */
.ek-editorial{background:var(--surface,#f7f8fa);overflow:hidden}.ek-editorial-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(30px,5vw,70px)}.ek-editorial-heading h2{max-width:740px}.ek-editorial-heading>p{max-width:470px;line-height:1.95}.ek-editorial-stack{display:grid;gap:clamp(44px,8vw,110px)}.ek-editorial-row{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,96px);align-items:center}.ek-editorial-row.ek-reverse .ek-editorial-image{order:2}.ek-editorial-image{position:relative;overflow:hidden;border-radius:clamp(14px,2vw,26px);aspect-ratio:1.3;isolation:isolate;background:#132b3c}.ek-editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,rgba(246,146,40,.18) 65%,transparent 85%);transform:translateX(-150%);transition:transform 1.3s ease;pointer-events:none}.ek-editorial-row:hover .ek-editorial-image:after{transform:translateX(150%)}.ek-editorial-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.ek-editorial-row:hover img{transform:scale(1.045)}.ek-editorial-copy{max-width:520px}.ek-editorial-copy .ek-index{display:block;color:#df811e;font-size:.78rem;letter-spacing:.1em;font-weight:700;margin-bottom:18px}.ek-editorial-copy h3{font-size:clamp(1.5rem,3vw,2.8rem);line-height:1.45;margin:0 0 20px}.ek-editorial-copy p{line-height:2;margin:0 0 28px}.ek-minimal-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;font-weight:700;border-bottom:2px solid #e78b2d;padding-bottom:9px;transition:color .25s,border-color .25s}.ek-minimal-link:hover{color:#df811e}.ek-interlude{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 15% 15%,#183e56,#061b2e 65%);color:white;padding:clamp(90px,12vw,170px) 0}.ek-interlude-light{position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 40%,rgba(243,145,36,.23),transparent 38%),radial-gradient(ellipse at 25% 70%,rgba(80,159,207,.2),transparent 45%);animation:ekV29Light 13s ease-in-out infinite alternate;will-change:transform}.ek-interlude:before{content:"";position:absolute;inset:-100% -25%;background:linear-gradient(110deg,transparent 44%,rgba(255,170,72,.09) 49%,transparent 55%);animation:ekV29Sweep 12s linear infinite;pointer-events:none}.ek-interlude-content{position:relative;text-align:center;max-width:950px}.ek-interlude h2{font-size:clamp(2rem,5vw,4.4rem);line-height:1.45;margin:16px auto 24px}.ek-interlude p{color:#d5e1e9;line-height:1.9}.ek-reveal{opacity:1;transform:none}.ek-motion-ready .ek-reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.ek-motion-ready .ek-reveal.ek-visible{opacity:1;transform:none}@keyframes ekV29Light{0%{transform:translate3d(-7%,3%,0) scale(.95)}100%{transform:translate3d(8%,-5%,0) scale(1.12)}}@keyframes ekV29Sweep{from{transform:translateX(-45%)}to{transform:translateX(45%)}}@media(max-width:760px){.ek-editorial-heading,.ek-editorial-row{grid-template-columns:1fr;gap:22px}.ek-editorial-row.ek-reverse .ek-editorial-image{order:0}.ek-editorial-image{aspect-ratio:1.18}.ek-editorial-stack{gap:52px}.ek-editorial-copy h3{font-size:1.65rem}.ek-interlude{padding:90px 0}.ek-interlude-light{animation-duration:18s}.ek-interlude:before{animation-duration:18s}}@media(prefers-reduced-motion:reduce){.ek-interlude-light,.ek-interlude:before{animation:none!important}.ek-motion-ready .ek-reveal{opacity:1;transform:none;transition:none}.ek-editorial-image img,.ek-editorial-image:after{transition:none}}

/* V3.0: additional real portfolio photography and premium light choreography */
.ek-v30-showcase{position:relative;overflow:hidden;background:var(--surface,#f6f8fa)}.ek-v30-showcase:before{content:"";position:absolute;inset:-30% -15%;pointer-events:none;background:radial-gradient(ellipse at 70% 28%,rgba(229,137,38,.075),transparent 48%);animation:ekV30Ambient 17s ease-in-out infinite alternate}.ek-v30-title{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:end;margin-bottom:36px}.ek-v30-title h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.4}.ek-v30-title p{line-height:1.95;max-width:450px}.ek-v30-gallery{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ek-v30-photo{position:relative;min-width:0;aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:18px;background:#0a263c;isolation:isolate}.ek-v30-photo:nth-child(2),.ek-v30-photo:nth-child(5){aspect-ratio:4/4.3}.ek-v30-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .8s}.ek-v30-photo:after{content:"";position:absolute;inset:-35%;pointer-events:none;background:linear-gradient(112deg,transparent 38%,rgba(255,190,101,.23) 49%,transparent 60%);transform:translateX(-130%);transition:transform 1.5s ease}.ek-v30-photo:hover img{transform:scale(1.065);filter:saturate(1.08)}.ek-v30-photo:hover:after{transform:translateX(130%)}.ek-v30-photo figcaption{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:8px;padding:55px 20px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,14,28,.86));z-index:1}.ek-v30-photo figcaption small{font-size:.7rem;letter-spacing:.09em;color:#ffc47b}.ek-v30-photo figcaption strong{font-size:clamp(.92rem,1.3vw,1.2rem);line-height:1.6}.ek-v30-lightstage{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#041a2b,#0a3048 58%,#041827);color:#fff;padding:clamp(100px,13vw,180px) 0}.ek-v30-lightstage:before{content:"";position:absolute;inset:-60%;z-index:-1;background:conic-gradient(from 35deg at 50% 50%,transparent 0deg,rgba(246,143,35,.16) 65deg,transparent 120deg,rgba(62,165,217,.17) 220deg,transparent 300deg);filter:blur(35px);animation:ekV30Rotate 28s linear infinite}.ek-v30-orbit{position:absolute;left:50%;top:50%;width:min(75vw,850px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(245,153,64,.14);border-radius:50%;box-shadow:0 0 90px rgba(246,139,29,.11),inset 0 0 95px rgba(48,137,197,.08);pointer-events:none}.ek-v30-orbit:before,.ek-v30-orbit:after{content:"";position:absolute;inset:14%;border:1px solid rgba(255,255,255,.08);border-radius:50%}.ek-v30-orbit:after{inset:31%;border-color:rgba(255,159,61,.18)}.ek-v30-flare{position:absolute;inset:-50%;background:linear-gradient(105deg,transparent 45%,rgba(255,181,85,.11) 49%,transparent 54%);animation:ekV30Sweep 12s linear infinite;pointer-events:none}.ek-v30-stage-inner{position:relative;z-index:1;text-align:center;max-width:880px}.ek-v30-stage-inner h2{font-size:clamp(2rem,5vw,4rem);line-height:1.5;margin:20px auto}.ek-v30-stage-inner p{line-height:2;color:#d6e3ec;max-width:620px;margin:0 auto 30px}@keyframes ekV30Rotate{to{transform:rotate(360deg)}}@keyframes ekV30Sweep{to{transform:translateX(35%)}}@keyframes ekV30Ambient{to{transform:translate3d(-8%,5%,0) scale(1.1)}}@media(max-width:760px){.ek-v30-title{grid-template-columns:1fr;gap:12px}.ek-v30-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ek-v30-photo,.ek-v30-photo:nth-child(2),.ek-v30-photo:nth-child(5){aspect-ratio:3/4;border-radius:12px}.ek-v30-photo figcaption{padding:45px 12px 14px}.ek-v30-lightstage{padding:100px 0}.ek-v30-orbit{width:115vw}.ek-v30-lightstage:before{animation-duration:38s}}@media(prefers-reduced-motion:reduce){.ek-v30-showcase:before,.ek-v30-lightstage:before,.ek-v30-flare{animation:none!important}.ek-v30-photo img,.ek-v30-photo:after{transition:none}}
