
:root{
  --bg:#050c17;
  --bg-2:#091322;
  --card:#0b1626;
  --card-2:rgba(13,24,39,.75);
  --text:#edf3ff;
  --muted:#9fb0c7;
  --gold:#d9a957;
  --gold-2:#f6d188;
  --line:rgba(255,255,255,.08);
  --green:#21c063;
  --shadow:0 22px 80px rgba(0,0,0,.35);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Cairo',system-ui,sans-serif;background:radial-gradient(circle at top left, #0c1b2c, #050c17 38%),var(--bg);color:var(--text);line-height:1.75;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(1180px, calc(100% - 32px));margin-inline:auto}
.section-padding{padding:90px 0}
.section-dark{background:linear-gradient(180deg, rgba(11,22,38,.96), rgba(6,12,21,.98))}
.center{text-align:center}.narrow{width:min(860px, calc(100% - 32px));margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(217,169,87,.28);background:rgba(217,169,87,.09);border-radius:999px;color:var(--gold-2);font-weight:800;font-size:13px;letter-spacing:.3px}
.section-head{margin-bottom:42px}.section-head h2{font-size:clamp(28px,4vw,48px);line-height:1.2;margin:18px 0 12px;font-weight:900}.section-head p{max-width:780px;margin:0 auto;color:var(--muted)}
.topbar{position:sticky;top:0;z-index:70;background:rgba(3,9,16,.92);border-bottom:1px solid rgba(217,169,87,.15);backdrop-filter:blur(16px)}
.topbar-inner{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;font-size:13px}.topbar p{margin:0;color:#dfe8f7}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mini-link{color:#fff;opacity:.85}.mini-btn{padding:8px 14px;border-radius:999px;font-weight:800;font-size:13px}.mini-dark{background:rgba(255,255,255,.08)}.mini-green{background:var(--green);color:#fff}
.site-header{position:sticky;top:48px;z-index:60;background:rgba(4,10,18,.72);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:60px;height:60px;object-fit:contain;border-radius:50%;box-shadow:0 10px 24px rgba(0,0,0,.2)}.brand strong{display:block;font-size:22px;font-weight:900;line-height:1.1}.brand span{display:block;color:var(--muted);font-size:13px}
.nav{display:flex;gap:22px;align-items:center}.nav a{color:#dbe7ff;font-weight:700;font-size:15px;position:relative}.nav a:after{content:'';position:absolute;right:0;bottom:-8px;width:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:.25s}.nav a:hover:after{width:100%}
.nav-cta{display:flex;gap:10px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:14px;font-weight:900;transition:.25s;border:1px solid transparent;cursor:pointer}
.btn:hover{transform:translateY(-2px)}.btn-lg{padding:16px 26px;font-size:16px}.btn-block{width:100%}
.btn-primary{background:linear-gradient(135deg,var(--green),#14a951);color:#fff;box-shadow:0 16px 40px rgba(33,192,99,.22)}
.btn-outline{border-color:rgba(217,169,87,.55);color:#fff;background:rgba(255,255,255,.03)}
.text-link{color:var(--gold-2);font-weight:800}
.hero{position:relative;min-height:calc(100vh - 120px);display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-image:url('hero-villa.webp');background-size:cover;background-position:center;filter:saturate(1.05)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 25% 20%, rgba(10,22,40,.20), rgba(5,12,23,.72) 45%, rgba(5,12,23,.92)), linear-gradient(90deg, rgba(5,12,23,.9), rgba(5,12,23,.52));}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.hero-content h1{font-size:clamp(38px,6vw,74px);line-height:1.06;margin:18px 0 18px;font-weight:900;max-width:780px}.hero-content h1 span{display:block;background:linear-gradient(90deg,var(--gold-2),#fff0c8);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{max-width:700px;color:#d2def0;font-size:18px}.hero-bullets{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.hero-bullets span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);font-weight:700;color:#e9f0ff;font-size:14px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-note{margin-top:16px;color:#c9d8ed;font-size:15px}
.hero-side{display:grid;gap:16px}.glass-card{background:linear-gradient(180deg, rgba(18,29,45,.72), rgba(8,16,26,.84));border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(15px);padding:26px;border-radius:var(--radius);box-shadow:var(--shadow)}.glass-card .kicker{color:var(--gold-2);font-size:13px;font-weight:900}.glass-card h3{font-size:28px;line-height:1.2;margin:8px 0 10px}.glass-card p{color:var(--muted);margin:0 0 14px}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card{padding:22px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.stat-card strong{display:block;font-size:40px;font-weight:900;color:#fff;line-height:1}.stat-card span{display:block;margin-top:10px;color:var(--muted)}.stat-card.wide{grid-column:1/-1}
.stats-strip{background:#07111f;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.stats-strip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px 0}.stats-strip-inner div{padding:12px 18px;border-right:1px solid rgba(255,255,255,.08)}.stats-strip-inner div:last-child{border-right:0}.stats-strip-inner strong{display:block;font-size:26px;color:var(--gold-2)}.stats-strip-inner span{color:var(--muted);font-size:14px}
.grid{display:grid;gap:18px}.cards-4{grid-template-columns:repeat(4,1fr)}.cards-3{grid-template-columns:repeat(3,1fr)}
.info-card,.quote-card,.step,.quote-form,.feature-visual,.portfolio-card,.faq-item,.contact-highlights div{background:linear-gradient(180deg, rgba(14,25,39,.72), rgba(8,14,24,.92));border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);box-shadow:var(--shadow)}
.info-card{padding:26px}.info-card .icon{width:56px;height:56px;border-radius:16px;background:rgba(217,169,87,.12);display:grid;place-items:center;font-size:28px;margin-bottom:18px}.info-card h3{margin:0 0 8px;font-size:22px}.info-card p{margin:0;color:var(--muted)}.cta-inline{margin-top:28px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:440px;background-size:cover;background-position:center;border-radius:26px;overflow:hidden;display:flex;align-items:flex-end;box-shadow:var(--shadow)}.service-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(4,10,18,.15), rgba(4,10,18,.88) 72%, rgba(4,10,18,.96))}.service-content{position:relative;padding:24px;z-index:1}.tag{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(217,169,87,.14);border:1px solid rgba(217,169,87,.2);font-size:12px;color:var(--gold-2);font-weight:900}.service-card h3{margin:14px 0 8px;font-size:27px;line-height:1.2}.service-card p{color:#e7efff;margin:0 0 18px;font-size:15px}
.extra-services{margin-top:26px;padding:26px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}.extra-services h3{margin:0 0 14px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips span{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.06);color:#eaf1ff;border:1px solid rgba(255,255,255,.08);font-size:14px}
.portfolio-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}.portfolio-card{overflow:hidden}.portfolio-card.large{grid-row:span 2}.portfolio-card img{width:100%;height:100%;min-height:250px;object-fit:cover}.portfolio-copy{padding:18px}.portfolio-copy h3{margin:0 0 8px;font-size:22px}.portfolio-copy p{margin:0;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:26px;position:relative}.step span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#111;font-weight:900;margin-bottom:18px}.step h3{margin:0 0 8px;font-size:22px}.step p{margin:0;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.feature-band{padding:28px;border-radius:30px;background:linear-gradient(180deg, rgba(13,24,39,.86), rgba(8,14,24,.95));border:1px solid rgba(255,255,255,.06)}.tick-list{list-style:none;padding:0;margin:18px 0 22px}.tick-list li{position:relative;padding-right:28px;margin-bottom:10px;color:#dde8f7}.tick-list li:before{content:'✓';position:absolute;right:0;top:0;color:var(--gold-2);font-weight:900}.feature-visual{position:relative;overflow:hidden}.feature-visual img{width:100%;height:100%;object-fit:cover;min-height:420px}.feature-floating{position:absolute;left:18px;bottom:18px;padding:16px 18px;border-radius:18px;background:rgba(5,12,23,.76);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.09)}.feature-floating strong{display:block}.feature-floating span{font-size:14px;color:var(--muted)}
.quote-card{padding:26px}.quote-card p{margin:0 0 14px;color:#e8f1ff}.quote-card h3{margin:0;color:var(--gold-2);font-size:17px}
.faq-list{display:grid;gap:14px}.faq-item{overflow:hidden}.faq-item button{width:100%;text-align:right;background:none;border:0;color:#fff;padding:22px 24px;font-size:18px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-item button:after{content:'+';font-size:24px;color:var(--gold-2)}.faq-item.active button:after{content:'−'}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-item.active .faq-answer{max-height:180px}.faq-answer p{margin:0;padding:0 24px 22px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}.contact-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.contact-highlights div{padding:18px}.contact-highlights strong{display:block;color:var(--gold-2);font-size:14px}.contact-highlights span{display:block;margin-top:6px}
.quote-form{padding:26px}.field{display:grid;gap:8px;margin-bottom:14px}.field label{font-weight:800;color:#fff}.field input,.field select,.field textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;outline:none}.field input::placeholder,.field textarea::placeholder{color:#91a6c2}
.site-footer{padding:34px 0 22px;border-top:1px solid rgba(255,255,255,.08);background:#040a12}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.footer-brand{margin-bottom:12px}.site-footer p,.site-footer li,.site-footer a{color:#b6c4d9}.site-footer h3{margin-top:0;color:#fff}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-bottom{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.footer-bottom a{color:var(--gold-2);font-weight:800}
.floating-stack{position:fixed;left:16px;bottom:16px;display:grid;gap:10px;z-index:80}.float-wa,.float-call{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:24px;box-shadow:0 18px 30px rgba(0,0,0,.28)}.float-wa{background:var(--green)}.float-call{background:#111a27;border:1px solid rgba(217,169,87,.35)}
.reveal{opacity:0;transform:translateY(22px);transition:all .7s ease}.reveal.visible{opacity:1;transform:none}
.tilt-card{transform-style:preserve-3d;transition:transform .18s ease, box-shadow .18s ease}.tilt-card:hover{box-shadow:0 18px 50px rgba(0,0,0,.35)}
.floating{animation:floatY 6s ease-in-out infinite}@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero:before,.hero:after{content:'';position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none}.hero:before{width:260px;height:260px;right:5%;top:20%;background:rgba(217,169,87,.2)}.hero:after{width:280px;height:280px;left:5%;bottom:10%;background:rgba(33,192,99,.12)}
.hero, .service-card, .feature-visual, .portfolio-card img { will-change: transform; }
@media (max-width:1100px){.services-grid,.cards-4,.cards-3,.process-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-card.large{grid-row:auto}.hero-grid,.two-col,.contact-grid,.footer-grid{grid-template-columns:1fr}.contact-highlights{grid-template-columns:1fr 1fr 1fr}.nav{display:none}.menu-toggle{display:block}.nav-wrap.open .nav{display:flex;position:absolute;top:100%;left:16px;right:16px;padding:18px;border-radius:18px;background:rgba(6,12,21,.97);flex-direction:column;align-items:flex-start;border:1px solid rgba(255,255,255,.08)}.nav-wrap.open .nav a{padding:6px 0}.site-header{top:44px}}
@media (max-width:780px){.topbar{position:relative}.site-header{top:0}.topbar-inner,.nav-wrap,.hero-actions,.topbar-actions,.stats-strip-inner,.contact-highlights,.footer-bottom{display:grid;grid-template-columns:1fr}.nav-cta{display:none}.stats-strip-inner div{border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}.stats-strip-inner div:last-child{border-bottom:0}.hero{min-height:auto;padding-top:70px}.hero-grid{gap:24px}.hero-content h1{font-size:clamp(34px,10vw,54px)}.lead{font-size:16px}.cards-4,.cards-3,.services-grid,.process-grid,.portfolio-grid,.stat-grid{grid-template-columns:1fr}.contact-highlights{grid-template-columns:1fr}.floating-stack{left:12px;bottom:12px}.float-wa,.float-call{width:54px;height:54px}.section-padding{padding:72px 0}.service-card{min-height:360px}.feature-visual img{min-height:300px}}

.form-note{margin:6px 0 10px;color:#9fb0c7;font-size:13px;line-height:1.7}.form-status{display:none;margin:0 0 12px;padding:11px 13px;border-radius:12px;font-size:13px;font-weight:700}.form-status.error{display:block;color:#ffd7d7;background:rgba(220,38,38,.12);border:1px solid rgba(248,113,113,.28)}.form-status.success{display:block;color:#c9ffe0;background:rgba(33,192,99,.12);border:1px solid rgba(33,192,99,.28)}

/* ===== Mazlax V4: Actual 3D experience ===== */
.hero-bg{z-index:0;transition:transform .35s ease-out}
.hero-overlay{z-index:1}
.hero-3d-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.78}
.hero-grid{z-index:3}
.showcase-3d-section{position:relative;overflow:hidden;background:
  radial-gradient(circle at 50% 40%,rgba(217,169,87,.13),transparent 36%),
  linear-gradient(180deg,#050c17,#081421 58%,#050c17)}
.showcase-3d-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 75%,transparent);pointer-events:none}
.showcase-3d-wrap{position:relative;min-height:650px;border:1px solid rgba(255,255,255,.08);border-radius:34px;background:linear-gradient(145deg,rgba(12,24,40,.82),rgba(4,10,18,.92));box-shadow:0 40px 120px rgba(0,0,0,.48);overflow:hidden;isolation:isolate}
.showcase-glow{position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(217,169,87,.24),transparent 68%);top:50%;left:50%;transform:translate(-50%,-55%);filter:blur(28px);animation:pulseGlow 5s ease-in-out infinite;z-index:-1}
@keyframes pulseGlow{0%,100%{opacity:.58;transform:translate(-50%,-55%) scale(.92)}50%{opacity:1;transform:translate(-50%,-55%) scale(1.08)}}
.scene-3d{height:570px;display:grid;place-items:center;perspective:1200px;perspective-origin:50% 44%;transform-style:preserve-3d;--scene-rx:-8deg;--scene-ry:0deg;transform:rotateX(var(--scene-rx)) rotateY(var(--scene-ry));transition:transform .15s ease-out;position:relative}
.carousel-3d{width:280px;height:360px;position:relative;transform-style:preserve-3d;animation:rotateShowcase 28s linear infinite}
.scene-3d:hover .carousel-3d{animation-play-state:paused}
@keyframes rotateShowcase{from{transform:rotateY(0deg)}to{transform:rotateY(-360deg)}}
.panel-3d{position:absolute;inset:0;border-radius:24px;background-size:cover;background-position:center;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 0 0 1px rgba(217,169,87,.12);transform:rotateY(calc(var(--i) * 60deg)) translateZ(330px);backface-visibility:hidden}
.panel-3d:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,8,15,.92) 100%)}
.panel-3d:after{content:"";position:absolute;inset:-1px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.25),transparent 25%,transparent 70%,rgba(217,169,87,.2));mix-blend-mode:screen;pointer-events:none}
.panel-3d span{position:absolute;right:20px;left:20px;bottom:20px;font-size:22px;font-weight:900;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.85)}
.platform-3d{position:absolute;width:580px;height:580px;border-radius:50%;border:1px solid rgba(217,169,87,.17);transform:rotateX(90deg) translateZ(-250px);background:radial-gradient(circle,rgba(217,169,87,.08),rgba(217,169,87,.015) 50%,transparent 68%);box-shadow:0 0 80px rgba(217,169,87,.08) inset;pointer-events:none}
.showcase-3d-copy{position:absolute;right:28px;left:28px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:18px;background:rgba(4,10,18,.68);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08)}
.showcase-3d-copy strong{font-size:18px}.showcase-3d-copy span{color:var(--muted);font-size:14px}
.depth-layer{transform-style:preserve-3d}
@media (max-width:780px){
  .hero-3d-canvas{opacity:.38}
  .showcase-3d-wrap{min-height:540px}
  .scene-3d{height:470px;perspective:850px}
  .carousel-3d{width:205px;height:285px}
  .panel-3d{transform:rotateY(calc(var(--i) * 60deg)) translateZ(225px);border-radius:18px}
  .platform-3d{width:400px;height:400px;transform:rotateX(90deg) translateZ(-190px)}
  .showcase-3d-copy{position:relative;right:auto;left:auto;bottom:auto;margin:0 14px 16px;display:grid;text-align:center}
}
@media (prefers-reduced-motion:reduce){.carousel-3d,.showcase-glow,.floating{animation:none!important}.tilt-card,.reveal{transition:none!important}}

/* ===== Mazlax V6 fantasy 3D hero ===== */
.hero-side{position:relative;z-index:4}
.fantasy-3d-stage{
  position:relative;
  min-height:480px;
  border-radius:34px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 42%,rgba(246,209,136,.16),transparent 35%),
    radial-gradient(circle at 65% 25%,rgba(33,192,99,.14),transparent 28%),
    linear-gradient(145deg,rgba(9,20,35,.92),rgba(3,8,15,.94));
  border:1px solid rgba(246,209,136,.18);
  box-shadow:0 35px 120px rgba(0,0,0,.5),inset 0 0 70px rgba(217,169,87,.04);
  perspective:1100px;
  transform-style:preserve-3d;
}
.fantasy-3d-stage:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,transparent 0,black 22%,black 76%,transparent 100%);
  transform:perspective(700px) rotateX(67deg) translateY(165px) scale(1.4);
  transform-origin:center bottom;
  opacity:.8;
}
.fantasy-fx,.showcase-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;mix-blend-mode:screen}
.canopy-model{
  position:absolute;
  left:50%;
  top:50%;
  width:260px;
  height:210px;
  margin-left:-130px;
  margin-top:-105px;
  transform-style:preserve-3d;
  transform:rotateX(-12deg) rotateY(0deg);
  will-change:transform;
  z-index:5;
}
.model-floor{
  position:absolute;
  left:50%;top:50%;
  width:320px;height:250px;
  margin-left:-160px;margin-top:-125px;
  border-radius:22px;
  background:
    radial-gradient(circle,rgba(217,169,87,.16),rgba(217,169,87,.02) 48%,transparent 70%),
    linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.01));
  border:1px solid rgba(246,209,136,.13);
  transform:rotateX(90deg) translateZ(-102px);
  box-shadow:0 0 80px rgba(217,169,87,.12) inset;
}
.model-post,.model-beam{
  position:absolute;
  background:linear-gradient(90deg,#101722,#5f5140 48%,#111a27);
  border:1px solid rgba(246,209,136,.22);
  box-shadow:0 0 18px rgba(217,169,87,.16),inset 0 0 10px rgba(255,255,255,.04);
  transform-style:preserve-3d;
}
.model-post{width:17px;height:150px;bottom:15px;border-radius:6px}
.post-a{left:18px;transform:translateZ(84px)}
.post-b{right:18px;transform:translateZ(84px)}
.post-c{left:18px;transform:translateZ(-84px)}
.post-d{right:18px;transform:translateZ(-84px)}
.model-beam{height:16px;border-radius:6px;top:34px}
.beam-front,.beam-back{left:18px;width:224px}
.beam-front{transform:translateZ(84px)}
.beam-back{transform:translateZ(-84px)}
.beam-left,.beam-right{width:168px;left:46px}
.beam-left{transform:rotateY(90deg) translateZ(-112px)}
.beam-right{transform:rotateY(90deg) translateZ(112px)}
.model-roof{
  position:absolute;
  left:50%;top:18px;
  width:254px;height:130px;
  margin-left:-127px;
  transform-origin:center center;
  border-radius:50% 50% 14px 14px / 75% 75% 14px 14px;
  background:
    linear-gradient(135deg,rgba(246,209,136,.78),rgba(75,72,72,.94) 48%,rgba(7,14,24,.98));
  border:1px solid rgba(246,209,136,.45);
  box-shadow:0 18px 45px rgba(0,0,0,.4),0 0 30px rgba(217,169,87,.16);
  backface-visibility:visible;
}
.roof-a{clip-path:polygon(0 100%,50% 0,50% 100%);transform:rotateX(62deg) translateZ(20px)}
.roof-b{clip-path:polygon(50% 100%,50% 0,100% 100%);transform:rotateX(62deg) translateZ(20px)}
.logo-coin{
  position:absolute;
  left:50%;top:52%;
  width:90px;height:90px;
  margin:-45px 0 0 -45px;
  transform-style:preserve-3d;
  animation:coinSpin 10s linear infinite;
}
.coin-face,.coin-back{
  position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;
  background:radial-gradient(circle at 35% 30%,#1a2739,#050c17 68%);
  border:2px solid rgba(246,209,136,.65);
  box-shadow:0 0 30px rgba(217,169,87,.25);
}
.coin-face{display:grid;place-items:center;transform:translateZ(7px)}
.coin-face img{width:76px;height:76px;object-fit:contain;border-radius:50%}
.coin-back{transform:rotateY(180deg) translateZ(7px);background:radial-gradient(circle,#d9a957,#4e3619)}
@keyframes coinSpin{from{transform:translateZ(120px) rotateY(0)}to{transform:translateZ(120px) rotateY(360deg)}}
.energy-ring{
  position:absolute;
  left:50%;top:50%;
  border-radius:50%;
  border:1px solid rgba(246,209,136,.22);
  transform-style:preserve-3d;
  pointer-events:none;
  z-index:3;
}
.ring-a{width:340px;height:340px;margin:-170px;animation:ringA 11s linear infinite}
.ring-b{width:260px;height:260px;margin:-130px;border-color:rgba(33,192,99,.22);animation:ringB 8s linear infinite reverse}
.ring-c{width:410px;height:160px;margin:-80px -205px;animation:ringC 13s linear infinite}
@keyframes ringA{from{transform:rotateX(68deg) rotateZ(0)}to{transform:rotateX(68deg) rotateZ(360deg)}}
@keyframes ringB{from{transform:rotateY(66deg) rotateZ(0)}to{transform:rotateY(66deg) rotateZ(360deg)}}
@keyframes ringC{from{transform:rotateX(78deg) rotateZ(0)}to{transform:rotateX(78deg) rotateZ(-360deg)}}
.light-orb{position:absolute;width:16px;height:16px;border-radius:50%;background:#f6d188;box-shadow:0 0 18px #f6d188,0 0 38px rgba(246,209,136,.55)}
.orb-a{left:2px;top:14px;animation:orbFloat 4s ease-in-out infinite}
.orb-b{right:3px;bottom:18px;background:#21c063;box-shadow:0 0 18px #21c063,0 0 38px rgba(33,192,99,.5);animation:orbFloat 5s ease-in-out infinite reverse}
.orb-c{left:48%;bottom:-14px;animation:orbFloat 6s ease-in-out infinite .5s}
@keyframes orbFloat{0%,100%{transform:translate3d(0,0,45px) scale(.9)}50%{transform:translate3d(0,-22px,95px) scale(1.2)}}
.fantasy-caption{
  position:absolute;
  right:20px;left:20px;bottom:18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;border-radius:16px;
  background:rgba(3,9,17,.64);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.08);z-index:8;
}
.fantasy-caption strong{color:var(--gold-2);font-size:17px}.fantasy-caption span{color:var(--muted);font-size:13px}

/* Fantasy energy around the 3D service carousel */
.showcase-3d-wrap{min-height:720px;background:
  radial-gradient(circle at 50% 44%,rgba(217,169,87,.15),transparent 31%),
  radial-gradient(circle at 20% 25%,rgba(33,192,99,.08),transparent 26%),
  linear-gradient(145deg,rgba(10,22,39,.9),rgba(3,8,15,.98));}
.showcase-fx{z-index:1}
.scene-3d{z-index:4;height:630px}
.carousel-3d{animation-duration:24s}
.panel-3d{box-shadow:0 28px 80px rgba(0,0,0,.58),0 0 30px rgba(217,169,87,.08),inset 0 0 0 1px rgba(217,169,87,.18)}
.platform-3d{box-shadow:0 0 100px rgba(217,169,87,.12) inset,0 0 80px rgba(33,192,99,.05)}
.holo-orb,.holo-shard{position:absolute;z-index:2;pointer-events:none}
.holo-orb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff7d7 0,#f6d188 38%,rgba(217,169,87,0) 72%);filter:blur(.2px);box-shadow:0 0 32px rgba(246,209,136,.7)}
.holo-a{left:12%;top:24%;animation:holoFloat 6s ease-in-out infinite}
.holo-b{right:11%;top:34%;background:radial-gradient(circle,#d7ffeb,#21c063 40%,rgba(33,192,99,0) 74%);animation:holoFloat 7.5s ease-in-out infinite reverse}
.holo-c{left:24%;bottom:17%;animation:holoFloat 8.5s ease-in-out infinite .8s}
@keyframes holoFloat{0%,100%{transform:translateY(0) scale(.85);opacity:.65}50%{transform:translateY(-34px) scale(1.25);opacity:1}}
.holo-shard{width:34px;height:60px;border:1px solid rgba(246,209,136,.28);background:linear-gradient(135deg,rgba(246,209,136,.12),rgba(255,255,255,.02));clip-path:polygon(50% 0,100% 35%,72% 100%,8% 70%);filter:drop-shadow(0 0 14px rgba(217,169,87,.2));animation:shardSpin 13s linear infinite}
.shard-a{left:7%;top:52%}.shard-b{right:8%;top:18%;animation-duration:17s;animation-direction:reverse}.shard-c{right:22%;bottom:12%;animation-duration:21s}
@keyframes shardSpin{from{transform:rotate3d(1,1,0,0deg) translateY(0)}to{transform:rotate3d(1,1,0,360deg) translateY(-18px)}}

/* Trackable WhatsApp buttons get a subtle pulse */
.js-wa{position:relative;isolation:isolate}
.js-wa:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid rgba(33,192,99,.32);opacity:0;animation:waPulse 3.2s ease-out infinite;pointer-events:none}
@keyframes waPulse{0%{transform:scale(.96);opacity:.45}75%,100%{transform:scale(1.12);opacity:0}}

@media (max-width:1100px){
  .fantasy-3d-stage{min-height:430px}
  .canopy-model{transform:scale(.9) rotateX(-12deg)}
}
@media (max-width:780px){
  .fantasy-3d-stage{min-height:390px;margin-top:8px}
  .canopy-model{width:220px;height:180px;margin-left:-110px;margin-top:-90px;transform:scale(.78)}
  .fantasy-caption{display:grid;text-align:center}
  .showcase-3d-wrap{min-height:590px}
  .scene-3d{height:510px}
  .holo-shard{display:none}
}
@media (prefers-reduced-motion:reduce){
  .logo-coin,.energy-ring,.light-orb,.holo-orb,.holo-shard,.js-wa:after{animation:none!important}
}


/* ===== Mazlax V7: moving code-based magical guide ===== */
.fairy-trail-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:52;mix-blend-mode:screen}
.fairy-beam{position:fixed;right:auto;bottom:auto;height:2px;width:0;z-index:53;pointer-events:none;transform-origin:0 50%;border-radius:999px;background:linear-gradient(90deg,rgba(255,244,170,.96),rgba(223,177,76,.65),rgba(36,224,121,.08));box-shadow:0 0 8px #fff2a6,0 0 20px rgba(217,169,87,.9),0 0 34px rgba(33,192,99,.45);opacity:.9;will-change:transform,width}
.fairy-beam::after{content:'';position:absolute;left:100%;top:50%;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:#fff5bc;box-shadow:0 0 10px #fff,0 0 24px #e7b54d,0 0 42px #20d677}
.magic-fairy{position:fixed;top:0;left:0;width:126px;height:150px;padding:0;border:0;background:transparent;z-index:54;cursor:pointer;pointer-events:auto;will-change:transform;filter:drop-shadow(0 10px 24px rgba(0,0,0,.4));transition:filter .25s ease}
.magic-fairy:hover{filter:drop-shadow(0 0 18px rgba(246,209,136,.7)) drop-shadow(0 10px 28px rgba(0,0,0,.48))}
.fairy-figure{display:block;width:108px;height:138px;margin:10px auto 0;transform:scaleX(var(--fairy-dir,1));transform-origin:center;transition:transform .35s ease}
.fairy-figure svg{width:100%;height:100%;overflow:visible}
.fairy-message{position:absolute;right:78px;top:-2px;min-width:132px;max-width:190px;padding:9px 13px;border:1px solid rgba(246,209,136,.45);border-radius:14px 14px 4px 14px;background:linear-gradient(145deg,rgba(5,13,23,.94),rgba(12,32,28,.9));color:#fff4c5;font:800 12px/1.55 'Cairo',sans-serif;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,.34),0 0 24px rgba(217,169,87,.16);backdrop-filter:blur(12px);white-space:normal;pointer-events:none;opacity:.96}
.magic-fairy[data-side="right"] .fairy-message{right:auto;left:80px;border-radius:14px 14px 14px 4px}
.fairy-aura{animation:fairyAura 2.8s ease-in-out infinite;transform-origin:center}
.fairy-body{animation:fairyBody 2.4s ease-in-out infinite;transform-origin:90px 110px}
.fairy-wing{transform-box:fill-box;transform-origin:center right;animation:fairyWingLeft .48s ease-in-out infinite alternate}
.fairy-wing-right{transform-origin:center left;animation-name:fairyWingRight}
.fairy-wand-star{animation:fairyStar 1.05s ease-in-out infinite alternate;transform-origin:center}
.fairy-wand{animation:fairyWand 1.8s ease-in-out infinite;transform-origin:128px 111px}
@keyframes fairyWingLeft{from{transform:rotate(-7deg) scaleX(.9)}to{transform:rotate(14deg) scaleX(1.08)}}
@keyframes fairyWingRight{from{transform:rotate(7deg) scaleX(.9)}to{transform:rotate(-14deg) scaleX(1.08)}}
@keyframes fairyBody{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}
@keyframes fairyAura{0%,100%{opacity:.42;transform:scale(.92)}50%{opacity:.8;transform:scale(1.08)}}
@keyframes fairyStar{from{transform:scale(.78);opacity:.72}to{transform:scale(1.25);opacity:1}}
@keyframes fairyWand{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}
.fairy-highlight{position:relative;isolation:isolate}
.fairy-highlight::after{content:'';position:absolute;inset:-12px -18px;z-index:-1;border-radius:20px;border:1px solid rgba(246,209,136,.28);box-shadow:0 0 0 1px rgba(33,192,99,.06),0 0 30px rgba(217,169,87,.18);animation:fairyTargetPulse 1.9s ease-in-out infinite;pointer-events:none}
@keyframes fairyTargetPulse{0%,100%{opacity:.35;transform:scale(.985)}50%{opacity:.95;transform:scale(1.015)}}
@media(max-width:760px){
  .magic-fairy{width:88px;height:110px}
  .fairy-figure{width:76px;height:98px;margin-top:8px}
  .fairy-message{min-width:96px;max-width:128px;font-size:10px;padding:6px 8px;right:58px;top:-5px}
  .magic-fairy[data-side="right"] .fairy-message{left:58px}
  .fairy-beam{height:1.5px}
}
@media(max-width:460px){.fairy-message{display:none}.magic-fairy{width:72px;height:90px}.fairy-figure{width:64px;height:82px}.fairy-highlight::after{inset:-7px -9px}}
@media(prefers-reduced-motion:reduce){.fairy-wing,.fairy-body,.fairy-aura,.fairy-wand,.fairy-wand-star{animation:none}.fairy-trail-canvas{display:none}.fairy-beam{opacity:.45}}
