/* =====================================================================
   COSMIC EARTH - signature effects (21st.dev-style interactions, pure CSS)
   Palette: indigo #4246A9 / deep #181A45 / orange #F07E00 / cloud #F6F6FC
   + a champagne-gold ramp used only by the Top Partners section.
   ===================================================================== */
:root{
  --ce-indigo:#4246A9; --ce-indigo-dark:#2A2D6E; --ce-deep:#181A45; --ce-ink:#12132B;
  --ce-orange:#F07E00; --ce-orange-light:#FFA940; --ce-cloud:#F6F6FC; --ce-mist:#ECEDF9;
  --gold-1:#FFF6CF; --gold-2:#F7D774; --gold-3:#E3B341; --gold-4:#B98512; --gold-5:#7A5208;
}
@property --angle { syntax:'<angle>'; inherits:false; initial-value:0deg; }

/* ---------- reveal on scroll (content stays visible if JS is blocked) ---------- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- logo-inspired orbit ring + starfield ---------- */
.orbit-ring{position:relative}
.orbit-ring::before{content:'';position:absolute;inset:-10px;border-radius:9999px;border:2px dashed rgba(240,126,0,.55);animation:spin-slow 26s linear infinite}
.orbit-ring::after{content:'';position:absolute;inset:-20px;border-radius:9999px;border:1px solid rgba(66,70,169,.25)}
@keyframes spin-slow{to{transform:rotate(360deg)}}
.starfield{background-image:
  radial-gradient(1px 1px at 20px 30px,rgba(255,255,255,.55) 100%,transparent),
  radial-gradient(1px 1px at 120px 90px,rgba(255,255,255,.4) 100%,transparent),
  radial-gradient(1.5px 1.5px at 200px 40px,rgba(255,255,255,.5) 100%,transparent),
  radial-gradient(1px 1px at 260px 130px,rgba(255,255,255,.35) 100%,transparent),
  radial-gradient(1.5px 1.5px at 330px 70px,rgba(255,255,255,.5) 100%,transparent);
  background-size:360px 180px;animation:star-drift 120s linear infinite}
@keyframes star-drift{to{background-position:360px 180px}}
.scrollbar-none::-webkit-scrollbar{display:none}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}
.snap-x-mandatory{scroll-snap-type:x mandatory}.snap-center{scroll-snap-align:center}.snap-start{scroll-snap-align:start}

/* ---------- toast ---------- */
.toast{animation:toast-in .5s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,-16px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

/* ---------- dialogs ---------- */
dialog{border:none;padding:0;background:transparent;max-height:100vh}
dialog::backdrop{background:rgba(18,19,43,.7);backdrop-filter:blur(4px)}
dialog[open]{animation:dlg-in .35s cubic-bezier(.2,.9,.3,1.1)}
@keyframes dlg-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

/* ---------- ad banner (full width, above the hero) ---------- */
.ad-top{position:relative;background:var(--ce-deep);overflow:hidden}
.ad-top .ad-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}
.ad-top .ad-slide.is-on{opacity:1;pointer-events:auto}
.ad-top .ad-slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 6s ease}
.ad-top .ad-slide.is-on img{transform:scale(1)}
.ad-top .ad-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.ad-top:hover .ad-sheen{animation:sheen 1.2s ease}
@keyframes sheen{to{transform:translateX(120%)}}
.ad-dot{width:8px;height:8px;border-radius:9999px;background:rgba(255,255,255,.5);transition:all .3s}
.ad-dot.is-on{width:26px;background:var(--ce-orange)}
.ad-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--ce-orange);width:0}
.ad-progress.run{animation:adprog var(--ad-ms,5500ms) linear forwards}
@keyframes adprog{to{width:100%}}

/* ---------- hero ---------- */
.hero-orb{position:absolute;border-radius:9999px;filter:blur(70px);opacity:.45;pointer-events:none;animation:orb 14s ease-in-out infinite alternate}
@keyframes orb{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(40px,-30px,0) scale(1.15)}}
.hero-title-grad{background:linear-gradient(90deg,#FFA940,#fff 45%,#FFA940);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:grad-pan 6s linear infinite}
@keyframes grad-pan{to{background-position:200% center}}
.search-tab.active{border-bottom:3px solid var(--ce-orange);color:var(--ce-ink)}

/* ---------- spotlight (cursor-follow glow) for light cards ---------- */
.spot{position:relative;overflow:hidden}
.spot::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(240,126,0,.13),transparent 60%)}
.spot:hover::before{opacity:1}
.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -22px rgba(24,26,69,.45)}

