
:root{--black:#050100;--copper:#d86434;--rose:#f2a178;--red:#8e2f24;--cream:#fff1e8;--muted:rgba(255,241,232,.72);--line:rgba(242,161,120,.22);--green:#25d366}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Poppins,sans-serif;background:var(--black);color:#fff;overflow-x:hidden}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}h1,h2,h3{font-family:Cinzel,serif}.site-header{position:sticky;top:0;z-index:99;background:rgba(5,1,0,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topbar{background:linear-gradient(90deg,#371006,#050100,#481108);font-size:12px;color:var(--muted)}.topbar-inner,.navbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar-inner{padding:8px 0;flex-wrap:wrap}.topbar span:last-child{display:flex;gap:16px;flex-wrap:wrap}.navbar{padding:13px 0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.brand b{display:block;font-size:20px}.brand small{display:block;color:var(--rose);font-size:11px;letter-spacing:2px;text-transform:uppercase}.navbar nav{display:flex;gap:26px;font-weight:700;font-size:14px}.navbar a.active,.navbar nav a:hover{color:var(--rose)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:900;background:linear-gradient(90deg,var(--copper),var(--red));color:#fff;box-shadow:0 18px 45px rgba(216,100,52,.25);transition:.3s}.btn:hover{transform:translateY(-3px)}.btn-small{min-height:44px;padding:0 20px}.btn.outline{background:transparent;border:1px solid var(--line);box-shadow:none}.btn.green{background:var(--green)}.hero,.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 26% 18%,rgba(242,161,120,.28),transparent 31%),radial-gradient(circle at 82% 9%,rgba(216,100,52,.22),transparent 28%),linear-gradient(180deg,#0b0301 0%,#000 78%)}.hero{padding:95px 0 76px}.page-hero{padding:110px 0;text-align:center}.cosmic-dust:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:70px 70px;opacity:.16;animation:twinkle 4s infinite}.ring{position:absolute;right:-170px;top:95px;width:460px;height:460px;border:1px solid rgba(242,161,120,.22);border-radius:50%;animation:rotate 45s linear infinite}.ring:before,.ring:after{content:"";position:absolute;inset:60px;border:1px dashed rgba(242,161,120,.18);border-radius:50%}.ring:after{inset:125px}.orbit{position:absolute;border:1px solid rgba(242,161,120,.16);border-radius:50%;animation:rotate 35s linear infinite}.o1{width:720px;height:260px;right:-120px;top:180px}.o2{width:520px;height:190px;left:-150px;bottom:80px;animation-duration:28s}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.tag{display:inline-flex;color:var(--rose);font-weight:900;text-transform:uppercase;letter-spacing:3px;font-size:13px;border:1px solid var(--line);background:rgba(216,100,52,.12);padding:10px 16px;border-radius:999px;margin-bottom:20px}.hero h1,.page-hero h1{font-size:clamp(44px,7vw,82px);line-height:1.04}.hero h1 span{display:block;background:linear-gradient(90deg,#fff0e5,#ff9b5f,#932d22);-webkit-background-clip:text;color:transparent}.lead,.page-hero p:not(.tag),.title p:last-child{margin:20px 0 28px;color:var(--muted);font-size:18px;line-height:1.8}.actions{display:flex;gap:16px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}.stats div,.mini-card,.premium-card,.service-detail,.contact-panel,.contact-cards div,.process-grid div,.stone-grid article{border:1px solid var(--line);border-radius:30px;background:rgba(0,0,0,.62);padding:28px;transition:.35s}.stats div{text-align:center;padding:18px 12px}.stats b{display:block;color:var(--rose);font-size:32px}.stats small,.mini-card p,.premium-card p,.premium-card li,.service-detail p,.service-detail li,.contact-panel p,.contact-cards p,.process-grid p,.stone-grid p{color:var(--muted);line-height:1.75}.slider{overflow:hidden;border:1px solid var(--line);border-radius:38px;background:linear-gradient(180deg,rgba(142,47,36,.36),rgba(0,0,0,.92))}.slides{display:flex;width:300%;animation:slide 15s infinite}.slides article{width:33.33%;min-height:520px;padding:38px;text-align:center;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background:radial-gradient(circle at 50% 25%,rgba(242,161,120,.26),transparent 36%)}.slides img{width:min(330px,90%);height:320px;object-fit:contain;border-radius:30px;filter:drop-shadow(0 25px 50px rgba(216,100,52,.25))}.section{position:relative;overflow:hidden;padding:95px 0}.section:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-170px;top:-170px;background:radial-gradient(circle,rgba(242,161,120,.14),transparent 70%)}.cards3,.stone-grid,.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mini-card:hover,.premium-card:hover,.service-detail:hover,.stone-grid article:hover,.process-grid div:hover,.contact-cards div:hover{transform:translateY(-10px);box-shadow:0 30px 80px rgba(216,100,52,.18)}.split,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.split h2,.title h2,.cosmic-panel h2,.cta h2,.contact-panel h2{font-size:clamp(34px,5vw,58px);line-height:1.12}.stack{display:grid;gap:18px}.stack div{border:1px solid var(--line);background:linear-gradient(135deg,rgba(216,100,52,.16),rgba(0,0,0,.72));border-radius:30px;padding:26px;transition:.35s}.stack div:hover{transform:translateX(-8px)}.stack b,.process-grid b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--copper),var(--red));margin-bottom:14px}.title{text-align:center;max-width:850px;margin:0 auto 50px}.title p:first-child{color:var(--rose);font-weight:900;letter-spacing:3px;text-transform:uppercase}.service-preview article{position:relative;overflow:hidden}.service-preview article:before{content:"";position:absolute;inset:18px;border:1px dashed rgba(242,161,120,.18);border-radius:50%;transform:scale(1.4);animation:rotate 24s linear infinite}.service-preview span,.service-detail span{display:grid;place-items:center;width:68px;height:68px;border-radius:24px;background:linear-gradient(135deg,var(--copper),var(--red));font-size:30px;margin-bottom:24px}.cosmic-panel{border:1px solid var(--line);border-radius:42px;padding:58px;text-align:center;background:linear-gradient(135deg,rgba(142,47,36,.32),rgba(0,0,0,.82))}.stone-grid img{width:100%;height:260px;object-fit:cover;border-radius:24px}.stone-grid h3{font-size:26px;margin-top:18px}.process-grid{grid-template-columns:repeat(4,1fr)}.cta{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid var(--line);border-radius:42px;padding:52px;background:linear-gradient(135deg,rgba(142,47,36,.32),rgba(0,0,0,.82))}.mission-grid,.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-detail-grid{grid-template-columns:repeat(3,1fr)}.service-detail ul,.premium-card ul{margin:20px 0 24px;padding-left:18px}.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-grid a{display:inline-flex;margin-top:12px;color:var(--rose);font-weight:900}.contact-cards{display:grid;gap:16px}.whatsapp{position:fixed;right:24px;bottom:24px;z-index:200;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:28px;animation:pulse 1.8s infinite}.footer{border-top:1px solid var(--line);padding:58px 0 0;background:#030100;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.1fr;gap:34px}.footer-about img{width:76px;height:76px;border-radius:50%;border:1px solid var(--line)}.footer h3,.footer h4{color:var(--cream)}.footer-col{display:flex;flex-direction:column;gap:10px}.socials{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap}.footer-wa{background:var(--green);padding:12px 18px;border-radius:999px;width:max-content;color:#fff}.footer-bottom{border-top:1px solid var(--line);margin-top:42px;padding:18px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-bottom a{color:var(--rose);font-weight:900}.reveal{opacity:0;transform:translateY(28px);transition:.75s}.reveal.show{opacity:1;transform:translateY(0)}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes twinkle{50%{opacity:.45}}@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}}@keyframes slide{0%,27%{transform:translateX(0)}33%,60%{transform:translateX(-33.333%)}66%,93%{transform:translateX(-66.666%)}100%{transform:translateX(0)}}@media(max-width:1020px){.service-detail-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:920px){.navbar nav,.btn-small{display:none}.hero-grid,.split,.contact-grid,.footer-grid,.mission-grid{grid-template-columns:1fr}.stats,.cards3,.stone-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.cta{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.stats,.cards3,.stone-grid,.process-grid,.service-detail-grid,.gallery-grid{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:42px}.slides article{min-height:430px}.slides img{height:240px}.cosmic-panel,.cta{padding:34px 22px}.footer-bottom{justify-content:center;text-align:center}.topbar-inner{text-align:center;justify-content:center}}


/* =========================================================
   LUXURY BRAND LEVEL UPGRADE
   Added without changing page structure.
   ========================================================= */

:root {
  --luxury-black: #030100;
  --luxury-ink: #070201;
  --luxury-copper: #d86434;
  --luxury-gold: #f2a178;
  --luxury-champagne: #fff3e8;
  --luxury-muted: rgba(255, 243, 232, 0.72);
  --luxury-line: rgba(242, 161, 120, 0.20);
}

body {
  background:
    radial-gradient(circle at 16% 8%, rgba(216, 100, 52, 0.16), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(242, 161, 120, 0.12), transparent 30%),
    linear-gradient(180deg, #050100 0%, #000 100%);
  letter-spacing: -0.01em;
}

.site-header {
  box-shadow: 0 18px 70px rgba(0,0,0,0.45);
}

.navbar,
.nav {
  min-height: 82px;
}

.brand img {
  box-shadow:
    0 0 0 1px rgba(242,161,120,.28),
    0 18px 45px rgba(216,100,52,.22);
}

.brand b,
.brand strong {
  letter-spacing: 0.02em;
}

.navbar nav a,
.nav nav a {
  position: relative;
  padding: 10px 0;
}

.navbar nav a::after,
.nav nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--luxury-gold), transparent);
  transition: .35s ease;
}

