:root{--gold:#F5C200;--gold-dark:#C9A000;--gold-light:#FFF8D6;--black:#080808;--dark:#0F1419;--dark2:#1A2332;--gray:#64748B;--light:#F8F6EE;--white:#FFFFFF;--wa:#25D366;--wa-dark:#1a9e4a;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--dark);overflow-x:hidden;}
img{max-width:100%;display:block;}
.topbar{background:var(--black);padding:9px 0;border-bottom:1px solid #181818;}
.topbar-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.topbar-left{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.tb-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#999;}
.tb-item a{color:#999;text-decoration:none;}.tb-item a:hover{color:var(--gold);}
.tb-item svg{color:var(--gold);flex-shrink:0;}
.topbar-right{display:flex;gap:8px;}
.lang-btn{font-size:12px;color:#666;cursor:pointer;padding:3px 9px;border-radius:3px;border:1px solid #2a2a2a;background:transparent;font-family:'DM Sans',sans-serif;}
.lang-btn.active{background:var(--gold);color:var(--black);border-color:var(--gold);font-weight:700;}
nav{background:var(--dark);position:sticky;top:0;z-index:200;box-shadow:0 2px 24px rgba(0,0,0,.55);overflow:hidden;}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:74px;}
.logo{display:flex;align-items:center;gap:13px;text-decoration:none;}
.logo-crown{width:46px;height:46px;background:var(--gold);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-name{font-family:'Bebas Neue',cursive;font-size:24px;letter-spacing:1.5px;color:var(--white);line-height:1.1;}
.logo-name span{color:var(--gold);}
.logo-sub{font-size:10px;color:#555;letter-spacing:2.5px;text-transform:uppercase;}
.nav-menu{display:flex;align-items:center;gap:26px;list-style:none;}
.nav-menu a{color:#bbb;text-decoration:none;font-size:13.5px;font-weight:500;letter-spacing:.3px;padding-bottom:3px;border-bottom:2px solid transparent;transition:all .2s;}
.nav-menu a:hover,.nav-menu a.active{color:var(--gold);border-bottom-color:var(--gold);}
.nav-wa{display:flex!important;align-items:center;gap:8px;background:var(--wa)!important;color:white!important;padding:10px 18px!important;border-radius:6px!important;font-weight:700!important;border-bottom:none!important;transition:opacity .2s!important;}
.nav-wa:hover{opacity:.88!important;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:7px;font-weight:700;font-size:14.5px;text-decoration:none;transition:all .2s;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;}
.btn-gold{background:var(--gold);color:var(--black);}.btn-gold:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,194,0,.3);}
.btn-dark{background:var(--dark);color:var(--white);}.btn-dark:hover{background:#2a3444;}
.btn-wa{background:var(--wa);color:var(--white);}.btn-wa:hover{background:var(--wa-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--dark);border:2px solid #D1CBBB;}.btn-outline:hover{border-color:var(--gold);color:var(--gold-dark);}
.btn-outline-light{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.25);}.btn-outline-light:hover{border-color:var(--gold);color:var(--gold);}
.btn-sm{padding:10px 20px;font-size:13px;}
.section{padding:96px 0;}.section-sm{padding:64px 0;}
.container{max-width:1280px;margin:0 auto;padding:0 24px;}
.section-tag{display:inline-flex;align-items:center;gap:6px;background:var(--gold-light);color:var(--gold-dark);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 13px;border-radius:4px;margin-bottom:14px;}
.section-tag-light{background:rgba(245,194,0,.15);color:var(--gold);}
.section-title{font-family:'Bebas Neue',cursive;font-size:54px;line-height:.96;color:var(--dark);letter-spacing:1px;margin-bottom:16px;}
.section-title span{color:var(--gold-dark);}
.section-sub{color:var(--gray);font-size:16px;line-height:1.75;max-width:560px;}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;flex-wrap:wrap;}
.text-center{text-align:center;}.text-center .section-sub{margin:0 auto;}
.page-hero{background:var(--dark);padding:80px 0;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,8,8,.97) 0%,rgba(15,20,25,.82) 55%,transparent 100%);}
.ph-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;}
.ph-inner{max-width:1280px;margin:0 auto;padding:0 24px;position:relative;z-index:2;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#555;margin-bottom:16px;}
.breadcrumb a{color:#777;text-decoration:none;}.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{font-family:'Bebas Neue',cursive;font-size:64px;color:var(--white);letter-spacing:1.5px;line-height:1;margin-bottom:14px;}
.page-hero h1 span{color:var(--gold);}
.page-hero p{color:#aaa;font-size:16px;max-width:580px;line-height:1.75;}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.video-card{border-radius:14px;overflow:hidden;background:var(--dark);border:1px solid #222;}
.video-wrap{position:relative;}.video-wrap::before{content:'';display:block;padding-top:56.25%;}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 100%);cursor:pointer;gap:10px;transition:background .2s;}
.video-placeholder:hover{background:linear-gradient(135deg,#1a2535 0%,#243049 100%);}
.vplay{width:64px;height:64px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;}
.video-placeholder:hover .vplay{transform:scale(1.08);box-shadow:0 8px 28px rgba(245,194,0,.4);}
.vtitle{font-family:'Bebas Neue',cursive;font-size:16px;letter-spacing:1px;color:#ccc;text-align:center;padding:0 16px;}
.vsub{font-size:12px;color:#555;}.video-label{padding:16px 18px;}
.video-label h4{font-family:'Bebas Neue',cursive;font-size:18px;letter-spacing:.5px;margin-bottom:4px;}
.video-label p{font-size:13px;color:var(--gray);}
.stats-strip{background:var(--dark2);padding:60px 0;}
.stats-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.stat-item{text-align:center;}
.stat-num{font-family:'Bebas Neue',cursive;font-size:54px;color:var(--gold);line-height:1;}
.stat-lbl{font-size:13px;color:#888;margin-top:5px;}
.trust-bar{background:var(--gold);padding:18px 0;}
.trust-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:14px;}
.trust-item{display:flex;align-items:center;gap:9px;font-family:'Bebas Neue',cursive;font-size:17px;color:var(--black);letter-spacing:.8px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.team-card{background:var(--white);border-radius:14px;overflow:hidden;border:1px solid #EAE7D5;text-align:center;transition:transform .25s,box-shadow .25s;}
.team-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.09);}
.team-photo{height:200px;background:var(--dark2);display:flex;align-items:center;justify-content:center;}
.team-av{font-family:'Bebas Neue',cursive;font-size:56px;color:var(--gold);}
.team-info{padding:20px 16px 22px;}
.team-info h4{font-family:'Bebas Neue',cursive;font-size:20px;letter-spacing:.5px;margin-bottom:4px;}
.team-role{font-size:13px;color:var(--gold-dark);font-weight:600;margin-bottom:8px;}
.team-bio{font-size:13px;color:var(--gray);line-height:1.6;}
.cta-banner{background:var(--gold);padding:80px 0;position:relative;overflow:hidden;}
.cta-banner::before{content:'ROYAL';position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',cursive;font-size:260px;color:rgba(0,0,0,.05);line-height:1;pointer-events:none;}
.cta-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;position:relative;z-index:1;}
.cta-text h2{font-family:'Bebas Neue',cursive;font-size:58px;color:var(--black);letter-spacing:1px;line-height:1;margin-bottom:8px;}
.cta-text p{color:rgba(0,0,0,.6);font-size:16px;}
.cta-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.cta-phone{font-family:'Bebas Neue',cursive;font-size:30px;color:var(--black);text-decoration:none;display:flex;align-items:center;gap:8px;}
footer{background:var(--black);padding:72px 0 28px;}
.footer-grid{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:48px;margin-bottom:52px;}
.footer-brand p{font-size:13.5px;color:#555;line-height:1.85;max-width:290px;margin:16px 0 24px;}
.footer-socials{display:flex;gap:10px;}
.fsoc{width:36px;height:36px;border-radius:7px;background:#111;border:1px solid #222;display:flex;align-items:center;justify-content:center;color:#666;text-decoration:none;font-size:13px;transition:all .2s;}
.fsoc:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}
.footer-col h4{font-family:'Bebas Neue',cursive;font-size:15px;letter-spacing:2px;color:var(--white);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #181818;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-links a{color:#555;text-decoration:none;font-size:13.5px;transition:color .2s;}.footer-links a:hover{color:var(--gold);}
.fci{display:flex;gap:10px;margin-bottom:13px;font-size:13px;color:#555;align-items:flex-start;}
.fci svg{color:var(--gold);flex-shrink:0;margin-top:2px;}.fci a{color:#555;text-decoration:none;}.fci a:hover{color:var(--gold);}
.footer-bottom{max-width:1280px;margin:0 auto;padding:22px 24px 0;border-top:1px solid #111;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#333;flex-wrap:wrap;gap:10px;}
.footer-bottom a{color:#444;text-decoration:none;}.footer-bottom a:hover{color:var(--gold);}
.wa-float{position:fixed;bottom:28px;right:28px;z-index:999;background:var(--wa);color:white;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.45);text-decoration:none;transition:transform .2s;animation:waPulse 2.5s infinite;}
.wa-float:hover{transform:scale(1.1);}
@keyframes waPulse{0%,100%{box-shadow:0 6px 24px rgba(37,211,102,.45)}50%{box-shadow:0 6px 36px rgba(37,211,102,.75)}}
/* ════════════════════════════════════════════════════════
   TABLET  (≤1024px)
════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .nav-menu{gap:16px;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .stats-inner{grid-template-columns:repeat(2,1fr);}
  .video-grid{grid-template-columns:1fr 1fr;}
  .hero-inner{grid-template-columns:1fr;gap:32px;}
  .qcard{display:none;}
  .why-grid{grid-template-columns:1fr;gap:36px;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .steps::before{display:none;}
  .testi-grid{grid-template-columns:1fr 1fr;}
  .loc-grid{grid-template-columns:1fr;}
  /* video section */
  .vid-section-grid{grid-template-columns:1fr!important;gap:32px!important;}
}

/* ════════════════════════════════════════════════════════
   HAMBURGER BUTTON  (#rss-hbg)
════════════════════════════════════════════════════════ */
#rss-hbg {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px; height: 44px;
  background: rgba(245,194,0,.12);
  border: 1.5px solid rgba(245,194,0,.4);
  border-radius: 8px;
  cursor: pointer;
  gap: 5px;
  flex-shrink: 0;
  padding: 0;
}
#rss-hbg span {
  display: block; width: 22px; height: 2px;
  background: #F5C200; border-radius: 2px;
  transition: transform .25s ease, opacity .25s ease;
}
#rss-hbg.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#rss-hbg.open span:nth-child(2) { opacity: 0; }
#rss-hbg.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ════════════════════════════════════════════════════════
   MOBILE MENU OVERLAY  (#rss-mob)
════════════════════════════════════════════════════════ */
#rss-mob {
  display: none; /* toggled to flex by JS */
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #080808;
  z-index: 9999;
  flex-direction: column;
  align-items: center;
  padding-top: 72px;
  overflow-y: auto;
  overflow-x: hidden;
}
#rss-mob ul {
  list-style: none; padding: 0; margin: 0;
  width: 100%;
}
#rss-mob ul li a {
  display: block;
  padding: 15px 24px;
  font-family: 'Bebas Neue', cursive;
  font-size: 26px; letter-spacing: 1.5px;
  color: #aaa; text-decoration: none;
  border-bottom: 1px solid #161616;
  text-align: center;
  transition: color .15s, background .15s;
}
#rss-mob ul li a:hover { color: #F5C200; background: rgba(245,194,0,.04); }
.mob-wa {
  display: flex; flex-direction: column;
  align-items: center; gap: 12px;
  width: 100%; padding: 28px 28px 8px;
}
.mob-wa-btn, .mob-call-btn {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; width: 100%; max-width: 340px;
  padding: 16px 24px; border-radius: 10px;
  font-weight: 700; font-size: 15px;
  text-decoration: none;
}
.mob-wa-btn  { background: #25D366; color: #fff; }
.mob-call-btn { background: transparent; color: #F5C200; border: 1.5px solid #F5C200; }
.mob-contact {
  margin-top: 16px; padding: 0 24px 32px;
  font-size: 12px; color: #444;
  text-align: center; line-height: 1.6;
}

/* ════════════════════════════════════════════════════════
   SHOW HAMBURGER ON MOBILE
════════════════════════════════════════════════════════ */
@media(max-width: 768px) {
  .topbar { display: none; }
  .nav-menu { display: none !important; }
  .nav-wa { display: none; }
  #rss-hbg { display: flex; }
  .nav-inner { height: 62px; padding: 0 16px; }

  /* ── SECTIONS ── */
  .section { padding: 52px 0; }
  .container { padding: 0 16px !important; }
  .section-title { font-size: 34px !important; line-height: 1.1; }

  /* ── HERO ── */
  .hero { min-height: auto; padding: 56px 0 32px; }
  .hero-inner { padding: 28px 16px !important; gap: 24px !important; grid-template-columns: 1fr !important; }
  .hero h1 { font-size: 38px !important; line-height: 1.05 !important; }
  .hero p { font-size: 15px; }
  .hero-actions { flex-direction: column !important; gap: 10px !important; }
  .hero-actions a { width: 100% !important; justify-content: center !important; }
  .qcard { display: block !important; width: 100% !important; max-width: 100% !important; }
  .size-grid { grid-template-columns: repeat(2,1fr) !important; }

  /* ── STATS ── */
  .stats-inner { grid-template-columns: repeat(2,1fr) !important; gap: 20px !important; padding: 0 16px !important; }

  /* ── VIDEO SECTION (homepage) ── */
  .vid-section-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .vid-section-grid video { width: 100% !important; height: 220px !important; border-radius: 12px !important; }

  /* ── SERVICES / GRIDS ── */
  .services-grid { grid-template-columns: 1fr !important; }
  .why-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .why-visual { height: 200px !important; }
  .steps { grid-template-columns: 1fr !important; gap: 10px !important; }
  .steps::before { display: none !important; }
  .sizes-grid { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
  .testi-grid { grid-template-columns: 1fr !important; }
  .blog-grid { grid-template-columns: 1fr !important; }
  .loc-grid { grid-template-columns: 1fr !important; }
  .video-grid { grid-template-columns: 1fr !important; }
  .team-grid { grid-template-columns: repeat(2,1fr) !important; }
  .art-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
  .sidebar { position: static !important; }
  .faq-grid { grid-template-columns: 1fr !important; }
  .contact-layout { grid-template-columns: 1fr !important; }
  .row2 { grid-template-columns: 1fr !important; }
  .phase-grid { grid-template-columns: 1fr !important; }

  /* ── CTA ── */
  .cta-inner { flex-direction: column !important; text-align: center !important; gap: 24px !important; }
  .cta-text h2 { font-size: 34px !important; }
  .cta-actions { flex-direction: column !important; align-items: center !important; width: 100% !important; }
  .cta-actions a { width: 100% !important; max-width: 300px !important; justify-content: center !important; }

  /* ── PAGE HERO ── */
  .page-hero { padding: 88px 16px 44px !important; min-height: 240px; }
  .ph-inner h1 { font-size: 34px !important; }

  /* ── FOOTER ── */
  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; padding: 0 16px !important; }
  .footer-bottom { flex-direction: column !important; gap: 8px !important; text-align: center !important; padding: 0 16px 20px !important; }
}

@media(max-width: 480px) {
  .hero h1 { font-size: 32px !important; }
  .section-title { font-size: 28px !important; }
  .ph-inner h1 { font-size: 28px !important; }
  .stat-num { font-size: 36px !important; }
  #rss-mob ul li a { font-size: 28px !important; padding: 16px 24px !important; }
}

.about-tl-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
@media(max-width:768px){.about-tl-grid{grid-template-columns:1fr!important;gap:32px!important;}}

/* ── Mobile Menu Close Button ── */
.mob-close-btn {
  position: absolute;
  top: 14px; right: 14px;
  width: 44px; height: 44px;
  background: rgba(245,194,0,.12);
  border: 1.5px solid rgba(245,194,0,.3);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #F5C200; font-size: 20px; line-height: 1;
  z-index: 1; transition: background .2s; flex-shrink: 0;
}
.mob-close-btn:hover { background: rgba(245,194,0,.24); }

/* ── Mobile Menu Logo ── */
.mob-logo {
  display: flex; align-items: center; gap: 10px;
  padding: 0 28px 22px;
  border-bottom: 1px solid #161616;
  margin-bottom: 6px;
}
.mob-logo .logo-name { font-family: 'Bebas Neue', cursive; font-size: 20px; color: #fff; letter-spacing: .5px; }
.mob-logo .logo-name span { color: #F5C200; }
.mob-logo .logo-sub { font-size: 10px; color: #555; letter-spacing: .3px; }
