@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&family=Montserrat:wght@400;500;600;700&display=swap');

:root{
  --black:#0a0a0b;--black2:#111214;--white:#f7f4ee;--paper:#eee9df;
  --gold:#c9933d;--gold2:#e0b261;--muted:#aaa49b;--line:rgba(201,147,61,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:#171717;font-family:"Cairo",Arial,sans-serif;line-height:1.75}
html[dir="ltr"] body{font-family:"Montserrat",Arial,sans-serif}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}

.header{position:fixed;inset:0 0 auto 0;height:84px;z-index:100;background:linear-gradient(to bottom,rgba(8,8,9,.94),rgba(8,8,9,.74));border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(13px)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:flex;align-items:center;gap:12px;color:white;min-width:0}
.brand-badge{width:47px;height:47px;border-radius:11px;overflow:hidden;background:white;display:grid;place-items:center;padding:2px;box-shadow:0 0 0 1px rgba(201,147,61,.45)}
.brand-badge img{width:100%;height:100%;object-fit:cover}
.brand-text b,.brand-text small{display:block;line-height:1.25}
.brand-text b{font-size:14px}
.brand-text small{font-size:9px;letter-spacing:.05em;color:#c4b8a7}
.menu{display:flex;align-items:center;gap:24px;color:#eee;font-size:13px}
.menu a{position:relative;white-space:nowrap}
.menu a:after{content:"";position:absolute;bottom:-9px;right:0;width:0;height:1px;background:var(--gold);transition:.25s}
html[dir="ltr"] .menu a:after{right:auto;left:0}
.menu a:hover:after{width:100%}
.lang-btn{border:1px solid var(--line);background:transparent;color:var(--gold2);border-radius:9px;padding:6px 10px;cursor:pointer;font-weight:700}
.menu-toggle{display:none;border:0;background:none;color:white;font-size:27px}

.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background:#080809}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.7) contrast(1.05)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.98) 10%,rgba(7,7,8,.82) 48%,rgba(9,9,10,.2) 100%),linear-gradient(to top,rgba(7,7,8,.78),transparent 45%)}
html[dir="ltr"] .hero-overlay{background:linear-gradient(270deg,rgba(5,5,5,.98) 10%,rgba(7,7,8,.82) 48%,rgba(9,9,10,.2) 100%),linear-gradient(to top,rgba(7,7,8,.78),transparent 45%)}
.hero-content{position:relative;z-index:2;color:white;padding-top:100px}
.eyebrow,.mini{color:var(--gold2);font-size:12px;font-weight:700;letter-spacing:.08em}
.hero h1{font-size:clamp(48px,7.4vw,96px);line-height:1.08;margin:13px 0 25px;max-width:900px;letter-spacing:-.035em}
.hero h1 span{color:var(--gold2)}
.hero p{font-size:18px;max-width:710px;color:#d5d1cb;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:11px 22px;border-radius:4px;font-weight:700;font-size:13px;border:1px solid transparent;transition:.25s}
.btn.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#111}
.btn.gold:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(201,147,61,.22)}
.btn.outline{border-color:rgba(255,255,255,.32);color:white;background:rgba(0,0,0,.16)}
.btn.outline:hover{border-color:var(--gold)}
.btn.dark-btn{background:#121315;color:white}
.hero-points{display:flex;gap:30px;flex-wrap:wrap;margin-top:75px;padding-top:23px;border-top:1px solid rgba(255,255,255,.16);max-width:850px}
.hero-points span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#d1cbc1}
.hero-points span:before{content:"◆";color:var(--gold);font-size:8px;margin-left:9px}
html[dir="ltr"] .hero-points span:before{margin-left:0;margin-right:9px}
.scroll-hint{position:absolute;bottom:25px;left:50%;z-index:3;color:var(--gold2);font-size:22px;animation:bounce 1.8s infinite}
@keyframes bounce{50%{transform:translateY(8px)}}

.section{padding:110px 0}
.about{background:#f4f0e9}
.about-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}
.kicker{display:inline-grid;place-items:center;min-width:47px;height:47px;border:1px solid var(--gold);color:var(--gold);font-weight:700;border-radius:50%;font-family:"Montserrat",sans-serif}
.section-copy h2,.section-head h2,.why h2,.contact h2{font-size:clamp(34px,5vw,61px);line-height:1.17;margin:12px 0 24px;letter-spacing:-.035em}
.lead{font-size:19px;color:#494844}
.muted{color:#77736d}
.signature-line{width:90px;height:2px;background:var(--gold);margin:27px 0}
.profile-card{position:relative;border-radius:2px;overflow:hidden;box-shadow:0 28px 70px rgba(30,22,10,.15)}
.profile-card img{width:100%;height:740px;object-fit:cover;object-position:center top}
.profile-caption{position:absolute;inset:auto 18px 18px 18px;background:rgba(9,9,10,.9);color:white;padding:18px 20px;border:1px solid rgba(201,147,61,.5)}
.profile-caption b,.profile-caption span{display:block}
.profile-caption span{font-size:11px;color:#c9b58f;margin-top:4px}

.dark-section{background:var(--black);color:white;position:relative;overflow:hidden}
.dark-section:before{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(201,147,61,.1);transform:rotate(35deg);top:-320px;left:-200px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:55px}
.section-head>div{max-width:730px}
.section-head>p{max-width:400px;color:#8d8982;margin:0}
.dark-section .section-head>p{color:#aaa59e}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{padding:38px 32px;min-height:340px;border-left:1px solid var(--line);position:relative;transition:.3s}
.service-card:last-child{border-left:0}
html[dir="ltr"] .service-card{border-left:0;border-right:1px solid var(--line)}
html[dir="ltr"] .service-card:last-child{border-right:0}
.service-card:hover{background:#151517}
.service-card .icon{font-size:42px;color:var(--gold2);height:62px}
.service-card>span{position:absolute;top:28px;left:26px;font:600 12px "Montserrat";color:#7e6743}
html[dir="ltr"] .service-card>span{left:auto;right:26px}
.service-card h3{font-size:25px;margin:18px 0 10px}
.service-card p{color:#aaa59d;font-size:14px}
.scope{display:grid;grid-template-columns:.55fr 1.45fr;gap:60px;margin-top:65px;align-items:start}
.scope-title{display:flex;align-items:center;gap:18px}
.scope-title h3{font-size:28px;margin:0}
.scope ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.scope li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09);color:#d9d5ce}
.scope li:before{content:"✓";color:var(--gold);margin-left:10px}
html[dir="ltr"] .scope li:before{margin-left:0;margin-right:10px}

.capabilities{background:#fff}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dad4c9;border-right:1px solid #dad4c9}
.cap-grid>div{min-height:175px;padding:28px;border-left:1px solid #dad4c9;border-bottom:1px solid #dad4c9;display:flex;flex-direction:column;justify-content:space-between}
.cap-grid b{font:500 12px "Montserrat";color:var(--gold)}
.cap-grid h3{font-size:20px;margin:0;max-width:270px}

.projects{background:#e9e4da}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.project-card{grid-column:span 4;position:relative;height:390px;overflow:hidden;background:#111;cursor:zoom-in}
.project-card.tall{height:540px}
.project-card img{width:100%;height:100%;object-fit:cover;transition:.6s}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,.8),transparent 60%)}
.project-card:hover img{transform:scale(1.045)}
.project-info{position:absolute;z-index:2;right:21px;left:21px;bottom:18px;color:white}
.project-info span{font:600 10px "Montserrat";letter-spacing:.1em;color:var(--gold2)}
.project-info h3{font:600 22px "Montserrat";margin:5px 0}

.news{background:#f7f4ee}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9d2c7;border-right:1px solid #d9d2c7}
.news-grid article{padding:30px;border-left:1px solid #d9d2c7;border-bottom:1px solid #d9d2c7;min-height:240px}
.news-grid time{font:600 11px "Montserrat";color:var(--gold)}
.news-grid h3{font-size:23px;line-height:1.4;margin:35px 0 8px}
.news-grid p{font-size:14px;color:#77716a}

.why{background:#111214;color:white;padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.why-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-right:1px solid var(--line)}
.why-points span{padding:25px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:700}

.contact{background:#c99b4a;color:#111}
.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:start}
.contact .kicker{border-color:#111;color:#111}
.contact .mini{color:#302817}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}
.contact .btn.gold{background:#101112;color:white}
.contact-panel{background:#0d0e10;color:white;padding:35px;box-shadow:18px 18px 0 rgba(255,255,255,.28)}
.contact-panel>a,.contact-panel>div{display:block;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.contact-panel span,.contact-panel b{display:block}
.contact-panel span{font-size:10px;color:#b9a887;letter-spacing:.08em}
.contact-panel b{font-size:15px;margin-top:6px;word-break:break-word}
.contact-panel .legal{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;border-bottom:0}

footer{background:#070708;color:#ccc;padding:40px 0}
.footer{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-brand{background:white;width:190px;padding:8px 12px}
.footer-brand img{width:100%}
footer p{font-size:11px;color:#8f8c86}

.whatsapp-float{position:fixed;z-index:90;left:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:#17191a;color:var(--gold2);border:1px solid var(--gold);display:grid;place-items:center;font:700 12px "Montserrat";box-shadow:0 10px 30px rgba(0,0,0,.25)}
html[dir="ltr"] .whatsapp-float{left:auto;right:20px}

.modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:35px}
.modal.open{display:flex}
.modal img{max-width:min(1200px,92vw);max-height:86vh;box-shadow:0 20px 70px rgba(0,0,0,.5)}
.modal-close{position:absolute;top:20px;right:25px;border:0;background:none;color:white;font-size:38px;cursor:pointer}
html[dir="ltr"] .modal-close{right:auto;left:25px}

@media(max-width:900px){
  .header{height:74px}.brand-text small{display:none}.menu-toggle{display:block}.menu{display:none;position:absolute;top:74px;right:0;left:0;background:#0a0a0b;padding:20px;flex-direction:column;align-items:stretch;border-top:1px solid rgba(255,255,255,.08)}.menu.open{display:flex}
  .hero h1{font-size:52px}.hero-overlay{background:linear-gradient(to top,rgba(7,7,8,.9),rgba(7,7,8,.5)),linear-gradient(90deg,rgba(5,5,5,.88),rgba(5,5,5,.35))}
  .about-grid,.contact-grid,.why-grid{grid-template-columns:1fr;gap:45px}.profile-card img{height:auto}
  .section{padding:78px 0}.section-head{align-items:flex-start;flex-direction:column;gap:15px}
  .service-grid{grid-template-columns:1fr}.service-card{border-left:0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}
  .scope{grid-template-columns:1fr}.scope ul{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr 1fr}
  .project-card,.project-card.tall{grid-column:span 6;height:380px}
  .news-grid{grid-template-columns:1fr}.news-grid article{min-height:0}
}
@media(max-width:600px){
  .container{width:min(100% - 26px,1180px)}.hero{min-height:860px}.hero-content{padding-top:85px}
  .hero h1{font-size:43px}.hero p{font-size:15px}.hero-points{gap:14px;margin-top:55px}
  .section-copy h2,.section-head h2,.why h2,.contact h2{font-size:36px}
  .cap-grid{grid-template-columns:1fr}.project-card,.project-card.tall{grid-column:1/-1;height:360px}
  .why-points{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}
}


/* ===========================
   V3 — Project galleries + quote request
   =========================== */
.project-info small{display:block;margin-top:7px;color:#e6d6b8;font-size:11px;font-weight:700}
.project-card:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}

.quote{background:#0c0d0e;color:white;position:relative;overflow:hidden}
.quote:before{content:"";position:absolute;right:-200px;bottom:-420px;width:720px;height:720px;border-radius:50%;border:1px solid rgba(201,147,61,.13)}
html[dir="ltr"] .quote:before{right:auto;left:-200px}
.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;position:relative;z-index:1}
.quote h2{font-size:clamp(34px,5vw,61px);line-height:1.17;margin:12px 0 24px;letter-spacing:-.035em}
.quote .lead{color:#c4beb5}
.quote-note{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11)}
.quote-note b,.quote-note span{display:block}
.quote-note b{color:var(--gold2);font-size:12px}
.quote-note span{color:#aaa49b;margin-top:6px;font-size:13px}

.quote-form{background:#f4f0e8;color:#171717;padding:34px;border:1px solid rgba(201,147,61,.25);box-shadow:18px 18px 0 rgba(201,147,61,.12)}
.quote-form label{display:block;font-size:12px;font-weight:800;margin-bottom:17px}
.quote-form label>span{display:block;margin-bottom:7px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-form input,.quote-form select,.quote-form textarea{
  width:100%;border:1px solid #cfc8bd;background:white;color:#171717;border-radius:3px;
  padding:13px 14px;font:inherit;outline:none;transition:.2s
}
.quote-form textarea{resize:vertical;min-height:130px}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,147,61,.13)}
.quote-submit{width:100%;border:0;cursor:pointer;margin-top:4px}
.form-help{display:block;text-align:center;color:#77716a;margin-top:10px;font-size:10px}
.map-btn{border-color:#151515;background:transparent;color:#151515}
.map-btn:hover{background:#151515;color:white}

.modal-lock{overflow:hidden}
.project-modal{padding:24px;overflow:auto;align-items:flex-start}
.project-dialog{
  width:min(1280px,96vw);margin:auto;background:#0b0c0d;color:white;border:1px solid rgba(201,147,61,.38);
  position:relative;box-shadow:0 35px 100px rgba(0,0,0,.58)
}
.project-dialog .modal-close{position:fixed;top:22px;right:30px;z-index:10;width:48px;height:48px;border-radius:50%;background:#0a0a0b;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;line-height:1}
html[dir="ltr"] .project-dialog .modal-close{right:30px;left:auto}
.project-dialog-head{display:flex;justify-content:space-between;gap:30px;padding:32px 36px 25px;border-bottom:1px solid rgba(255,255,255,.1)}
.project-dialog-head>div{max-width:850px}
.project-type{font:700 10px "Montserrat";color:var(--gold2);letter-spacing:.12em}
.project-dialog-head h2{font:600 clamp(28px,4vw,48px) "Montserrat";margin:4px 0 9px}
.project-dialog-head p{margin:0;color:#aaa49b;font-size:13px;max-width:760px}
.project-counter{font:600 12px "Montserrat";color:var(--gold2);white-space:nowrap;padding-top:6px}
.project-viewer{position:relative;background:#050506;display:grid;place-items:center;min-height:420px}
.project-viewer>img{display:block;width:100%;max-height:78vh;object-fit:contain}
.project-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:72px;border:1px solid rgba(255,255,255,.18);background:rgba(7,7,8,.72);color:white;font-size:38px;cursor:pointer}
.project-arrow:hover{border-color:var(--gold);color:var(--gold2)}
.project-arrow.prev{right:18px}
.project-arrow.next{left:18px}
html[dir="ltr"] .project-arrow.prev{right:auto;left:18px}
html[dir="ltr"] .project-arrow.next{left:auto;right:18px}
.project-thumbs{display:flex;gap:9px;padding:15px 16px 18px;overflow-x:auto;background:#111214}
.project-thumbs button{flex:0 0 120px;height:76px;padding:0;border:2px solid transparent;background:#222;cursor:pointer;opacity:.58}
.project-thumbs button.active{opacity:1;border-color:var(--gold)}
.project-thumbs img{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){
  .quote-grid{grid-template-columns:1fr;gap:38px}
  .project-dialog-head{padding:25px 22px 20px}
}
@media(max-width:600px){
  .field-row{grid-template-columns:1fr;gap:0}
  .quote-form{padding:22px;box-shadow:10px 10px 0 rgba(201,147,61,.12)}
  .project-modal{padding:10px}
  .project-dialog{width:100%}
  .project-dialog .modal-close{position:absolute;top:10px;right:10px;width:42px;height:42px}
  html[dir="ltr"] .project-dialog .modal-close{right:10px;left:auto}
  .project-dialog-head{padding:58px 18px 18px;flex-direction:column;gap:8px}
  .project-viewer{min-height:260px}
  .project-arrow{width:42px;height:60px;font-size:30px}
  .project-arrow.prev{right:6px}.project-arrow.next{left:6px}
  html[dir="ltr"] .project-arrow.prev{left:6px;right:auto}
  html[dir="ltr"] .project-arrow.next{right:6px;left:auto}
  .project-thumbs button{flex-basis:92px;height:60px}
}