.navbar nav a:hover::after,
.navbar nav a.active::after,
.nav nav a:hover::after,
.nav nav a.active::after {
  width: 100%;
}

.btn,
.header-btn,
.primary-btn {
  border: 1px solid rgba(255, 214, 188, 0.18);
  box-shadow:
    0 18px 45px rgba(216,100,52,.25),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.btn:hover,
.header-btn:hover,
.primary-btn:hover {
  box-shadow:
    0 26px 70px rgba(216,100,52,.34),
    inset 0 1px 0 rgba(255,255,255,.22);
}

/* Hero luxury treatment */
.hero {
  min-height: 92vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 18% 18%, rgba(242,161,120,.24), transparent 30%),
    radial-gradient(circle at 80% 12%, rgba(216,100,52,.18), transparent 28%),
    linear-gradient(135deg, #0a0201 0%, #000 68%);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 72%);
  pointer-events: none;
}

.hero h1 {
  text-shadow: 0 20px 90px rgba(216,100,52,.25);
}

.hero h1 span {
  filter: drop-shadow(0 18px 45px rgba(242,161,120,.12));
}

.tag,
.eyebrow {
  backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.stats div,
.business-numbers div,
.mini-card,
.premium-card,
.service-detail,
.contact-panel,
.contact-cards div,
.process-grid div,
.stone-grid article,
.trust-card,
.feature-card,
.service-card,
.testimonial-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    rgba(0,0,0,.62) !important;
  border-color: rgba(242,161,120,.20) !important;
  box-shadow:
    0 22px 65px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.stats div:hover,
.business-numbers div:hover,
.mini-card:hover,
.premium-card:hover,
.service-detail:hover,
.contact-panel:hover,
.contact-cards div:hover,
.process-grid div:hover,
.stone-grid article:hover,
.trust-card:hover,
.feature-card:hover,
.service-card:hover,
.testimonial-card:hover {
  transform: translateY(-10px);
  box-shadow:
    0 34px 90px rgba(216,100,52,.16),
    inset 0 1px 0 rgba(255,255,255,.10);
}

/* Cinematic slider */
.slider,
.hero-slider {
  position: relative;
  border-radius: 42px !important;
  overflow: hidden;
  border: 1px solid rgba(242,161,120,.26) !important;
  box-shadow:
    0 45px 120px rgba(0,0,0,.62),
    0 0 80px rgba(216,100,52,.13),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.cinematic-slide {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.cinematic-slide img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  transform: scale(1.04);
  animation: luxuryZoom 18s infinite alternate ease-in-out;
  filter: saturate(0.92) contrast(1.05) brightness(.82);
}

.slide-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 72% 18%, rgba(242,161,120,.23), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.58) 44%, rgba(0,0,0,.28) 100%),
    linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.28) 58%, rgba(0,0,0,.18) 100%);
}