/* ---------- shimmer button (21st.dev style) ---------- */
.btn-shimmer{position:relative;overflow:hidden;isolation:isolate}
.btn-shimmer::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);animation:shimmer 3s ease-in-out infinite}
@keyframes shimmer{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
.magnetic{transition:transform .25s cubic-bezier(.2,.7,.2,1)}

/* ---------- marquee ---------- */
.marquee{display:flex;overflow:hidden;gap:1rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;flex-shrink:0;gap:1rem;min-width:100%;justify-content:space-around;animation:marquee var(--mq,38s) linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-100% - 1rem))}}

/* ---------- brand wall ---------- */
.brand-tile{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.brand-tile:hover{transform:translateY(-6px) scale(1.02);border-color:var(--ce-orange);box-shadow:0 24px 50px -20px rgba(66,70,169,.5)}
.brand-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(240,126,0,.14) 50%,transparent 60%);transform:translateX(-110%);transition:transform .8s}
.brand-tile:hover::after{transform:translateX(110%)}

/* ---------- light property card ---------- */
.pcard{position:relative;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}
.pcard:hover{transform:translateY(-8px);box-shadow:0 34px 60px -24px rgba(24,26,69,.5);border-color:rgba(240,126,0,.5)}
.pcard .pcard-img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pcard-img{transform:scale(1.09)}
.pcard .pcard-line{height:3px;width:0;background:linear-gradient(90deg,var(--ce-orange),var(--ce-orange-light));transition:width .5s}
.pcard:hover .pcard-line{width:100%}
.contact-strip{background:linear-gradient(90deg,rgba(66,70,169,.07),rgba(240,126,0,.09))}

/* =====================================================================
   TOP PARTNERS - the golden luxury section
   ===================================================================== */
.luxe-section{position:relative;isolation:isolate;overflow:hidden;color:#2B1B00;
  background:
    radial-gradient(1100px 520px at 12% -8%,rgba(255,250,222,.95),transparent 62%),
    radial-gradient(900px 560px at 100% 18%,rgba(255,226,130,.6),transparent 62%),
    radial-gradient(800px 500px at 50% 115%,rgba(90,56,0,.55),transparent 65%),
    linear-gradient(135deg,#8a5d08 0%,#cf9a1c 20%,#f4d675 42%,#d8a528 62%,#a87612 82%,#6f4905 100%)}
.luxe-section::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.55;mix-blend-mode:soft-light;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.9) 50%,transparent 62%);background-size:260% 100%;animation:gold-sheen 9s ease-in-out infinite}
@keyframes gold-sheen{0%{background-position:130% 0}100%{background-position:-130% 0}}
.luxe-section::after{content:'';position:absolute;inset:0;z-index:-1;opacity:.22;mix-blend-mode:multiply;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.luxe-grid{position:absolute;inset:0;z-index:-1;opacity:.18;pointer-events:none;
  background-image:linear-gradient(rgba(90,56,0,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(90,56,0,.5) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 70%)}
#luxeSparkles{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.luxe-eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem;border-radius:9999px;background:linear-gradient(135deg,#1d1500,#3a2a05);color:var(--gold-2);font-weight:800;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 10px 30px -10px rgba(43,27,0,.7),inset 0 0 0 1px rgba(247,215,116,.4)}
.luxe-eyebrow svg{animation:twinkle 2.2s ease-in-out infinite}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.35) rotate(45deg);opacity:.6}}
.luxe-title{font-family:'Space Grotesk',sans-serif;font-weight:700;color:#1d1500;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.luxe-title .w{display:inline-block;opacity:0;transform:translateY(.6em) rotateX(-60deg);transform-origin:50% 100%}
.in .luxe-title .w,.luxe-title.in .w{animation:word-in .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms)}
@keyframes word-in{to{opacity:1;transform:none}}
.no-js .luxe-title .w{opacity:1;transform:none}

