/* ABOUT PAGE */
.abt-sec{padding:6rem 5%;background:#fff}
.abt-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.abt-grid img{width:100%;border-radius:5px;box-shadow:0 10px 38px rgba(0,0,0,.1)}
.abt-text p{font-size:.88rem;color:var(--gray);line-height:1.87;margin-bottom:.9rem}
.ai-list{margin:1.4rem 0}
.ai-list li{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:var(--dark);margin-bottom:.65rem}
.ai-list li::before{content:'✔';color:var(--gold);font-weight:700;flex-shrink:0;margin-top:.06rem}
.vals-sec{padding:5.5rem 5%;background:var(--dark)}
.vals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.vc{background:var(--dark3);border-radius:5px;padding:2rem 1.5rem;text-align:center;border:1px solid rgba(255,255,255,.06);transition:border-color .3s,transform .3s}
.vc:hover{border-color:rgba(200,150,12,.35);transform:translateY(-4px)}
.vc-ico{width:58px;height:58px;border-radius:50%;background:rgba(200,150,12,.1);border:2px solid rgba(200,150,12,.28);display:flex;align-items:center;justify-content:center;font-size:1.55rem;margin:0 auto 1rem}
.vc h4{font-family:var(--hd);font-size:.97rem;font-weight:800;color:#fff;text-transform:uppercase;margin-bottom:.38rem;letter-spacing:.02em}
.vc p{font-size:.78rem;color:rgba(255,255,255,.42);line-height:1.65}
.team-sec{padding:6rem 5%;background:#fff}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;margin-top:3rem}
.team-card{background:#fff;border-radius:5px;overflow:hidden;border:1px solid var(--border);text-align:center;transition:box-shadow .3s,transform .3s}
.team-card:hover{box-shadow:0 12px 38px rgba(200,150,12,.1);transform:translateY(-5px)}
.team-card img{width:100%;height:225px;object-fit:cover;object-position:top;filter:grayscale(10%);transition:.4s}
.team-card:hover img{filter:grayscale(0)}
.team-info{padding:1.2rem}
.team-info h4{font-family:var(--hd);font-size:.97rem;font-weight:800;color:var(--dark);text-transform:uppercase;letter-spacing:.02em}
.team-info span{font-size:.71rem;color:var(--gold);font-weight:600;margin-top:.18rem;display:block}

/* SERVICES PAGE */
.svcs-pg{padding:6rem 5%;background:#fff}
.svc-blk{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center;margin-bottom:5rem;padding-bottom:5rem;border-bottom:1px solid var(--border)}
.svc-blk:last-child{border:none;margin-bottom:0;padding-bottom:0}
.svc-blk.rev{direction:rtl}.svc-blk.rev>*{direction:ltr}
.svc-blk img{width:100%;border-radius:5px;box-shadow:0 8px 28px rgba(0,0,0,.1)}
.svc-tag{font-family:var(--hd);font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.48rem}
.svc-blk h2{font-family:var(--hd);font-size:clamp(1.5rem,2.5vw,1.9rem);font-weight:900;color:var(--dark);text-transform:uppercase;margin-bottom:.75rem;letter-spacing:.02em}
.svc-blk p{font-size:.87rem;color:var(--gray);line-height:1.87;margin-bottom:.8rem}
.svc-pts{margin:1.2rem 0 1.6rem}
.svc-pts li{display:flex;gap:.68rem;align-items:flex-start;font-size:.84rem;color:var(--dark);margin-bottom:.58rem;padding-bottom:.58rem;border-bottom:1px solid var(--border)}
.svc-pts li:last-child{border:none}
.svc-pts li::before{content:'✦';color:var(--gold);font-size:.6rem;flex-shrink:0;margin-top:.28rem}
.other-sec{padding:5rem 5%;background:var(--dark2)}
.other-box{background:var(--dark3);border-radius:5px;padding:2.5rem;border:1px solid rgba(200,150,12,.18);margin-top:2.5rem}
.other-box p{font-size:.87rem;color:rgba(255,255,255,.55);line-height:1.88}

/* PROJECTS PAGE */
.proj-pg{padding:6rem 5%;background:#fff}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:2.5rem}
.pj{background:#fff;border-radius:5px;overflow:hidden;border:1px solid var(--border);transition:box-shadow .3s,transform .3s}
.pj:hover{box-shadow:0 14px 44px rgba(0,0,0,.1);transform:translateY(-5px)}
.pj img{width:100%;height:225px;object-fit:cover;transition:transform .55s}
.pj:hover img{transform:scale(1.06)}
.pj-body{padding:1.5rem}
.pj-type{font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);background:var(--gold-lt);padding:.2rem .6rem;border-radius:3px;display:inline-block;margin-bottom:.55rem}
.pj-body h3{font-family:var(--hd);font-size:1.02rem;font-weight:800;color:var(--dark);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.015em}
.pj-meta{display:flex;gap:.85rem;flex-wrap:wrap;font-size:.71rem;color:var(--gray);margin-bottom:.75rem}
.prog-row{display:flex;justify-content:space-between;font-size:.71rem;color:var(--gray);margin-top:.6rem}
.prog-row span:last-child{font-weight:600;color:var(--gold)}

/* GALLERY */
.gal-pg{padding:6rem 5%;background:var(--lt)}
.gal-cats{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.gal-cat{padding:.44rem 1.25rem;border-radius:30px;border:1.5px solid var(--border);background:#fff;font-size:.77rem;font-weight:500;color:var(--gray);cursor:pointer;transition:.25s}
.gal-cat.on,.gal-cat:hover{border-color:var(--gold);background:var(--gold);color:var(--dark)}
.gal-mason{columns:3;gap:10px}
.gi{break-inside:avoid;margin-bottom:10px;border-radius:5px;overflow:hidden;position:relative;cursor:zoom-in}
.gi img{width:100%;display:block;transition:transform .5s}
.gi:hover img{transform:scale(1.05)}
.gi-ov{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .3s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:#fff}
.gi:hover .gi-ov{opacity:1}
.gi-ov span{font-size:2rem}
.gi-ov p{font-size:.77rem;font-weight:500}
.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.94);align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:90vh;border-radius:4px}
.lb-x{position:absolute;top:1.4rem;right:1.8rem;color:#fff;font-size:2.2rem;cursor:pointer;background:none;border:none}

/* CONTACT */
.cont-sec{padding:6rem 5%;background:#fff}
.cont-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4.5rem}
.ci-item{display:flex;gap:1.1rem;align-items:flex-start;margin-bottom:1.8rem}
.ci-ico{width:50px;height:50px;border-radius:10px;background:var(--gold-lt);border:1px solid rgba(200,150,12,.18);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}
.ci h4{font-family:var(--hd);font-size:.92rem;font-weight:800;color:var(--dark);margin-bottom:.22rem;text-transform:uppercase;letter-spacing:.02em}
.ci p,.ci a{font-size:.83rem;color:var(--gray);line-height:1.7}
.ci a:hover{color:var(--gold)}
.cf h3{font-family:var(--hd);font-size:1.45rem;font-weight:900;color:var(--dark);text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.35rem}
.cf h3 span{color:var(--gold)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.1rem}
.fg2{display:flex;flex-direction:column;gap:.34rem;margin-bottom:1.05rem}
.fg2 label{font-size:.71rem;font-weight:600;color:var(--dark)}
.fg2 input,.fg2 select,.fg2 textarea{border:1.5px solid var(--border);border-radius:4px;padding:.69rem .93rem;font-family:var(--bd);font-size:.85rem;color:var(--dark);outline:none;transition:border-color .22s;background:#fff;width:100%}
.fg2 input:focus,.fg2 select:focus,.fg2 textarea:focus{border-color:var(--gold)}
.fg2 textarea{min-height:118px;resize:vertical}
.form-ok{display:none;background:#d1fae5;border:1px solid #6ee7b7;border-radius:4px;padding:.88rem 1.1rem;color:#065f46;font-size:.84rem;margin-top:.72rem}
.map-wrap{height:420px;margin-top:4rem;border-radius:5px;overflow:hidden;border:1px solid var(--border)}
.map-wrap iframe{width:100%;height:100%;border:none}

/* FAQ */
.faq-sec{padding:6rem 5%;background:var(--lt)}
.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-top:3rem}
.faq-side-card{background:var(--dark2);border-radius:5px;padding:2rem;margin-bottom:1.4rem;border:1px solid rgba(200,150,12,.18)}
.faq-side-card h4{font-family:var(--hd);font-size:1.05rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.6rem}
.faq-side-card p{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:1rem}
.faq-item{border:1px solid var(--border);border-radius:5px;margin-bottom:.85rem;overflow:hidden}
.faq-q{width:100%;background:#fff;border:none;padding:1.1rem 1.38rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;transition:background .2s}
.faq-q:hover,.faq-item.open .faq-q{background:var(--gold-lt)}
.faq-q h4{font-size:.87rem;font-weight:600;color:var(--dark);padding-right:1rem}
.faq-ico{font-size:1.1rem;color:var(--gold);flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-ico{transform:rotate(45deg)}
.faq-a{display:none;padding:1.1rem 1.38rem;font-size:.84rem;color:var(--gray);line-height:1.82;border-top:1px solid var(--border)}
.faq-item.open .faq-a{display:block}

/* ENQUIRY */
.enq-pg{padding:6rem 5%;background:var(--lt)}
.enq-wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start}
.enq-info{background:var(--dark2);border-radius:5px;padding:2.5rem;border:1px solid rgba(200,150,12,.18)}
.enq-info h3{font-family:var(--hd);font-size:1.15rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.2rem}
.enq-info ul li{display:flex;gap:.72rem;align-items:flex-start;font-size:.84rem;color:rgba(255,255,255,.55);margin-bottom:.82rem;line-height:1.6}
.enq-info ul li::before{content:'✔';color:var(--gold);font-weight:700;flex-shrink:0;margin-top:.06rem}
.enq-form-card{background:#fff;border-radius:5px;padding:2.5rem;border:1px solid var(--border);box-shadow:0 6px 28px rgba(0,0,0,.06)}
.enq-form-card h3{font-family:var(--hd);font-size:1.4rem;font-weight:900;color:var(--dark);text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.4rem}
.enq-form-card h3 span{color:var(--gold)}

@media(max-width:1100px){
  .abt-sec,.vals-sec,.team-sec,.svcs-pg,.other-sec,.proj-pg,.gal-pg,.cont-sec,.faq-sec,.enq-pg{padding:3.5rem 1.5rem}
  .abt-grid{grid-template-columns:1fr;gap:2rem}
  .vals-grid,.team-grid{grid-template-columns:1fr 1fr}
  .svc-blk{grid-template-columns:1fr;gap:2rem}.svc-blk.rev{direction:ltr}
  .proj-grid{grid-template-columns:1fr 1fr}
  .gal-mason{columns:2}
  .cont-grid{grid-template-columns:1fr}.f-row{grid-template-columns:1fr}
  .faq-layout,.enq-wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .vals-grid,.team-grid,.proj-grid{grid-template-columns:1fr}
  .gal-mason{columns:1}
}