.slide-overlay::after {
  content: "";
  position: absolute;
  inset: 26px;
  border: 1px solid rgba(255, 214, 188, .18);
  border-radius: 30px;
  pointer-events: none;
}

.slide-content {
  position: absolute;
  left: 46px;
  bottom: 48px;
  z-index: 2;
  max-width: 560px;
  text-align: left;
}

.slide-content span {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--luxury-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.slide-content h3 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.02;
  margin-bottom: 14px;
  color: var(--luxury-champagne);
  text-shadow: 0 18px 55px rgba(0,0,0,.72);
}

.slide-content p {
  max-width: 470px;
  color: rgba(255,243,232,.78);
  line-height: 1.75;
  margin-bottom: 22px;
}

.slide-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  background: linear-gradient(90deg, #d86434, #8e2f24);
  color: #fff;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow:
    0 18px 45px rgba(216,100,52,.35),
    inset 0 1px 0 rgba(255,255,255,.20);
}

.slide-btn:hover {
  transform: translateY(-3px);
}

.slides article,
.slider-track article {
  position: relative;
}

/* Section luxury rhythm */
.section {
  background:
    radial-gradient(circle at 90% 0%, rgba(216,100,52,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(0,0,0,0));
}

.section:nth-of-type(even) {
  background:
    radial-gradient(circle at 10% 0%, rgba(242,161,120,.08), transparent 30%),
    linear-gradient(180deg, rgba(142,47,36,.08), rgba(0,0,0,0));
}

.title h2,
.section-title h2,
.split h2,
.cosmic-panel h2,
.cta h2,
.final-panel h2,
.contact-panel h2 {
  letter-spacing: -0.03em;
}

.cosmic-panel,
.cta,
.final-panel,
.contact-box {
  box-shadow:
    0 40px 110px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.08);
  border-color: rgba(242,161,120,.25) !important;
}

