/* =====================================================================
   Site em 5 Dias — "Futuristic Luxury Digital Studio" (camada v5)
   Cenas 3D pré-renderizadas (raymarching próprio, sem WebGL no navegador)
   com capturas reais dos projetos nas telas.
   ===================================================================== */

.dev[data-scene] { aspect-ratio: 4 / 3; }
.dev[data-scene] .dev__floor { opacity: .7; background:
  radial-gradient(30% 14% at 50% 82%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%); }
.dev[data-scene="hero"] { -webkit-mask-image: radial-gradient(50% 50% at 50% 47%, #000 72%, transparent 100%); mask-image: radial-gradient(50% 50% at 50% 47%, #000 72%, transparent 100%); }
.dev[data-scene="tablet"], .dev[data-scene="duo"] { -webkit-mask-image: radial-gradient(50% 50% at 50% 50%, #000 70%, transparent 100%); mask-image: radial-gradient(50% 50% at 50% 50%, #000 70%, transparent 100%); }
.dev[data-scene] .dev__scr img { filter: none; }
.dev[data-scene] [data-q="s"] img, .dev[data-scene] [data-q="l"] img, .dev[data-scene] [data-q="m"] img { object-position: left top; }

/* ---------- HOME ---------- */
.hero4__bg { background:
  radial-gradient(40% 50% at 74% 44%, rgba(135, 91, 255, .22), transparent 70%),
  radial-gradient(34% 40% at 92% 20%, rgba(190, 80, 255, .10), transparent 70%),
  radial-gradient(36% 40% at 52% 92%, rgba(71, 123, 255, .12), transparent 70%),
  linear-gradient(180deg, #07090F, #090D16 70%); }
.hero4__bg::after { background-size: 96px 96px; opacity: .8; }
.hero5__show { position: relative; isolation: isolate; }
.hero5__halo { position: absolute; z-index: -1; left: 6%; right: -4%; top: 8%; bottom: 22%; pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(135, 91, 255, .26), rgba(71, 123, 255, .08) 55%, transparent 75%); filter: blur(10px); }
.hero5__show .hero5__dev { width: 110%; margin: -10% -6% -7% -4%; }
.hero5__show .now5 { margin-top: -2%; }
@media (prefers-reduced-motion: no-preference) {
  .hero5__show .hero5__dev { animation: hover5 9s ease-in-out infinite; }
  @keyframes hover5 { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
}
@media (max-width: 1100px) {
  .hero5__show .hero5__dev { width: 112%; margin: -6% -6% -6% -6%; }
}
@media (max-width: 760px) {
  .hero5__show .hero5__dev { width: 128%; margin: -4% -14% -8% -14%; }
  .hero5__halo { top: 0; bottom: 30%; }
}

/* ---------- PORTFÓLIO: fileiras de 3, do plano mais acessível ao mais exclusivo ---------- */
.port5 { position: relative; overflow: clip; background:
  radial-gradient(40% 30% at 10% 12%, rgba(71, 123, 255, .08), transparent 70%),
  radial-gradient(40% 30% at 90% 40%, rgba(135, 91, 255, .10), transparent 70%),
  #07090F; }
.lx-bar { margin: clamp(32px, 4vw, 56px) 0 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.lx-index { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.lx-index a { display: inline-flex; align-items: baseline; gap: 8px; color: var(--muted); text-decoration: none; font: 500 13.5px/2 var(--sans); transition: color .25s; }
.lx-index a span { font: 500 10.5px var(--mono); color: color-mix(in srgb, var(--accent) 80%, #fff); }
.lx-index a:hover, .lx-index a:focus-visible { color: var(--ice); }
.lx-index .is-hidden, .launches .is-hidden { display: none !important; }

.launches { display: flex; flex-direction: column; gap: clamp(44px, 5vw, 72px); margin-top: clamp(28px, 4vw, 48px); }
.lx-group__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-bottom: 20px; }
.lx-group__title { font: 800 clamp(26px, 2.4vw, 34px)/1 var(--display); letter-spacing: -.035em; }
.lx-group--premium .lx-group__title { background: linear-gradient(100deg, #7FA0FF, #B69CFF); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lx-group__sub { font: 500 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }
.lx-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); }

.launch { position: relative; display: flex; flex-direction: column; min-width: 0; border-radius: 22px; isolation: isolate; scroll-margin-top: 90px;
  background: linear-gradient(180deg, rgba(23, 28, 48, .92), rgba(11, 14, 26, .96)); border: 1px solid rgba(143, 174, 255, .14);
  box-shadow: 0 24px 60px -36px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .05); transition: transform .5s var(--ease-out), border-color .4s, box-shadow .5s; }
.launch::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, color-mix(in srgb, var(--accent) 70%, transparent), transparent 35%, transparent 65%, rgba(135, 91, 255, .7));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .35; transition: opacity .4s; }
.launch:hover { transform: translateY(-4px); box-shadow: 0 30px 70px -34px rgba(135, 91, 255, .45), inset 0 1px 0 rgba(255, 255, 255, .06); }
.launch:hover::before { opacity: .9; }
.launch--premium { background: linear-gradient(180deg, rgba(30, 24, 58, .92), rgba(12, 11, 28, .96)); }
.launch__visual { position: relative; overflow: hidden; border-radius: 21px 21px 0 0; }
.launch__visual::before { content: ""; position: absolute; z-index: -1; inset: 18% 14% 8%; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--accent) 24%, transparent), rgba(135, 91, 255, .10) 60%, transparent); filter: blur(18px); }
.launch__visual .dev { width: 114%; margin: -8% -7% -10%; }
.launch__ghost { position: absolute; z-index: 3; top: 14px; left: 16px; font: 500 11px/1 var(--mono); letter-spacing: .1em; color: color-mix(in srgb, var(--accent) 75%, #fff); padding: 6px 9px; border-radius: 8px; background: rgba(7, 9, 15, .6); border: 1px solid rgba(255, 255, 255, .08); }
.launch__info { position: relative; z-index: 2; display: flex; flex-direction: column; flex: 1; padding: 4px 22px 22px; }
.launch__k { display: none; }
.launch__name { margin: 0 0 4px; color: var(--ice); text-wrap: balance; }
.launch__name--serif { font: italic 500 clamp(28px, 2.3vw, 36px)/1 "Cormorant Garamond", Georgia, serif; }
.launch__name--grot { font: 800 clamp(23px, 1.9vw, 28px)/1.05 var(--display); letter-spacing: -.035em; }
.launch__name--cond { font: 400 clamp(28px, 2.4vw, 36px)/1 "Anton", Impact, sans-serif; text-transform: uppercase; letter-spacing: .01em; }
.launch__seg { font: 600 13.5px/1.4 var(--sans); color: color-mix(in srgb, var(--accent) 70%, #fff); }
.launch__desc { margin-top: 10px; font-size: 14.5px; line-height: 1.55; color: #AEB6CF; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.launch__meta { margin-top: auto; padding-top: 16px; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.launch__meta p { min-width: 0; }
.launch__meta small { display: block; font: 500 10px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--soft); margin-bottom: 5px; }
.launch__price strong { font: 800 20px/1 var(--display); letter-spacing: -.03em; color: var(--ice); white-space: nowrap; }
.launch__host { text-align: right; }
.launch__host span { display: block; font: 500 11.5px/1.3 var(--mono); color: #9FA8C4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.launch__acts { margin-top: 16px; display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.launch__acts .pill { width: 100%; }
.launch__style { align-self: center; font: 600 14px/1.4 var(--sans); color: #B9C8FF; text-decoration: none; padding: 4px 6px; border-radius: 8px; }
.launch__style:hover, .launch__style:focus-visible { color: var(--ice); text-decoration: underline; text-underline-offset: 4px; }

.lx-soon { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 8px; min-height: 100%; padding: 28px 24px; border-radius: 22px; border: 1px dashed rgba(143, 174, 255, .28);
  background: radial-gradient(70% 50% at 50% 30%, rgba(135, 91, 255, .12), transparent 70%), rgba(11, 14, 26, .7); }
.lx-soon .gsoon__tag { align-self: flex-start; }
.lx-soon__name { margin-top: 10px; font: 800 30px/1 var(--display); letter-spacing: .02em; color: var(--ice); }
.lx-soon__seg { font: 600 13.5px var(--sans); color: #B9A8FF; }
.lx-soon__txt { color: var(--muted); font-size: 14.5px; max-width: 32ch; }

@media (max-width: 1100px) {
  .lx-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-index { display: none; }
}
@media (max-width: 680px) {
  .lx-row { grid-template-columns: minmax(0, 1fr); }
  .lx-bar .filters { display: grid; grid-template-columns: 1fr 1fr; width: 100%; border-radius: 22px; }
  .lx-bar .filter { justify-content: center; padding: 0 12px; }
  .launch__info { padding: 2px 18px 20px; }
}
@media (prefers-reduced-motion: reduce) { .hero5__show .hero5__dev { animation: none !important; } .launch, .launch:hover { transform: none; } }

/* ---------- Marca ---------- */
.brand__logo { display: block; height: 40px; width: auto; }
.footer__logo { display: block; height: 44px; width: auto; margin-bottom: 18px; }
@media (max-width: 600px) { .brand__logo { height: 30px; } }
