
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:Arial,Tahoma,sans-serif; background:#0d0d0d; color:#e8e8e8; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
::selection { background:#EB542B; color:#fff; }
img { max-width:100%; display:block; }

/* ===== GLOBAL ANIMATED BACKGROUND ===== */
#globalBg{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:#0d0d0d;}
#globalBg::before,#globalBg::after{content:'';position:absolute;border-radius:50%;filter:blur(110px);opacity:.4;}
#globalBg::before{width:600px;height:600px;background:radial-gradient(circle,#EB542B 0%,transparent 70%);top:-15%;right:-10%;animation:gbgFloat1 18s ease-in-out infinite;}
#globalBg::after{width:520px;height:520px;background:radial-gradient(circle,#ffb199 0%,transparent 70%);bottom:-15%;left:-8%;animation:gbgFloat2 22s ease-in-out infinite;}
@keyframes gbgFloat1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-50px,60px) scale(1.15);}}
@keyframes gbgFloat2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,-50px) scale(1.12);}}
#globalBgGrain{position:fixed;inset:0;z-index:-1;opacity:.04;pointer-events:none;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:22px 22px;}

/* ===== GLASS FRAME UTILITY (for images/cards) ===== */
.glass{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 45px -22px rgba(0,0,0,.6);}

#cursor { position:fixed; width:26px; height:26px; border:1.5px solid #EB542B; border-radius:50%; pointer-events:none; z-index:9999; transition:width .25s,height .25s,background .25s; transform:translate(-50%,-50%); display:none; }
@media(min-width:1000px){ #cursor{display:block;} }
#cursor.grow { width:60px; height:60px; background:rgba(235,84,43,.12); }

#loader { position:fixed; inset:0; z-index:999; background:#0d0d0d; display:flex; align-items:center; justify-content:center; animation:loaderOut 1.2s ease forwards; }
#loader img { height:60px; animation:pulse 1s ease infinite; }
@keyframes pulse { 0%,100%{opacity:.4;} 50%{opacity:1;} }
@keyframes loaderOut { 0%{opacity:1;} 65%{opacity:1;} 100%{opacity:0;visibility:hidden;pointer-events:none;} }

header { position:fixed; top:0; left:0; right:0; z-index:100; padding:24px 40px; display:flex; justify-content:space-between; align-items:center; transition:.35s; }
header.scrolled { background:rgba(13,13,13,.92); backdrop-filter:blur(10px); padding:15px 40px; }
header img { height:32px; }
.brand { color:#fff; font-weight:800; font-size:16px; }
.brand span { color:#EB542B; }
nav { display:flex; align-items:center; gap:0; }
nav a { color:#eee; margin:0 12px; font-size:13px; position:relative; padding-bottom:4px; white-space:nowrap; }
nav a::after { content:''; position:absolute; bottom:0; right:0; width:0; height:2px; background:#EB542B; transition:.3s; }
nav a:hover::after { width:100%; }
.header-right { display:flex; align-items:center; gap:18px; }
#burgerBtn { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; width:26px; padding:0; }
#burgerBtn span { display:block; height:2px; background:#fff; border-radius:2px; }
#mobileMenu { position:fixed; inset:0; z-index:200; background:#0d0d0d; transform:translateY(-100%); transition:transform .5s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; }
#mobileMenu.open { transform:translateY(0); }
#mobileClose { position:absolute; top:22px; left:24px; background:none; border:none; color:#fff; font-size:32px; line-height:1; cursor:pointer; }
#mobileNav { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; }
#mobileNav a { color:#fff; font-size:24px; font-weight:700; padding:14px 0; }
#mobileNav a:hover { color:#EB542B; }
#langBtn { background:transparent; border:1.5px solid rgba(255,255,255,.4); color:#fff; padding:7px 14px; border-radius:20px; font-size:12px; font-weight:bold; cursor:pointer; transition:.3s; letter-spacing:.03em; }
#langBtn:hover { border-color:#EB542B; color:#EB542B; }
.btn { background:#EB542B; color:#fff; padding:12px 26px; border:none; font-weight:700; border-radius:2px; display:inline-block; font-size:13.5px; transition:.35s; }
.btn:hover { background:#0d0d0d; transform:translateY(-3px); }
.btn.ghost { background:transparent; border:1.5px solid rgba(255,255,255,.5); color:#fff; }
.btn.ghost:hover { background:#fff; color:#0d0d0d; }
.eyebrow { color:#EB542B; font-weight:800; font-size:13px; margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.eyebrow::before { content:''; width:30px; height:2px; background:#EB542B; }

.hero { position:relative; min-height:100vh; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
@media(min-width:1400px){ .hero{ min-height:88vh; } }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,5,5,.25) 0%,rgba(5,5,5,.35) 45%,rgba(5,5,5,.7) 100%); z-index:1; }
.hero-bg { position:absolute; inset:-60px; background-size:cover; background-position:center; transform:scale(1.08); }
.hero-inner { position:relative; z-index:2; padding:0 40px 90px; width:100%; }
.hero-inner .eyebrow { color:#ffb199; }
.hero-inner .eyebrow::before { background:#ffb199; }
.hero h1 { font-size:clamp(26px,4vw,52px); font-weight:900; line-height:1.35; max-width:760px; }
.hero p { font-size:16px; max-width:520px; margin-top:22px; line-height:1.9; color:#ddd; }
.hero .btn { margin-top:32px; }
.scroll-hint { position:absolute; bottom:34px; left:40px; z-index:2; color:#fff; font-size:11px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.scroll-hint .line { width:1px; height:44px; background:linear-gradient(#EB542B,transparent); animation:scrollLine 1.8s ease-in-out infinite; }
@keyframes scrollLine { 0%{transform:scaleY(0);transform-origin:top;} 50%{transform:scaleY(1);} 51%{transform-origin:bottom;} 100%{transform:scaleY(0);transform-origin:bottom;} }

.stats { background:#0d0d0d; color:#fff; display:flex; flex-wrap:wrap; justify-content:center; gap:80px; padding:60px 20px; text-align:center; }
.stats div b { display:block; color:#EB542B; font-size:44px; font-weight:800; }
.stats div span { font-size:13px; color:#999; }
.stats-wrap{background:#0d0d0d;padding:90px 40px;}
.stats-wrap .eyebrow{text-align:center;}
.stats-wrap h2{text-align:center;color:#fff;margin-bottom:50px;}
.stats-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.stat-card{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:34px 20px;text-align:center;backdrop-filter:blur(14px);transition:border-color .35s, transform .35s, box-shadow .35s;}
.stat-card:hover{border-color:rgba(235,84,43,.5);transform:translateY(-6px);box-shadow:0 20px 45px -20px rgba(235,84,43,.3);}
.stat-card .stat-icon{width:50px;height:50px;margin:0 auto 16px;border-radius:50%;background:rgba(235,84,43,.12);display:flex;align-items:center;justify-content:center;}
.stat-card .stat-icon svg{width:24px;height:24px;stroke:#EB542B;fill:none;stroke-width:1.7;}
.stat-card b{display:block;color:#EB542B;font-size:38px;font-weight:800;line-height:1.2;}
.stat-card span{font-size:13.5px;color:#aaa;display:block;margin-top:8px;line-height:1.5;}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.stats-wrap{padding:60px 20px;}.stat-card{padding:26px 14px;}.stat-card b{font-size:30px;}}

.section { padding:110px 40px; max-width:1300px; margin:0 auto; }
.section h2 { font-size:clamp(28px,3.5vw,46px); margin-bottom:20px; font-weight:800; }
.reveal-up { opacity:0; transform:translateY(44px); transition:opacity .9s ease, transform .9s ease; }
.reveal-up.in { opacity:1; transform:translateY(0); }

.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.about-text p { color:rgba(255,255,255,.65); line-height:2; margin-bottom:28px; font-size:15.5px; }
.about-img-wrap { overflow:hidden; border-radius:16px; padding:12px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 20px 45px -22px rgba(0,0,0,.6); transition:border-color .35s, box-shadow .35s; }
.about-img-wrap:hover { border-color:rgba(235,84,43,.4); box-shadow:0 28px 60px -20px rgba(235,84,43,.2); }
.about-img-wrap img { width:100%; height:520px; object-fit:cover; transition:transform .9s ease; border-radius:10px; }
.about-img-wrap:hover img { transform:scale(1.06); }

.vision-grid { display:grid; grid-template-columns:1.1fr .9fr; }
.vision-grid .img-wrap { overflow:hidden; padding:12px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.vision-grid img { width:100%; height:500px; object-fit:cover; display:block; transition:transform .9s ease; border-radius:10px; }
.vision-grid .img-wrap:hover img { transform:scale(1.08); }
.vision-panel { background:#0d0d0d; color:#fff; padding:70px 60px; display:flex; flex-direction:column; justify-content:center; }
.vision-panel .eyebrow { color:#EB542B; }
.vision-panel h2 { color:#fff; }
.vision-panel p { color:#bbb; line-height:2; font-size:15.5px; }
.page-hero{position:relative;height:760px;overflow:hidden;}
@media(max-width:700px){ .page-hero{height:520px;} }
.page-hero video{width:100%;height:100%;object-fit:cover;filter:brightness(.45);}
.page-hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.45);}
.page-hero .page-hero-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 40px;max-width:1300px;margin:0 auto;color:#fff;}
.page-hero .page-hero-inner h2{color:#fff;}
.about-img-stack{position:relative;}
.about-img-stack .stack-accent{position:absolute;left:-40px;bottom:-40px;width:52%;border-radius:14px;padding:10px;background:rgba(13,13,13,.9);border:2px solid #EB542B;box-shadow:0 25px 50px -18px rgba(0,0,0,.7);overflow:hidden;z-index:2;}
.about-img-stack .stack-accent img{width:100%;height:170px;object-fit:cover;border-radius:8px;display:block;transition:transform .8s ease;}
.about-img-stack .stack-accent:hover img{transform:scale(1.08);}
html[dir="rtl"] .about-img-stack .stack-accent{left:auto;right:-40px;}
@media(max-width:768px){.about-img-stack .stack-accent{width:60%;left:-16px;bottom:-24px;}html[dir="rtl"] .about-img-stack .stack-accent{right:-16px;}}
.svc-grid{max-width:1300px;margin:50px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.svc-card{position:relative;border-radius:14px;overflow:hidden;height:280px;cursor:default;border:1px solid rgba(255,255,255,.1);transition:border-color .35s, transform .4s;}
.svc-card:hover{border-color:rgba(235,84,43,.45);transform:translateY(-6px);}
.svc-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease, filter .5s;filter:brightness(.62);}
.svc-card:hover img{transform:scale(1.08);filter:brightness(.4);}
.svc-tag{position:absolute;top:16px;inset-inline-start:16px;background:#EB542B;color:#fff;font-size:12px;font-weight:700;padding:6px 14px;border-radius:20px;z-index:2;}
.svc-num{position:absolute;top:16px;inset-inline-end:20px;color:rgba(255,255,255,.5);font-size:28px;font-weight:800;z-index:2;}
.svc-caption{position:absolute;left:0;right:0;bottom:0;padding:20px;z-index:2;}
.svc-caption h4{color:#fff;font-size:19px;margin:0;}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr;}}
.ptypes-wrap{max-width:1200px;margin:70px auto 0;padding:0 40px;text-align:center;}
.ptypes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:50px;}
.ptype-item{display:flex;flex-direction:column;align-items:center;gap:18px;}
.ptype-icon{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);transition:border-color .35s, box-shadow .35s, transform .35s;position:relative;}
.ptype-icon::after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;transition:border-color .35s;}
.ptype-item:hover .ptype-icon{border-color:rgba(235,84,43,.5);box-shadow:0 18px 40px -14px rgba(235,84,43,.35);transform:translateY(-8px);}
.ptype-icon svg{width:42px;height:42px;stroke:#e8e8e8;fill:none;stroke-width:1.6;transition:stroke .35s;}
.ptype-item:hover .ptype-icon svg{stroke:#EB542B;}
.ptype-item span{color:#e8e8e8;font-size:15px;font-weight:600;}
@media(max-width:900px){.ptypes-grid{grid-template-columns:repeat(3,1fr);row-gap:40px;}}
@media(max-width:560px){.ptypes-grid{grid-template-columns:repeat(2,1fr);}.ptype-icon{width:90px;height:90px;}.ptype-icon svg{width:34px;height:34px;}}
.home-cta{position:relative;max-width:1300px;margin:90px auto 0;padding:90px 40px;text-align:center;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);}
.home-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(235,84,43,.16),transparent 55%),radial-gradient(circle at 75% 80%,rgba(235,84,43,.1),transparent 50%);pointer-events:none;}
.home-cta h2{position:relative;color:#fff;font-size:clamp(26px,4vw,42px);margin:0 0 34px;}
.home-cta .btn{position:relative;}
@media(max-width:600px){.home-cta{margin:60px 20px 0;padding:60px 24px;}}

.services-list { border-top:1px solid rgba(255,255,255,.1); }
.service-item { display:flex; align-items:center; gap:30px; padding:34px 10px; border-bottom:1px solid rgba(255,255,255,.1); transition:.35s; cursor:default; }
.service-item:hover { background:rgba(255,255,255,.04); padding-right:24px; }
.service-item .num { color:#EB542B; font-weight:800; font-size:15px; width:40px; }
.service-item h4 { font-size:22px; flex:1; font-weight:700; }
.service-item .arrow { color:#EB542B; font-size:20px; opacity:0; transition:.3s; transform:translateX(10px); }
.service-item:hover .arrow { opacity:1; transform:translateX(0); }

.case { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; padding:70px 0; border-top:1px solid rgba(255,255,255,.1); }
.case.rev { grid-template-columns:.85fr 1.15fr; }
.case.rev .case-media { order:2; }
.case-media { overflow:visible; border-radius:16px; padding:0; background:transparent; border:none; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; display:flex; align-items:center; justify-content:center; min-height:300px; transition:none; }
.case-media:hover { border-color:transparent; box-shadow:none; }
.case-media img { max-width:100%; max-height:460px; width:auto; height:auto; object-fit:contain; transition:transform .9s ease, box-shadow .35s, border-color .35s; border-radius:12px; border:1px solid rgba(255,255,255,.12); box-shadow:0 20px 45px -22px rgba(0,0,0,.6); position:relative; z-index:1; }
@media(max-width:700px){ .case-media img { max-height:340px; } .case-media { min-height:220px; } }
.case-media:hover img { transform:scale(1.035); border-color:rgba(235,84,43,.4); box-shadow:0 28px 60px -20px rgba(235,84,43,.25); }
.case-num { color:#EB542B; font-weight:800; font-size:14px; }
.case-text h3 { font-size:24px; margin:16px 0 18px; line-height:1.5; }
.case-text p { color:rgba(255,255,255,.6); line-height:1.9; font-size:14.5px; margin-bottom:24px; }

.grid-imgs { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.reveal-img { overflow:hidden; border-radius:12px; padding:8px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 15px 35px -18px rgba(0,0,0,.6); transition:border-color .35s; }
.reveal-img:hover { border-color:rgba(235,84,43,.4); }
.grid-img { width:100%; height:220px; object-fit:cover; display:block; transition:transform .7s ease; border-radius:7px; }
.reveal-img:hover .grid-img { transform:scale(1.12); }

.social-card { background:rgba(255,255,255,.045); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); padding:32px; border-radius:14px; margin-bottom:16px; border:1px solid rgba(255,255,255,.1); border-right:4px solid #EB542B; transition:.3s; }
html[dir="ltr"] .social-card { border-right:1px solid rgba(255,255,255,.1); border-left:4px solid #EB542B; }
.social-card:hover { background:rgba(255,255,255,.075); transform:translateX(-8px); }
html[dir="ltr"] .social-card:hover { transform:translateX(8px); }
.social-card h4 { font-size:18px; margin-bottom:8px; color:#fff; }
.social-card p { color:rgba(255,255,255,.55); font-size:13.5px; }

/* CONTACT / MAP */
.contact-wrap {
  background:transparent;
  padding:150px 40px 90px;
  margin:0;
  max-width:none;
  position:relative;
}

.loc-link{display:inline-flex;align-items:center;gap:5px;color:#ffb199;font-size:13px;font-weight:600;text-decoration:none;margin-top:8px;transition:.3s;}
.loc-link svg{width:14px;height:14px;flex-shrink:0;}
.loc-link:hover{color:#EB542B;text-decoration:underline;transform:translateY(-1px);}

.contact-info-wrap { max-width:1300px; margin:0 auto; padding:0 40px; text-align:center; position:relative; z-index:1; }
.contact-info-wrap .eyebrow { justify-content:center; color:#ffb199; }
.contact-info-wrap .eyebrow::before { background:#ffb199; }
.contact-info-wrap h2 { margin-bottom:60px; color:#fff; }
.contact-cols { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; text-align:right; perspective:1200px; }
html[dir="ltr"] .contact-cols { text-align:left; }

.contact-block {
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:18px;
  padding:34px 28px;
  transform-style:preserve-3d;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s, box-shadow .35s, background .35s;
  will-change:transform;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.5);
}
.contact-block:hover {
  border-color:rgba(235,84,43,.5);
  background:rgba(255,255,255,.07);
  box-shadow:0 30px 60px -20px rgba(235,84,43,.25);
}
.contact-block h5 { color:#EB542B; font-size:13px; margin-bottom:12px; letter-spacing:.5px; }
.contact-block a, .contact-block p { display:block; font-size:15px; color:#e8e8e8; margin-bottom:6px; line-height:1.7; }
.contact-block p { color:#aaa; }
.contact-block a:not(.loc-link) { transition:color .25s; }
.contact-block a:not(.loc-link):hover { color:#EB542B; }
.contact-block a[href^='tel'], .contact-block a[href^='mailto'] { direction:ltr; text-align:right; }
html[dir="ltr"] .contact-block a[href^='tel'], html[dir="ltr"] .contact-block a[href^='mailto'] { text-align:left; }
.contact-socials { display:flex; justify-content:center; gap:14px; margin-top:50px; position:relative; z-index:1; }
.contact-socials a { width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:bold; color:#ccc; transition:.3s; }
.contact-socials a:hover { background:#EB542B; border-color:#EB542B; color:#fff; transform:translateY(-4px); }
@media(max-width:1100px){ .contact-cols{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .contact-cols{grid-template-columns:1fr;text-align:center;} html[dir="ltr"] .contact-cols{text-align:center;} .contact-wrap{padding:110px 20px 60px;} .contact-block{padding:26px 20px;} }
.contact-block a:hover { color:#EB542B; }

footer { background:#0d0d0d; color:#999; padding:70px 40px 30px; }
.foot-grid { max-width:1300px; margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid #262626; }
.foot-grid h5 { color:#EB542B; font-size:13px; margin-bottom:18px; }
.foot-grid a, .foot-grid p { display:block; color:#999; font-size:13.5px; margin-bottom:11px; transition:.2s; }
.foot-grid a[href^='tel'], .foot-grid a[href^='mailto'] { direction:ltr; text-align:right; }
html[dir="ltr"] .foot-grid a[href^='tel'], html[dir="ltr"] .foot-grid a[href^='mailto'] { text-align:left; }
.foot-grid a:hover { color:#fff; }
.foot-bottom { max-width:1300px; margin:24px auto 0; text-align:center; font-size:12px; color:#666; }

@media(max-width:1000px){
  nav{display:none;}
  #burgerBtn{display:flex;}
  .about-grid, .vision-grid, .case, .case.rev, .foot-grid, .grid-imgs, .contact-grid { grid-template-columns:1fr; }
  .case.rev .case-media { order:0; }
  header{padding:16px 20px;}
  .section{padding:70px 20px;}
  .contact-info{padding:50px 24px;}
}

.cf-wrap{background:#0d0d0d;padding:90px 0 100px;overflow:hidden;}
.cf-head{max-width:1300px;margin:0 auto 50px;padding:0 40px;color:#fff;text-align:center;}
.cf-head .eyebrow{justify-content:center;color:#ffb199;}
.cf-head .eyebrow::before{background:#ffb199;}
.cf-head h2{color:#fff;}
.cf-stage{position:relative;height:420px;perspective:1400px;display:flex;align-items:center;justify-content:center;}
.cf-track{position:relative;width:280px;height:380px;transform-style:preserve-3d;}
.cf-card{position:absolute;top:0;left:0;width:280px;height:380px;border-radius:6px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.6);transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s,filter .6s;cursor:pointer;}
.cf-card img{width:100%;height:100%;object-fit:cover;display:block;}
.cf-nav{display:flex;justify-content:center;gap:16px;margin-top:40px;}
.cf-nav button{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:20px;cursor:pointer;transition:.3s;}
.cf-nav button:hover{background:#EB542B;border-color:#EB542B;}
@media(max-width:700px){.cf-stage{height:320px;} .cf-track,.cf-card{width:210px;height:290px;}}


.cf-caption{position:absolute;bottom:0;left:0;right:0;padding:22px 16px 14px;background:linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,0));color:#fff;text-align:right;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;border-radius:0 0 6px 6px;}
.cf-card.cf-active .cf-caption{opacity:1;transform:translateY(0);}
.cf-caption h4{font-size:15px;margin:0 0 4px;font-weight:700;line-height:1.3;}
.cf-caption p{font-size:12px;margin:0;opacity:.85;line-height:1.4;}


.hero-video-wrap{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;background:#0d0d0d;}
.hero-kb-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center 15%;opacity:0;transform:scale(1);transition:opacity 1.8s ease;}
@keyframes kbZoomPulse{0%{transform:scale(1);}50%{transform:scale(1.12);}100%{transform:scale(1);}}
.hero-kb-layer.kb-active{opacity:1;animation:kbZoomPulse 9s ease-in-out infinite;}


.bento-wrap{background:#0d0d0d;padding:90px 40px 100px;}
.bento-head{max-width:1300px;margin:0 auto 50px;color:#fff;text-align:center;}
.bento-head .eyebrow{justify-content:center;color:#ffb199;}
.bento-head .eyebrow::before{background:#ffb199;}
.bento-head h2{color:#fff;}
.bento-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px;}
.bento-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:border-color .35s;}
.bento-item:hover{border-color:rgba(235,84,43,.4);}
.bento-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
.bento-item:nth-child(2){grid-column:span 2;grid-row:span 1;}
.bento-item:nth-child(3){grid-column:span 2;grid-row:span 1;}
.bento-item:nth-child(4){grid-column:span 1;grid-row:span 1;}
.bento-item:nth-child(5){grid-column:span 1;grid-row:span 1;}
.bento-item:nth-child(6){grid-column:span 2;grid-row:span 1;}
.bento-item:nth-child(7){grid-column:span 2;grid-row:span 1;}
.bento-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s;}
.bento-item:hover img{transform:scale(1.08);filter:brightness(.55);}
.bento-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0) 60%);opacity:0;transition:opacity .4s;}
.bento-item:hover .bento-overlay{opacity:1;}
.bento-overlay h4{color:#fff;font-size:15px;margin:0 0 4px;line-height:1.35;font-weight:700;}
.bento-overlay p{color:rgba(255,255,255,.8);font-size:12px;margin:0;line-height:1.4;}
.bento-plus{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;opacity:0;transform:scale(.6);transition:.35s;}
.bento-item:hover .bento-plus{opacity:1;transform:scale(1);}
.works-carousel{position:relative;max-width:1300px;margin:0 auto;height:560px;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 70px -30px rgba(0,0,0,.6);}
.works-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;}
.works-slide.active{opacity:1;}
.works-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.works-caption{position:absolute;left:24px;right:24px;bottom:24px;padding:22px 28px;border-radius:16px;background:rgba(13,13,13,.4);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.18);box-shadow:0 15px 40px -15px rgba(0,0,0,.5);}
.works-caption h4{color:#fff;font-size:19px;margin:0 0 6px;font-weight:700;line-height:1.4;}
.works-caption p{color:rgba(255,255,255,.75);font-size:13.5px;margin:0;line-height:1.5;}
.works-dots{position:absolute;top:22px;inset-inline-end:26px;display:flex;gap:8px;z-index:3;}
.works-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);transition:.4s;}
.works-dot.active{background:#EB542B;width:22px;border-radius:5px;}
@media(max-width:900px){.works-carousel{height:420px;margin:0 20px;}.works-caption{left:16px;right:16px;bottom:16px;padding:16px 18px;}.works-caption h4{font-size:16px;}}
@media(max-width:560px){.works-carousel{height:340px;}}
@media(max-width:900px){
  .bento-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
  .bento-item:nth-child(1){grid-column:span 2;grid-row:span 2;}
  .bento-item:nth-child(2),.bento-item:nth-child(3),.bento-item:nth-child(6),.bento-item:nth-child(7){grid-column:span 2;grid-row:span 1;}
  .bento-item:nth-child(4),.bento-item:nth-child(5){grid-column:span 1;}
}


.page-view{display:none;}
.page-view.active{display:block;animation:pageFade .5s ease;}
@keyframes pageFade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}


.case-thumbs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.case-thumbs img{width:64px;height:48px;object-fit:cover;border-radius:4px;cursor:pointer;opacity:.55;transition:.3s;border:2px solid transparent;}
.case-thumbs img:hover{opacity:1;}
.case-thumbs img.active-thumb{opacity:1;border-color:#EB542B;}


#scrollProgress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#EB542B,#ffb199);z-index:10000;width:0%;transition:width .1s;}
.cinematic-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1);}
.cinematic-reveal.revealed{clip-path:inset(0 0 0% 0);}


.designs-wrap{padding:170px 40px 100px;background:transparent;}
.designs-head{max-width:1300px;margin:0 auto 50px;text-align:center;}
.designs-head .eyebrow{justify-content:center;}
.designs-grid{max-width:1300px;margin:0 auto;column-count:3;column-gap:16px;}
#constructionGrid,#designsGrid{column-count:unset;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
#constructionGrid.designs-grid .designs-item,#designsGrid.designs-grid .designs-item{break-inside:unset;margin-bottom:0;aspect-ratio:4/3;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 30px -16px rgba(0,0,0,.65);transition:transform .35s ease,box-shadow .35s ease;}
#constructionGrid .designs-item:hover,#designsGrid .designs-item:hover{transform:translateY(-6px);box-shadow:0 22px 40px -14px rgba(0,0,0,.75);}
#constructionGrid .designs-item img,#designsGrid .designs-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease;}
#constructionGrid .designs-item:hover img,#designsGrid .designs-item:hover img{transform:scale(1.08);}
#constructionGrid .item-caption,#designsGrid .item-caption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,0));color:#fff;font-size:13px;line-height:1.4;}
@media(max-width:700px){#constructionGrid,#designsGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}}
.designs-item{break-inside:avoid;margin-bottom:16px;position:relative;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.1);box-shadow:0 15px 35px -18px rgba(0,0,0,.6);transition:border-color .35s;}
.designs-item:hover{border-color:rgba(235,84,43,.4);}
.designs-item img{width:100%;display:block;transition:transform .6s ease,filter .5s;}
.designs-item:hover img{transform:scale(1.05);filter:brightness(.6);}
.designs-item .d-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;opacity:0;transition:opacity .4s;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,0) 55%);}
.designs-item:hover .d-overlay{opacity:1;}
.designs-item .d-overlay span{color:#fff;font-size:14px;font-weight:700;}
.designs-tabs{max-width:1300px;margin:0 auto 40px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.designs-tab{border:1px solid rgba(255,255,255,.18);background:transparent;color:#e8e8e8;padding:10px 26px;border-radius:30px;font-size:14px;font-weight:600;cursor:pointer;transition:.3s;}
.designs-tab:hover{border-color:#EB542B;color:#EB542B;}
.designs-tab.active{background:#EB542B;border-color:#EB542B;color:#fff;}
.map-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.map-tab{border:1px solid rgba(255,255,255,.18);background:transparent;color:#e8e8e8;padding:10px 26px;border-radius:30px;font-size:14px;font-weight:600;cursor:pointer;transition:.3s;}
.map-tab:hover{border-color:#EB542B;color:#EB542B;}
.map-tab.active{background:#EB542B;border-color:#EB542B;color:#fff;}
.designs-item{display:block;}
.designs-item.d-hidden{display:none;}
@media(max-width:900px){.designs-grid{column-count:2;}}
@media(max-width:560px){.designs-grid{column-count:1;}}