/* Gallery polish */
.stone-grid img,
.home-stone-grid img {
  filter: saturate(.95) contrast(1.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

/* Footer premium */
.footer {
  background:
    radial-gradient(circle at 20% 0%, rgba(242,161,120,.12), transparent 30%),
    linear-gradient(180deg, #050100, #010000) !important;
}

.footer-grid {
  padding-bottom: 12px;
}

.footer a:hover {
  color: var(--luxury-gold);
}

@keyframes luxuryZoom {
  0% { transform: scale(1.04) translateX(0); }
  100% { transform: scale(1.16) translateX(-10px); }
}

@media(max-width: 920px) {
  .hero {
    min-height: auto;
  }
  .cinematic-slide img {
    height: 500px;
  }
  .slide-content {
    left: 32px;
    right: 32px;
    bottom: 36px;
  }
}

@media(max-width: 620px) {
  .cinematic-slide img {
    height: 440px;
  }
  .slide-content {
    left: 22px;
    right: 22px;
    bottom: 26px;
  }
  .slide-content h3 {
    font-size: 32px;
  }
  .slide-content p {
    font-size: 14px;
  }
}


/* =========================================================
   IMAGE + SPEED + MOBILE OPTIMIZATION
   Stable local slider assets, lighter paint, better mobile.
   ========================================================= */

img {
  max-width: 100%;
}

.cinematic-slide img,
.slides article img,
.slider-track article img {
  background: #080201;
}

/* Reduce layout shift and improve image rendering */
.slider,
.hero-slider {
  contain: layout paint;
}

.cinematic-slide,
.slides article {
  min-height: clamp(420px, 52vw, 560px);
}

/* Keep cinematic look but reduce heavy filters on mobile */
.cinematic-slide img {
  will-change: transform;
  backface-visibility: hidden;
}

/* Better mobile slider proportions */
@media(max-width: 920px) {
  .hero-grid {
    gap: 34px;
  }

  .slider,
  .hero-slider {
    border-radius: 30px !important;
  }

  .cinematic-slide img,
  .slides article img,
  .slider-track article img {
    height: 500px !important;
  }

  .slide-content {
    max-width: calc(100% - 48px);
  }
}

@media(max-width: 620px) {
  .hero {
    padding: 58px 0 54px;
    min-height: auto;
  }

  .hero-grid {
    gap: 28px;
  }

  .cinematic-slide,
  .slides article {
    min-height: 390px;
  }

  .cinematic-slide img,
  .slides article img,
  .slider-track article img {
    height: 390px !important;
    object-position: center;
  }

  .slide-overlay::after {
    inset: 14px;
    border-radius: 22px;
  }

  .slide-content {
    left: 20px !important;
    right: 20px !important;
    bottom: 22px !important;
    max-width: none;
  }

  .slide-content span {
    font-size: 10px;
    letter-spacing: 2px;
    margin-bottom: 8px;
  }

  .slide-content h3 {
    font-size: 28px !important;
    line-height: 1.08;
    margin-bottom: 8px;
  }

  .slide-content p {
    font-size: 13px;
    line-height: 1.55;
    margin-bottom: 14px;
  }

  .slide-btn {
    min-height: 42px;
    padding: 0 18px;
    font-size: 13px;
  }

  .stats,
  .business-numbers {
    gap: 10px;
  }

  .stats div,
  .business-numbers div {
    padding: 14px 10px;
  }
}

/* Accessibility/performance: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }

  .slides,
  .slider-track {
    animation: none !important;
    transform: translateX(0) !important;
  }

  .cinematic-slide img {
    transform: none !important;
  }
}

/* Lower paint pressure on small screens */
@media(max-width: 620px) {
  .hero::after,
  .cosmic-dust::before {
    opacity: .08;
  }

  .ring,
  .orbit {
    opacity: .35;
  }
}


/* =========================================================
   LUXURY MOBILE MENU
   Adds premium mobile navigation without changing desktop.
   ========================================================= */

.luxury-menu-btn {
  display: none;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(242, 161, 120, 0.28);
  background:
    radial-gradient(circle at 30% 20%, rgba(242,161,120,.18), transparent 45%),
    rgba(0,0,0,.48);
  box-shadow:
    0 14px 38px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.08);
  cursor: pointer;
  position: relative;
  z-index: 210;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}

.luxury-menu-btn span {
  display: block;
  width: 21px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #fff3e8, #f2a178);
  box-shadow: 0 0 12px rgba(242,161,120,.42);
}

.luxury-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.luxury-mobile-menu.show {
  display: block;
}

.luxury-menu-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(14px);
  opacity: 0;
  transition: .35s ease;
}

.luxury-mobile-menu.show .luxury-menu-backdrop {
  opacity: 1;
}

.luxury-menu-panel {
  position: absolute;
  top: 14px;
  right: 14px;
  bottom: 14px;
  width: min(390px, calc(100% - 28px));
  border: 1px solid rgba(242,161,120,.26);
  border-radius: 34px;
  background:
    radial-gradient(circle at 20% 0%, rgba(242,161,120,.18), transparent 35%),
    radial-gradient(circle at 90% 30%, rgba(216,100,52,.16), transparent 34%),
    linear-gradient(180deg, rgba(12,4,2,.98), rgba(0,0,0,.96));
  box-shadow:
    0 40px 120px rgba(0,0,0,.72),
    inset 0 1px 0 rgba(255,255,255,.08);
  transform: translateX(112%) scale(.96);
  opacity: 0;
  transition: .42s cubic-bezier(.22,.9,.2,1);
  overflow: hidden;
  padding: 26px;
}

.luxury-mobile-menu.show .luxury-menu-panel {
  transform: translateX(0) scale(1);
  opacity: 1;
}

.luxury-menu-panel::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(242,161,120,.14);
  border-radius: 50%;
  top: -155px;
  right: -130px;
  animation: rotate 38s linear infinite;
}

