
:root{--navy:#18344a;--deep:#172536;--copper:#b7784d;--paper:#f6f5f1;--muted:#606f79;--line:#dde2e4;--bs-body-font-family:'Cairo',Tahoma,Arial,sans-serif;--bs-body-color:var(--navy)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:155px}
body{margin:0;background:#fff;font-family:'Cairo',Tahoma,Arial,sans-serif;line-height:1.9;color:var(--navy)}
[lang=en] body{font-family:Bahnschrift,'Cairo',Arial,sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:var(--copper)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:5px}
.container{max-width:1240px;padding-inline:28px}
.skip{position:fixed;top:-100px;z-index:9999;background:#fff;padding:12px}
.skip:focus{top:0}
.topbar{background:var(--navy);color:#fff;font-size:11px;letter-spacing:.2px;padding:6px 0}
.topbar a{font-family:Arial,sans-serif;letter-spacing:1px}
header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:1020;border-bottom:1px solid var(--line)}
.navbar{padding:10px 0}
.navbar-brand{padding:0;margin:0}
.navbar-brand img{width:125px;height:83px;object-fit:contain}
.navbar-nav{gap:20px}
.navbar .nav-link{font-size:14px;font-weight:700;color:var(--navy);padding:10px 0!important;position:relative}
.navbar .nav-link.active:after{content:'';position:absolute;bottom:3px;inset-inline-start:0;width:22px;height:2px;background:var(--copper)}
.nav-actions{display:flex;align-items:center;gap:24px}
.language{font-size:12px;border-inline-start:1px solid var(--line);padding-inline-start:20px}
.btn{border-radius:0;font-size:14px;padding:14px 26px;font-weight:700;display:inline-flex;gap:22px;align-items:center;justify-content:center;line-height:1.7}
.btn-copper{background:#995e37;color:#fff;border:1px solid #995e37}
.btn-copper:hover,.btn-copper:focus{background:#945d38;color:#fff;border-color:#945d38}
.btn-copper span{font-size:18px}
.menu-icon{font-size:22px}
.navbar-toggler{border:0;box-shadow:none!important}
.hero{min-height:660px;height:calc(100svh - 136px);max-height:880px;position:relative;background:var(--navy);color:#fff;isolation:isolate;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(270deg,rgba(16,38,55,.94) 0%,rgba(16,38,55,.70) 43%,rgba(16,38,55,.12) 100%),var(--hero-image);background-size:cover;background-position:center;z-index:-2}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,32,47,.6),transparent 35%);z-index:-1}
[dir=ltr] .hero:before{background-image:linear-gradient(90deg,rgba(16,38,55,.94),rgba(16,38,55,.65) 45%,rgba(16,38,55,.1)),var(--hero-image)}
.hero-content{display:flex;align-items:center;height:calc(100% - 70px)}
.hero-copy{max-width:740px;padding:35px 0}
.eyebrow{display:block;color:#995e37;font-size:12px;font-weight:800;letter-spacing:1.1px;margin-bottom:22px}
.eyebrow.light{color:#e3bb9b}
.hero h1{font-size:clamp(38px,4.1vw,65px);line-height:1.5;font-weight:700;letter-spacing:-1.8px;margin:0 0 25px}
.hero h1 em{font-style:normal;color:#d99b6d}
.hero-copy p{font-size:15px;line-height:2.2;color:#d9e1e5;max-width:555px;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:34px}
.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--copper);padding-bottom:7px;display:inline-flex;gap:28px;align-items:center}
.text-link.light{color:#fff;border-color:#ffffff60}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff35;font-size:10px;letter-spacing:1px;height:70px}
.identity-strip{background:var(--paper);border-bottom:1px solid var(--line)}
.identity-strip>.container{display:flex;align-items:center;gap:70px;min-height:135px;position:relative;overflow:hidden}
.identity-strip strong{font-size:32px;line-height:1.2;font-weight:700;display:block}
.identity-strip span:not(.strip-mark){display:block;font-size:10px;color:var(--muted);margin-top:8px}
.identity-strip p{font-size:14px;margin:0;border-inline-start:1px solid #cad0d2;padding-inline-start:45px}
.strip-mark{margin-inline-start:auto;font:900 85px Arial;color:#18344a0d;letter-spacing:-9px}
.section{padding:100px 0}
.section-heading h2{font-size:clamp(27px,3vw,42px);line-height:1.6;font-weight:700;letter-spacing:-.8px;margin-bottom:23px}
.section-heading p{font-size:14px;color:var(--muted);line-height:2.1;max-width:530px}
.section-heading{margin-bottom:30px}
.service-row{display:grid;grid-template-columns:40px 1fr 44px;gap:22px;align-items:start;padding:28px 0;border-top:1px solid var(--line);transition:padding .2s}
.service-row:last-child{border-bottom:1px solid var(--line)}
.service-row:hover{padding-inline:10px;color:var(--navy)}
.service-number{color:#995e37;font:500 15px Arial;padding-top:7px}
.service-row h3{font-size:20px;font-weight:700;margin-bottom:10px;line-height:1.7}
.service-row p{font-size:12px;color:var(--muted);margin:0;max-width:620px}
.round-arrow{border:1px solid var(--line);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font:22px Arial;transition:background .2s}
.service-row:hover .round-arrow{background:var(--copper);color:#fff;border-color:var(--copper)}
.heading-line{display:flex;justify-content:space-between;align-items:center;gap:30px}
.work-section{background:var(--paper)}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px}
.work-card{min-width:0}
.work-image{border:0;padding:0;width:100%;display:block;position:relative;background:var(--navy);overflow:hidden;aspect-ratio:4/3;text-align:inherit}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.work-image:hover img{transform:scale(1.045)}
.image-zoom{position:absolute;bottom:16px;inset-inline-end:16px;background:#fff;color:var(--navy);width:35px;height:35px;display:grid;place-items:center;font-size:24px}
.work-caption{padding:17px 0;border-bottom:1px solid var(--line)}
.work-caption>span{font-size:10px;color:var(--muted)}
.work-caption h3{font-size:17px;margin:6px 0;font-weight:600}
.about-photo{position:relative;padding-bottom:38px;padding-inline-end:30px}
.about-photo>img{width:100%;height:470px;object-fit:cover}
.photo-label{position:absolute;bottom:0;inset-inline-end:0;background:var(--navy);color:#fff;font-size:14px;padding:24px 34px;min-width:230px}
.photo-label span{display:block;color:#c69773;font-size:9px;letter-spacing:2px;margin-top:7px}
.principles{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}
.principles>div{border-top:1px solid var(--line);padding-top:18px}
.principles span{font:12px Arial;color:#995e37}
.principles h3{font-size:17px;margin:12px 0}
.principles p{font-size:12px;color:var(--muted)}
.process-section{background:var(--navy);color:#fff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}
.process-step{border-top:1px solid #ffffff35;padding-top:24px}
.process-step>span{font:32px Arial;color:#c39069}
.process-step h3{font-size:20px;margin:25px 0 14px}
.process-step p{font-size:12px;color:#c5d0d7}
.faq-list details{padding:22px 0;border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:16px;font-weight:600}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--copper);font:24px Arial}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{font-size:13px;color:var(--muted);padding-top:18px;margin:0;max-width:650px}
.cta{padding:65px 0;background:#eee8df;position:relative;overflow:hidden}
.cta:after{content:'GC';position:absolute;inset-inline-end:8%;top:-65px;font:900 240px Arial;letter-spacing:-30px;color:#18344a05;pointer-events:none}
.cta-inner{display:flex;justify-content:space-between;gap:40px;align-items:center;position:relative;z-index:1}
.cta h2{font-size:33px;font-weight:700;line-height:1.6}
.cta p{font-size:13px;color:var(--muted);margin-bottom:0}
.cta .eyebrow{margin-bottom:12px}
footer{background:var(--deep);color:#fff;padding-top:60px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:65px;padding-bottom:45px}
.footer-brand img{width:165px;height:115px;object-fit:contain;background:white;padding:8px}
.footer-brand p{font-size:12px;color:#b7c1ca;margin:20px 0 0}
footer h2{font-size:15px;color:#d09b73;margin:12px 0 25px}
footer a,.footer-address{display:block;font-size:14px;color:#c6cdd4;margin-bottom:13px}
 .footer-contact{min-width:0;text-align:start}
.footer-contact-link{inline-size:fit-content;max-inline-size:100%;white-space:nowrap}
.footer-contact-link bdi{unicode-bidi:isolate;direction:ltr;font-family:Arial,sans-serif}
.footer-address{line-height:1.9}
footer .footer-brand>img{display:block}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:23px 0 12px;border-top:1px solid #ffffff20}
.footer-bottom span,.footer-bottom a{font-size:10px;color:#9eabb5}
.whatsapp{position:fixed;bottom:25px;inset-inline-end:25px;width:55px;height:55px;display:grid;place-items:center;background:#18344a;color:white;border-radius:50%;z-index:1030;box-shadow:0 5px 20px #0002;border:1px solid #ffffff80}
.whatsapp:hover{background:var(--copper);color:#fff}
.whatsapp svg{width:31px;height:31px}
.page-intro{padding:55px 0 65px;background:var(--paper);position:relative;isolation:isolate}
.page-intro h1{font-size:clamp(33px,4vw,54px);line-height:1.6;font-weight:700;max-width:950px;margin-bottom:15px;letter-spacing:-1px}
.page-intro p{max-width:710px;font-size:15px;color:var(--muted)}
.page-intro .eyebrow{margin:35px 0 15px}
.breadcrumbs{display:flex;gap:14px;font-size:11px;color:var(--muted)}
.page-intro.with-photo{color:#fff;min-height:390px;background:var(--navy)}
.with-photo:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#18344a88,#18344aee),var(--intro-image) center/cover}
.with-photo p,.with-photo .breadcrumbs{color:#d9e1e6}
.editorial-photo{width:100%;height:390px;object-fit:cover}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px}
.vision-grid>div{padding-top:30px;border-top:1px solid var(--line)}
.vision-grid h2{font-size:26px;line-height:1.6}
.vision-grid p{font-size:14px;color:var(--muted)}
.company-data{display:grid;grid-template-columns:1fr 1fr;gap:25px 60px}
.company-data>div{border-top:1px solid #ffffff30;padding-top:20px}
.company-data span{display:block;font-size:11px;color:#b4c2cd}
.company-data strong{display:block;font-size:16px;font-weight:500;margin-top:8px}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}
.filter-btn{background:#fff;border:1px solid var(--line);padding:10px 22px;font-size:12px;color:var(--navy)}
.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
[hidden]{display:none!important}
.gallery-note{font-size:11px;color:var(--muted);margin-top:35px}
.modal-content{border-radius:0}
.modal-header{padding:15px 22px}
.modal-title{font-size:13px;margin:0}
.modal-body{background:var(--deep);padding:0;text-align:center}
.modal-body img{max-width:100%;max-height:78vh;object-fit:contain}
.scope-list{padding:0;list-style:none;margin:30px 0}
.scope-list li{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px}
.scope-list span{color:var(--copper)}
.scope-note{font-size:12px;color:var(--muted)}
.enquiry-panel{padding:40px;background:var(--paper);border-top:3px solid var(--copper)}
.enquiry-panel h2{font-size:26px;line-height:1.6}
.enquiry-panel p{font-size:13px;margin:20px 0 30px;color:var(--muted)}
.contact-sidebar h2{font-size:36px;line-height:1.7;margin-bottom:35px}
.contact-item{border-top:1px solid var(--line);padding:20px 0}
.contact-item>span{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}
.contact-item a,.contact-item strong{display:inline-block;font-size:17px;font-weight:500;overflow-wrap:anywhere}
.contact-item a[dir=ltr]{font-family:Arial,sans-serif}
.quote-form{background:var(--paper);padding:40px}
.quote-form h2{font-size:28px;font-weight:700;line-height:1.7}
.quote-form>p{font-size:12px;color:var(--muted);margin-bottom:30px}
.quote-form label{font-size:14px;display:block;margin-bottom:8px;font-weight:600}
.form-control,.form-select{border-radius:0;border:1px solid #d6dddf;background-color:#fff;padding:12px;color:var(--navy);font-size:14px;min-height:48px}
.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px #b7784d25;border-color:var(--copper)}
.consent{display:flex!important;gap:10px;align-items:start;font-weight:400!important}
.consent input{margin-top:7px;accent-color:var(--navy)}
.consent a{text-decoration:underline}
.form-note{font-size:12px;color:var(--muted);margin:15px 0 0}
#form-status{font-size:12px;margin-top:15px}
#form-status a{text-decoration:underline;font-weight:700}
.prose{max-width:850px}
.prose h2{font-size:24px;margin-bottom:18px}
.prose p{font-size:14px;color:var(--muted);margin-bottom:40px}
[dir=ltr] .navbar-brand{margin-right:0}
[dir=ltr] .form-select{padding-left:12px;padding-right:36px;background-position:right .75rem center}
[dir=ltr] .btn-close{margin-left:auto;margin-right:0}

@media(min-width:1500px){.container{max-width:1330px}
}
@media(max-width:1199px){.navbar-nav{gap:13px}
.nav-actions{gap:15px}
.navbar .btn{padding:12px 16px}
.hero h1{font-size:51px}
}
@media(max-width:991px){.navbar-brand img{height:67px;width:110px}
.navbar-collapse{padding:20px 0}
.navbar-nav{gap:4px}
.navbar .nav-link{padding:10px!important}
.nav-actions{margin-top:15px;justify-content:space-between}
.section{padding:70px 0}
.hero{min-height:630px;height:75svh}
.hero h1{font-size:48px}
.hero-copy{max-width:680px}
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-work .work-card:last-child{display:none}
.process-grid{grid-template-columns:1fr 1fr;gap:30px}
.footer-top{gap:35px}
.identity-strip>.container{gap:45px}
.identity-strip p{padding-inline-start:30px}
.about-photo>img{height:420px}
.heading-line{align-items:end}
.page-intro{padding:35px 0 45px}
.contact-sidebar h2 br{display:none}
}
@media(max-width:575px){.container{padding-inline:24px}
.topbar{font-size:9px;padding:5px 0}
.navbar{padding:5px 0}
.navbar-brand img{width:100px;height:66px}
.hero{height:auto;min-height:650px}
.hero:before{background-position:43% center;background-image:linear-gradient(270deg,#102637ed,#102637a8),var(--hero-image)}
.hero-content{min-height:575px}
.hero h1{font-size:36px;letter-spacing:-1px;line-height:1.65}
.hero-copy{padding:40px 0}
.hero-copy p{font-size:13px;line-height:2}
.eyebrow{font-size:10px;margin-bottom:18px}
.hero-actions{gap:20px;flex-wrap:wrap}
.hero-actions .btn{padding:13px 20px;font-size:12px}
.hero-actions .text-link{font-size:12px;gap:15px}
.hero-bottom{height:64px;font-size:8px}
.hero-bottom>a{max-width:140px;text-align:end}
.identity-strip>.container{gap:28px;min-height:110px;flex-wrap:wrap;padding-block:22px}
.identity-strip strong{font-size:26px}
.identity-strip p{font-size:11px;padding-inline-start:20px}
.strip-mark{display:none}
.identity-strip span:not(.strip-mark){font-size:9px}
.section{padding:55px 0}
.section-heading h2{font-size:28px}
.section-heading p{font-size:13px}
.service-row{grid-template-columns:25px 1fr 32px;gap:12px;padding:22px 0}
.service-row h3{font-size:17px}
.service-row p{font-size:11px}
.service-number{font-size:12px}
.round-arrow{height:30px;width:30px;font-size:18px}
.heading-line{display:block}
.heading-line>.text-link{margin-bottom:25px}
.work-grid{grid-template-columns:1fr;gap:25px}
.home-work .work-card:last-child{display:block}
.work-image{aspect-ratio:4/3}
.about-photo{padding-inline-end:18px}
.about-photo>img{height:340px}
.photo-label{min-width:190px;padding:18px 22px;font-size:12px}
.principles{gap:18px}
.principles h3{font-size:15px}
.process-grid{gap:25px 22px;margin-top:30px}
.process-step h3{font-size:17px;margin-top:18px}
.process-step p{font-size:11px}
.process-step>span{font-size:26px}
.faq-list summary{font-size:14px}
.cta-inner{display:block}
.cta h2{font-size:27px}
.cta .btn{margin-top:25px}
.cta{padding:45px 0}
.footer-top{grid-template-columns:1fr;gap:25px}
.footer-brand{grid-column:1/-1}
.footer-brand img{width:145px;height:100px}
.footer-brand p{margin-top:15px}
footer .footer-top a{font-size:14px}
.footer-bottom{display:block;padding-bottom:25px}
.footer-bottom span{line-height:2}
.whatsapp{width:48px;height:48px;bottom:17px;inset-inline-end:17px}
.page-intro h1{font-size:32px}
.page-intro p{font-size:13px}
.breadcrumbs{font-size:10px}
.page-intro.with-photo{min-height:330px}
.vision-grid,.company-data{grid-template-columns:1fr;gap:25px}
.vision-grid{margin-top:40px}
.editorial-photo{height:290px}
.filter-btn{padding:8px 13px;font-size:11px}
.quote-form{padding:25px 20px}
.quote-form h2{font-size:23px}
.contact-sidebar h2{font-size:29px}
.enquiry-panel{padding:28px}
.scope-list li{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}



/* Native MPA transitions: links, history and modifier-click stay browser-owned. */
@view-transition { navigation: auto; }

html { background: var(--paper); scrollbar-gutter: stable; }

.site-header { view-transition-name: site-header; }

::view-transition-old(root), ::view-transition-new(root) { animation-duration: 160ms; animation-timing-function: ease-out; }

::view-transition-old(site-header), ::view-transition-new(site-header) { animation: none; mix-blend-mode: normal; }

::view-transition-group(site-header) { animation-duration: 160ms; }

.direction-arrow { display:inline-block; }

[dir=ltr] .direction-arrow { transform:scaleX(-1); }

.process-section .eyebrow { color:#d5a887; }

.quote-form small { display:block; color:var(--muted); margin-top:7px; font-size:11px; }

.form-error { display:block; font-size:12px; color:#9b2525; margin-top:7px; }

[aria-invalid=true] { border-color:#9b2525; }

.quote-form .invalid-summary { border-inline-start:3px solid #9b2525; padding:10px 14px; color:#802525; background:#fff; }

.footer-bottom { padding-bottom:65px; }

body:has(.modal.show) .whatsapp { visibility:hidden; }

.form-control,.form-select { scroll-margin-top:170px; }

.filter-btn,.language,.navbar-toggler,.btn-close { min-height:44px; min-width:44px; }

.language { display:inline-flex;align-items:center;justify-content:center; }

.image-zoom { width:44px;height:44px; }

.modal-title { color:var(--navy);font-size:16px; }

.modal-header .btn-close { background-size:16px; }

#gallery-full { display:block;width:auto;height:auto;margin:auto;max-width:100%;max-height:76vh; }

@media(max-width:991px){.contact-sidebar{order:2}
.contact-form-column{order:1}
}

@media(max-width:575px){.hero-bottom{gap:20px}
.hero-bottom span{max-width:50%}
.hero-bottom a{max-width:48%;flex-shrink:0}
.identity-strip p{flex:1;min-width:100px}
.whatsapp{bottom:14px;inset-inline-end:14px}
.footer-top{padding-bottom:28px}
.form-control,.form-select{font-size:16px}
.quote-form{padding:25px 18px}
.footer-bottom{padding-bottom:68px}
.footer-contact-link{white-space:normal}
.footer-contact-link bdi{white-space:nowrap}
}

@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}
::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}


/* Mobile contact remains available in the header, contact page and footer, without a floating overlay. */
@media(max-width:575px){.whatsapp{display:none}}