/* tubelight / sliding-pill filter */
.tl-tabs{position:relative;display:inline-flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none;gap:.25rem;padding:.35rem;border-radius:9999px;background:rgba(29,21,0,.82);backdrop-filter:blur(10px);box-shadow:0 18px 40px -16px rgba(43,27,0,.8),inset 0 0 0 1px rgba(247,215,116,.25)}
.tl-pill{position:relative;z-index:1;padding:.55rem 1.1rem;border-radius:9999px;font-size:.8rem;font-weight:700;color:rgba(255,236,170,.75);transition:color .3s;white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem}
.tl-pill:hover{color:#fff}.tl-pill.is-on{color:#1d1500}
.tl-pill img{width:20px;height:20px;border-radius:9999px;object-fit:cover;background:#fff}
.tl-indicator{position:absolute;z-index:0;top:.35rem;bottom:.35rem;left:0;border-radius:9999px;background:linear-gradient(135deg,#FFF3C4,#F7D774 45%,#E3B341);box-shadow:0 0 22px rgba(247,215,116,.7),0 0 4px rgba(255,255,255,.8) inset;transition:transform .45s cubic-bezier(.3,.9,.3,1),width .45s cubic-bezier(.3,.9,.3,1)}
.tl-indicator::after{content:'';position:absolute;left:25%;right:25%;top:-5px;height:4px;border-radius:9999px;background:#fff3b0;filter:blur(3px)}

/* partner logo chips in the marquee */
.luxe-chip{display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1.1rem .55rem .55rem;border-radius:9999px;background:rgba(255,250,225,.55);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(122,82,8,.28),0 10px 24px -14px rgba(43,27,0,.6);transition:transform .3s,background .3s,box-shadow .3s;white-space:nowrap}
.luxe-chip:hover{transform:translateY(-3px) scale(1.04);background:#fffbea;box-shadow:inset 0 0 0 1px rgba(184,134,11,.7),0 16px 30px -12px rgba(43,27,0,.7)}
.luxe-chip .lc-logo{width:38px;height:38px;border-radius:9999px;background:#fff;object-fit:cover;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--gold-5);overflow:hidden;box-shadow:0 0 0 2px var(--gold-3)}
.luxe-chip .lc-logo img{width:100%;height:100%;object-fit:cover}

/* carousel track */
.luxe-track{display:flex;gap:1.5rem;overflow-x:auto;padding:1.5rem .25rem 2.5rem;scroll-snap-type:x proximity;scroll-behavior:smooth;cursor:grab;-ms-overflow-style:none;scrollbar-width:none}
.luxe-track::-webkit-scrollbar{display:none}
.luxe-track.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.luxe-track.dragging a,.luxe-track.dragging button{pointer-events:none}
.luxe-prog{height:4px;border-radius:9999px;background:rgba(43,27,0,.25);overflow:hidden}
.luxe-prog>i{display:block;height:100%;width:30%;border-radius:inherit;background:linear-gradient(90deg,#1d1500,#5a3b04);transition:transform .2s,width .2s}
.luxe-nav{width:52px;height:52px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1d1500,#3a2a05);color:var(--gold-2);box-shadow:0 14px 30px -12px rgba(43,27,0,.85),inset 0 0 0 1px rgba(247,215,116,.45);transition:transform .25s,box-shadow .25s,color .25s}
.luxe-nav:hover{transform:scale(1.1);color:#fff;box-shadow:0 18px 40px -10px rgba(43,27,0,.9),0 0 24px rgba(247,215,116,.6)}

/* ---- the premium card ---- */
.luxe-card{flex:0 0 min(86vw,372px);scroll-snap-align:start;perspective:1100px;position:relative}
.luxe-card.is-hidden{display:none}
.luxe-card.pop-in{animation:card-in .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
@keyframes card-in{from{opacity:0;transform:translateY(40px) scale(.94)}to{opacity:1;transform:none}}
.luxe-tilt{position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.luxe-card:hover .luxe-tilt{transition:transform .08s linear}
.luxe-frame{position:relative;border-radius:26px;padding:2px;background:conic-gradient(from var(--angle),#FFF3C4,#B98512,#FFF8D6,#7A5208,#F7D774,#B98512,#FFF3C4);animation:border-spin 7s linear infinite;box-shadow:0 30px 60px -24px rgba(43,27,0,.85),0 0 0 1px rgba(255,243,196,.35)}
@keyframes border-spin{to{--angle:360deg}}
.luxe-card:hover .luxe-frame{animation-duration:2.6s;box-shadow:0 44px 80px -26px rgba(43,27,0,.95),0 0 46px rgba(247,215,116,.55)}
.luxe-inner{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(165deg,#1d2060 0%,#14163f 48%,#0c0d26 100%);color:#fff}
.luxe-inner::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,30%),rgba(255,230,140,.2),transparent 55%)}
.luxe-card:hover .luxe-inner::before{opacity:1}
.luxe-media{position:relative;display:block;height:230px;overflow:hidden;transform:translateZ(30px)}
.luxe-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);transform:scale(1.02)}
.luxe-card:hover .luxe-media img{transform:scale(1.14) translate3d(calc((var(--rx,0) * -6px)),calc((var(--ry,0) * -6px)),0)}
.luxe-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,13,38,.15) 0%,transparent 35%,rgba(12,13,38,.92) 100%)}
.luxe-media .shine{position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 35%,rgba(255,240,180,.45) 50%,transparent 65%);transform:translateX(-130%);pointer-events:none}
.luxe-card:hover .luxe-media .shine{animation:sheen 1.1s ease}
.luxe-ph{display:flex;height:100%;align-items:center;justify-content:center;background:linear-gradient(135deg,#2A2D6E,#181A45);font-size:3rem}
.luxe-ribbon{position:absolute;top:14px;left:-6px;z-index:4;padding:.38rem 1rem .38rem .9rem;background:linear-gradient(135deg,#FFF3C4,#F7D774 40%,#C99A1F);color:#2B1B00;font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;border-radius:0 9999px 9999px 0;box-shadow:0 8px 20px -6px rgba(0,0,0,.6);overflow:hidden}
.luxe-ribbon::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.8) 50%,transparent 70%);transform:translateX(-130%);animation:shimmer 3.2s ease-in-out infinite}
.luxe-status{position:absolute;top:14px;right:14px;z-index:4;padding:.32rem .8rem;border-radius:9999px;background:rgba(12,13,38,.7);backdrop-filter:blur(8px);color:var(--gold-2);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(247,215,116,.45)}
.luxe-dev{position:absolute;left:14px;top:176px;z-index:4;display:flex;align-items:center;gap:.6rem;padding:.3rem .85rem .3rem .3rem;border-radius:9999px;background:rgba(255,248,214,.14);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,243,196,.45);transition:transform .3s,background .3s}
.luxe-dev:hover{transform:translateX(4px);background:rgba(255,248,214,.28)}
.luxe-dev .ld-logo{width:32px;height:32px;border-radius:9999px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--gold-5);font-size:.8rem}
.luxe-dev .ld-logo img{width:100%;height:100%;object-fit:cover}
.luxe-body{position:relative;padding:1.25rem 1.4rem .6rem;transform:translateZ(20px)}
.luxe-price{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1.65rem;line-height:1.1;background:linear-gradient(100deg,#FFF3C4 0%,#F7D774 35%,#fff 50%,#F7D774 65%,#E3B341 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:grad-pan 5s linear infinite}
.luxe-card h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.08rem;line-height:1.3;margin-top:.35rem;color:#fff;transition:color .3s}
.luxe-card:hover h3{color:var(--gold-1)}
.luxe-loc{font-size:.82rem;color:rgba(255,255,255,.62);margin-top:.25rem}
.luxe-specs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.luxe-specs span{font-size:.72rem;font-weight:700;padding:.32rem .65rem;border-radius:9999px;color:var(--gold-1);background:rgba(247,215,116,.1);box-shadow:inset 0 0 0 1px rgba(247,215,116,.28)}
.luxe-cta{display:flex;gap:.6rem;padding:1rem 1.4rem 1.1rem;transform:translateZ(26px)}
.luxe-btn{position:relative;overflow:hidden;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.78rem 1rem;border-radius:14px;font-size:.82rem;font-weight:800;background:linear-gradient(135deg,#FFF3C4,#F7D774 45%,#E3B341);color:#2B1B00;box-shadow:0 12px 26px -10px rgba(227,179,65,.7);transition:transform .25s,box-shadow .25s}
.luxe-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(247,215,116,.9)}
.luxe-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);transform:translateX(-130%);animation:shimmer 3.4s ease-in-out infinite}
.luxe-btn.ghost{flex:0 0 auto;background:transparent;color:var(--gold-2);box-shadow:inset 0 0 0 1.5px rgba(247,215,116,.55)}
.luxe-btn.ghost::after{display:none}
.luxe-btn.ghost:hover{background:rgba(247,215,116,.14);color:#fff}
.luxe-wa{flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#25D366;color:#fff;box-shadow:0 12px 24px -10px rgba(37,211,102,.7);transition:transform .25s}
.luxe-wa:hover{transform:translateY(-2px) rotate(-6deg) scale(1.06)}
.luxe-contact{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem 1.4rem;font-size:.74rem;color:rgba(255,243,196,.8);background:linear-gradient(90deg,rgba(247,215,116,.14),rgba(247,215,116,.04));border-top:1px solid rgba(247,215,116,.2)}
.luxe-contact a{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--gold-2)}
.luxe-contact a:hover{color:#fff}
.luxe-cta-main{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.7rem;border-radius:9999px;font-weight:800;background:linear-gradient(135deg,#1d1500,#3a2a05);color:var(--gold-2);box-shadow:0 18px 40px -14px rgba(43,27,0,.9),inset 0 0 0 1px rgba(247,215,116,.5);transition:box-shadow .3s,color .3s,transform .25s}
.luxe-cta-main:hover{color:#fff;box-shadow:0 22px 50px -12px rgba(43,27,0,1),0 0 34px rgba(247,215,116,.6),inset 0 0 0 1px rgba(247,215,116,.9)}
.luxe-cta-alt{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:9999px;font-weight:800;color:#2B1B00;box-shadow:inset 0 0 0 2px rgba(43,27,0,.7);transition:background .3s,color .3s}
.luxe-cta-alt:hover{background:#2B1B00;color:var(--gold-2)}

/* gold hero banner for the developers pages */
.luxe-hero{position:relative;isolation:isolate;overflow:hidden;background:
  radial-gradient(900px 420px at 15% 0%,rgba(255,250,222,.9),transparent 60%),
  linear-gradient(135deg,#8a5d08,#d6a123 30%,#f4d675 52%,#c58f17 76%,#6f4905)}

/* developer profile */
.dev-cover{position:relative;background:linear-gradient(135deg,#181A45,#4246A9);overflow:hidden}
.dev-logo-ring{padding:4px;border-radius:9999px;background:conic-gradient(from var(--angle),#FFF3C4,#B98512,#FFF8D6,#7A5208,#F7D774,#FFF3C4);animation:border-spin 6s linear infinite}

/* upload dropzone + previews (account / admin forms) */
.dropzone{border:2px dashed rgba(66,70,169,.35);border-radius:18px;background:linear-gradient(135deg,rgba(66,70,169,.04),rgba(240,126,0,.05));transition:border-color .25s,background .25s,transform .25s;cursor:pointer}
.dropzone.drag,.dropzone:hover{border-color:var(--ce-orange);background:rgba(240,126,0,.07);transform:scale(1.005)}
.thumb-tile{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--ce-mist);box-shadow:0 8px 20px -10px rgba(24,26,69,.5);animation:card-in .5s both}
.thumb-tile img{width:100%;height:100%;object-fit:cover}

/* gallery */
.gallery-thumb{border:2px solid transparent;transition:border-color .2s,transform .2s,opacity .2s;opacity:.75;cursor:pointer}
.gallery-thumb:hover{opacity:1;transform:translateY(-2px)}
.gallery-thumb.is-on{border-color:var(--ce-orange);opacity:1}

/* floating whatsapp */
.wa-float{animation:wa-pulse 2.6s infinite}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* faq accordion */
details.faq>summary{list-style:none;cursor:pointer}
details.faq>summary::-webkit-details-marker{display:none}
details.faq[open] .faq-ico{transform:rotate(45deg)}
.faq-ico{transition:transform .3s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
  .luxe-title .w{opacity:1;transform:none}
}

.tl-tabs::-webkit-scrollbar{display:none}.tl-tabs>*{flex:none;white-space:nowrap}