.luxury-menu-panel::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,243,232,.06);
  border-radius: 26px;
  pointer-events: none;
}

.luxury-menu-close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(242,161,120,.25);
  background: rgba(0,0,0,.52);
  color: #fff3e8;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

.luxury-menu-brand {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  padding-right: 48px;
  margin-bottom: 34px;
}

.luxury-menu-brand img {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 1px solid rgba(242,161,120,.34);
  object-fit: cover;
  box-shadow: 0 18px 45px rgba(216,100,52,.20);
}

.luxury-menu-brand strong {
  display: block;
  color: #fff3e8;
  font-family: Cinzel, serif;
  font-size: 18px;
}

.luxury-menu-brand small {
  display: block;
  margin-top: 4px;
  color: rgba(242,161,120,.9);
  font-size: 10px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.luxury-menu-links {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.luxury-menu-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 0 18px;
  border-radius: 20px;
  color: #fff3e8;
  font-size: 20px;
  font-family: Cinzel, serif;
  font-weight: 800;
  border: 1px solid rgba(242,161,120,.14);
  background: rgba(255,255,255,.035);
  transition: .28s ease;
}

.luxury-menu-links a::after {
  content: "→";
  color: #f2a178;
  font-family: Poppins, sans-serif;
}

.luxury-menu-links a:hover {
  transform: translateX(6px);
  background: rgba(216,100,52,.12);
  border-color: rgba(242,161,120,.28);
}

.luxury-menu-contact {
  position: relative;
  z-index: 2;
  margin-top: 28px;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(242,161,120,.16);
  background: rgba(0,0,0,.42);
}

.luxury-menu-contact p {
  color: rgba(255,243,232,.76);
  font-size: 14px;
  line-height: 1.7;
}

.luxury-menu-contact a {
  display: inline-flex;
  margin-top: 16px;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #25d366;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 18px 45px rgba(37,211,102,.28);
}

body.menu-open {
  overflow: hidden;
}

@media(max-width: 920px) {
  .luxury-menu-btn {
    display: flex;
  }

  .navbar nav,
  .nav nav {
    display: none !important;
  }

  .btn-small,
  .header-btn {
    display: none !important;
  }

  .navbar,
  .nav {
    position: relative;
  }
}

@media(max-width: 420px) {
  .luxury-menu-panel {
    padding: 22px;
    border-radius: 28px;
  }

  .luxury-menu-links a {
    min-height: 54px;
    font-size: 18px;
  }

  .luxury-menu-brand strong {
    font-size: 16px;
  }
}


/* =========================================================
   MOBILE FLAWLESS PATCH
   Mobile-only fixes. Desktop remains untouched.
   ========================================================= */

html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
svg {
  max-width: 100%;
}

/* The hamburger must exist in layout but stay hidden on desktop */
.luxury-menu-btn {
  display: none;
}

/* Keep animated/background elements from creating right overflow */
.hero,
.page-hero,
.section,
.slider,
.hero-slider,
.footer,
.site-header {
  overflow-x: clip;
}

/* Mobile-only layout corrections */
@media (max-width: 920px) {
  html,
  body {
    width: 100%;
    position: relative;
  }

  .container {
    width: min(100% - 28px, 1180px) !important;
    max-width: 100% !important;
  }

  .navbar,
  .nav {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 76px !important;
    padding-right: 62px !important;
  }

  .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 68px) !important;
  }

  .brand img {
    flex: 0 0 auto !important;
    width: 50px !important;
    height: 50px !important;
  }

  .brand span,
  .brand div {
    min-width: 0 !important;
  }

  .brand b,
  .brand strong {
    font-size: 16px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }

  .brand small {
    font-size: 9px !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .navbar > nav,
  .nav > nav,
  .btn-small,
  .header-btn {
    display: none !important;
  }

  .luxury-menu-btn {
    display: flex !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    z-index: 300 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .hero-grid,
  .split,
  .contact-grid,
  .footer-grid,
  .mission-grid {
    grid-template-columns: 1fr !important;
  }

  .stats,
  .business-numbers,
  .cards3,
  .stone-grid,
  .process-grid,
  .service-detail-grid,
  .gallery-grid,
  .home-stone-grid,
  .testimonial-grid,
  .feature-grid,
  .service-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .hero {
    min-height: auto !important;
    padding-top: 64px !important;
    padding-bottom: 58px !important;
  }

  .hero-grid {
    gap: 34px !important;
  }

  .ring,
  .zodiac-ring {
    right: -260px !important;
    opacity: .38 !important;
  }

  .orbit,
  .orbit-one,
  .orbit-two {
    max-width: 96vw !important;
    opacity: .25 !important;
  }

  .slider,
  .hero-slider {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 30px !important;
  }

  .slides,
  .slider-track {
    max-width: none !important;
  }

  .slides article,
  .slider-track article {
    min-width: 33.333% !important;
    width: 33.333% !important;
  }

  .cinematic-slide img,
  .slides article img,
  .slider-track article img {
    height: 500px !important;
    object-fit: cover !important;
  }

  .slide-content {
    left: 32px !important;
    right: 32px !important;
    bottom: 34px !important;
    max-width: calc(100% - 64px) !important;
  }

  .cta {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .footer-bottom {
    gap: 8px !important;
  }
}

@media (max-width: 620px) {
  .container {
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .topbar-inner {
    justify-content: center !important;
    text-align: center !important;
    gap: 6px !important;
  }

  .topbar span:last-child {
    justify-content: center !important;
    gap: 10px !important;
  }

  .navbar,
  .nav {
    min-height: 72px !important;
    padding-right: 56px !important;
  }

  .brand img {
    width: 46px !important;
    height: 46px !important;
  }

  .luxury-menu-btn {
    width: 44px !important;
    height: 44px !important;
    right: 0 !important;
  }

  .hero h1,
  .page-hero h1 {
    font-size: 38px !important;
    line-height: 1.08 !important;
    letter-spacing: -1.2px !important;
  }

  .lead,
  .page-hero p:not(.tag) {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .tag {
    font-size: 10px !important;
    letter-spacing: 1.8px !important;
    padding: 8px 12px !important;
  }

  .stats,
  .business-numbers,
  .cards3,
  .stone-grid,
  .process-grid,
  .service-detail-grid,
  .gallery-grid,
  .home-stone-grid,
  .testimonial-grid,
  .feature-grid,
  .service-grid {
    grid-template-columns: 1fr !important;
  }

  .stats div,
  .business-numbers div,
  .mini-card,
  .premium-card,
  .service-detail,
  .contact-panel,
  .contact-cards div,
  .process-grid div,
  .stone-grid article,
  .trust-card,
  .feature-card,
  .service-card,
  .testimonial-card {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .section {
    padding: 68px 0 !important;
  }

  .page-hero {
    padding: 74px 0 !important;
  }

  .hero {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .cinematic-slide,
  .slides article,
  .slider-track article {
    min-height: 390px !important;
  }

  .cinematic-slide img,
  .slides article img,
  .slider-track article img {
    height: 390px !important;
  }

  .slide-overlay::after {
    inset: 14px !important;
    border-radius: 22px !important;
  }

  .slide-content {
    left: 20px !important;
    right: 20px !important;
    bottom: 22px !important;
    max-width: none !important;
  }

  .slide-content span {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    margin-bottom: 8px !important;
  }

  .slide-content h3 {
    font-size: 28px !important;
    line-height: 1.08 !important;
    margin-bottom: 8px !important;
  }

  .slide-content p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 14px !important;
  }

  .slide-btn {
    min-height: 42px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
  }

  .cosmic-panel,
  .cta,
  .final-panel,
  .contact-box {
    padding: 30px 20px !important;
    border-radius: 28px !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-bottom {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Ensure mobile menu is always above all visual layers */
.luxury-mobile-menu {
  z-index: 9999 !important;
}

body.menu-open {
  overflow: hidden !important;
}

/* FINAL MOBILE MENU FIX */
@media(max-width:920px){
  .luxury-menu-btn{
    display:flex !important;
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    z-index:9999;
  }

  .navbar nav,
  .btn-small{
    display:none !important;
  }

  .luxury-mobile-menu{
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
  }

  .luxury-mobile-menu.show{
    display:block;
  }

  .luxury-menu-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.7);
    backdrop-filter:blur(12px);
  }

  .luxury-menu-panel{
    position:absolute;
    right:0;
    top:0;
    height:100%;
    width:85%;
    max-width:360px;
    background:#050100;
    padding:30px 20px;
    display:flex;
    flex-direction:column;
    gap:20px;
    overflow-y:auto;
  }

  .luxury-menu-links{
    display:flex;
    flex-direction:column;
    gap:15px;
  }

  .luxury-menu-links a{
    font-size:20px;
    font-weight:700;
    color:#fff;
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }

  .luxury-menu-contact{
    margin-top:auto;
  }
}

/* Owner profile section */
.owner-grid{align-items:center;}
.owner-photo{border:1px solid var(--line);border-radius:38px;padding:14px;background:linear-gradient(135deg,rgba(216,100,52,.18),rgba(0,0,0,.72));box-shadow:0 30px 80px rgba(216,100,52,.16);}
.owner-photo img{width:100%;max-height:680px;object-fit:cover;object-position:center;border-radius:28px;display:block;}
.owner-card{margin-top:24px;}
@media(min-width:921px){.hero .stats{grid-template-columns:repeat(3,1fr);max-width:760px;}}
@media(max-width:620px){.owner-photo img{max-height:520px;}}


/* SIMPLE MOBILE MENU: always visible below logo/header */
@media(max-width:920px){
  body.menu-open{overflow:auto !important;}
  .luxury-menu-btn,
  .luxury-mobile-menu,
  .luxury-menu-backdrop,
  .luxury-menu-panel,
  .luxury-menu-close,
  .luxury-menu-brand,
  .luxury-menu-contact{display:none !important;}
  .navbar,
  .nav{
    flex-direction:column !important;
    align-items:center !important;
    gap:12px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
  .navbar > nav,
  .nav > nav{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    margin-top:4px !important;
  }
  .navbar > nav a,
  .nav > nav a{
    display:inline-flex !important;
    min-height:38px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:8px 12px !important;
    border:1px solid rgba(242,161,120,.24) !important;
    border-radius:999px !important;
    background:rgba(5,1,0,.72) !important;
    font-size:13px !important;
    line-height:1 !important;
  }
}
@media(max-width:380px){
  .navbar > nav a,
  .nav > nav a{padding:8px 9px !important;font-size:12px !important;}
}
