:root {
  --ink: #090a0c;
  --paper: #f3efe7;
  --cream: #fffaf0;
  --coral: #ff6542;
  --acid: #dfff69;
  --cyan: #19c4cf;
  --gold: #e6b872;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", sans-serif;
  --header: 86px;
  --header-compact: 64px;
  --scene: calc(100svh - var(--header-compact));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; overflow-x: hidden; background: var(--ink); color: white; font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
em { color: var(--coral); font-weight: 500; }
img { display: block; }
.skip { position: fixed; z-index: 999; left: 16px; top: -60px; padding: 12px 16px; background: var(--acid); color: var(--ink); }
.skip:focus { top: 12px; }
.jump-dock { position: fixed; z-index: 170; right: 20px; bottom: 84px; display: grid; gap: 8px; justify-items: end; }
.jump-dock button { display: flex; align-items: center; gap: 0; height: 38px; padding: 0; overflow: hidden; border: 1px solid #ffffff2e; border-radius: 999px; background: #0b0d10c4; backdrop-filter: blur(16px); color: white; cursor: pointer; opacity: 0; transform: translateY(10px) scale(.9); pointer-events: none; transition: opacity .4s ease, transform .5s cubic-bezier(.16,1,.3,1), border-color .3s ease, background .3s ease; }
.jump-dock button.on { opacity: 1; transform: none; pointer-events: auto; }
.jump-dock button i { flex: 0 0 36px; display: grid; place-items: center; font-style: normal; font-size: 14px; }
.jump-dock button span { max-width: 0; white-space: nowrap; font-size: 9px; font-weight: 700; letter-spacing: .08em; opacity: 0; transition: max-width .45s cubic-bezier(.16,1,.3,1), opacity .3s ease, padding .45s cubic-bezier(.16,1,.3,1); }
.jump-dock button:hover, .jump-dock button:focus-visible { border-color: #ffffff5e; background: #0b0d10ee; }
.jump-dock button:hover span, .jump-dock button:focus-visible span { max-width: 130px; padding-right: 15px; opacity: 1; }
#jump-skip i { color: var(--acid); }
#jump-skip.on i { animation: jumpPulse 2.4s ease-in-out infinite; }
#jump-top i { color: var(--coral); }
.mobile-scroll-cue { display: none; }
.page-progress { position: fixed; z-index: 180; left: 0; right: 0; top: 0; height: 2px; background: #ffffff10; }
.page-progress i { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--cyan), var(--coral), var(--gold)); }

.site-header { position: fixed; z-index: 160; inset: 0 0 auto; height: var(--header); display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 4vw, 76px); background: linear-gradient(#08090cd6, #08090c4d 62%, transparent); transition: .35s ease; }
.site-header.scrolled { height: 64px; background: #090a0de8; backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 7px; font-size: 20px; font-weight: 700; letter-spacing: -.05em; }
.brand-dot { color: var(--coral); }
.logo-crop { width: 34px; height: 34px; overflow: hidden; border-radius: 9px; }
.logo-crop img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.15); }
.site-header nav { display: flex; align-items: center; gap: 30px; font-size: 12px; font-weight: 600; }
.header-link { opacity: .74; transition: opacity .25s ease; }
.header-link:hover { opacity: 1; }
.header-cta { padding: 12px 17px; border: 1px solid #ffffff52; border-radius: 999px; }
.header-cta span { margin-left: 8px; color: var(--acid); }
.grain { position: absolute; inset: 0; pointer-events: none; opacity: .09; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.kicker { margin: 0; color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.kicker.dark { color: #9a4f38; }
.pulse { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 0 #dfff6999; animation: pulse 2s infinite; }
.story-number { display: flex; align-items: center; gap: 12px; margin: 0; color: #ffffffa6; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.story-number span { color: var(--coral); font: 500 30px/1 var(--serif); letter-spacing: 0; }

.hero-scroll { position: relative; height: 168vh; min-height: 980px; }
.hero-stage { position: sticky; top: 0; height: 100svh; min-height: 650px; overflow: hidden; isolation: isolate; cursor: crosshair; background: #151412; }
.hero-before, .hero-reveal { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-before { object-fit: cover; }
.hero-reveal { z-index: 2; pointer-events: none; }
.hero-shade { position: absolute; z-index: 3; inset: 0; pointer-events: none; background: linear-gradient(90deg, #060709d9 0%, #06070961 44%, transparent 76%), linear-gradient(0deg, #060709a8 0%, transparent 42%, #06070945); }
.hero-stage .grain { z-index: 4; }
.hero-copy { position: absolute; z-index: 6; left: clamp(34px, 6vw, 112px); right: 7vw; top: 48%; transform: translateY(-50%); }
.hero-copy h1 { max-width: 1040px; margin: 18px 0 12px; font: 500 clamp(58px, 6.35vw, 108px)/.82 var(--serif); letter-spacing: -.055em; }
.hero-copy h1 > span { display: block; }
.hero-copy > p:last-child { max-width: 520px; margin: 0; color: #ffffffc2; font-size: clamp(14px, 1.05vw, 17px); line-height: 1.55; }
.hero-instruction { position: absolute; z-index: 8; left: clamp(34px, 6vw, 112px); bottom: 6vh; min-width: 292px; display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 12px 20px 14px 12px; border: 1px solid #ffffff33; border-radius: 22px; background: #0b0d10bd; backdrop-filter: blur(18px); overflow: hidden; transition: .4s cubic-bezier(.16,1,.3,1); }
.hero-instruction:hover, .hero-instruction:focus-visible { border-color: #ffffff70; background: #0b0d10ee; transform: translateY(-2px); }
.hero-instruction .play-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--coral); color: white; font-size: 15px; box-shadow: 0 6px 20px #ff654247; }
.hero-instruction-go { color: var(--acid); font-size: 13px; }
.hero-instruction > span:nth-child(2) { display: grid; gap: 4px; }
.hero-instruction small { color: var(--gold); font-size: 7px; letter-spacing: .16em; }
.hero-instruction b { font: 500 18px/1 var(--serif); }
.hero-instruction > i { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--cyan), var(--coral), var(--acid)); }
.hero-phase { position: absolute; z-index: 6; right: 4vw; top: 50%; display: flex; align-items: center; gap: 13px; transform: rotate(90deg) translateX(50%); transform-origin: right center; font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.hero-phase i { width: 92px; height: 1px; background: linear-gradient(90deg, var(--coral), var(--acid)); }
.illustrative { position: absolute; z-index: 6; right: 3vw; bottom: 25px; margin: 0; color: #ffffff78; font-size: 8px; }

/* The product tour is the page's narrative spine. One room stays continuous while
   the phone advances from capture to execution. */
.product-tour { position: relative; height: 3200vh; background: #090a0c; }
.tour-stage { position: sticky; top: var(--header-compact); height: var(--scene); min-height: 586px; overflow: hidden; isolation: isolate; background: #0a0b0d; }
.tour-plates { position: absolute; inset: 0; }
.tour-plate { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.045); animation: plateDrift 19s ease-in-out infinite alternate; transition: opacity .9s cubic-bezier(.4,0,.2,1); }
.tour-plate.active { opacity: 1; }
.tour-curtain { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.tour-shade { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, #060709f2 0%, #060709df 33%, #0607097a 56%, #060709cc 100%), linear-gradient(0deg, #060709c4, transparent 46%, #06070982); transition: opacity .8s ease; }
.product-tour[data-active-step="2"] .tour-shade { opacity: .82; }
.tour-stage .grain { z-index: 4; opacity: .022; }
.tour-hex { z-index: 3; opacity: .72; }
.stage-flash { position: absolute; z-index: 6; inset: 0; background: radial-gradient(circle at 74% 50%, #fff, #fff 45%, #ffffffcc); opacity: 0; pointer-events: none; }
.stage-flash.firing { animation: stageFlash .5s ease-out; }

.tour-context-panel { position: absolute; z-index: 7; left: clamp(34px, 6vw, 112px); top: 4.2vh; width: min(680px, 40vw); padding-top: 11px; border-top: 1px solid #ffffff2e; }
.tour-context-panel header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.tour-context-panel > header small { color: #ffffff5c; font-size: 6px; font-weight: 700; letter-spacing: .2em; }
.tour-context-panel > header em { color: var(--gold); font: 700 6px/1 var(--sans); font-style: normal; letter-spacing: .18em; }
.context-meter { display: block; height: 1px; margin-top: 9px; background: #ffffff1c; }
.context-meter b { display: block; height: 100%; width: 100%; transform: scaleX(.14); transform-origin: left; background: linear-gradient(90deg, var(--cyan), var(--coral), var(--acid)); transition: transform .6s cubic-bezier(.16,1,.3,1); }
.tour-context-panel > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 13px; }
.tour-context-panel span { display: grid; gap: 3px; }
.tour-context-panel b { color: #ffffffd2; font: 500 21px/1 var(--serif); }
.tour-context-panel i { color: #ffffff47; font: 600 6px/1 var(--sans); letter-spacing: .12em; }
.tour-context-panel > p { max-width: 430px; margin: 12px 0 0; color: #ffffff70; font-size: 8.5px; line-height: 1.5; }

.tour-copy { position: absolute; z-index: 7; left: clamp(34px, 6vw, 112px); top: 48%; width: min(590px, 40vw); transform: translateY(-50%); transition: opacity .65s ease, transform .8s cubic-bezier(.16,1,.3,1); }
.tour-copy .story-number b { font: inherit; }
.tour-copy > small { display: block; margin: 30px 0 12px; color: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .19em; }
.tour-copy h2 { margin: 0; font: 500 clamp(50px, 5.35vw, 88px)/.87 var(--serif); letter-spacing: -.055em; }
.tour-copy > p:not(.story-number):not(.tour-instruction) { max-width: 500px; margin: 18px 0 0; color: #ffffffa5; font-size: 13px; line-height: 1.65; }
.tour-rail { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; max-width: 570px; margin-top: 36px; }
.tour-rail button { position: relative; min-width: 0; padding: 12px 4px 0; border: 0; border-top: 1px solid #ffffff25; background: transparent; color: #ffffff55; cursor: pointer; text-align: left; font-size: 7px; font-weight: 700; letter-spacing: .08em; transition: color .35s ease; }
.tour-rail button i { position: absolute; left: 0; top: -3px; width: 5px; height: 5px; border-radius: 50%; background: #ffffff38; transition: .35s ease; }
.tour-rail button.active { color: white; }
.tour-rail button.active i { background: var(--acid); box-shadow: 0 0 0 5px #dfff6918, 0 0 18px #dfff6990; }
.tour-instruction { display: none; }

.tour-signal-panel { position: absolute; z-index: 7; left: clamp(34px, 6vw, 112px); bottom: 4.2vh; width: min(560px, 36vw); transition: opacity .65s ease, transform .8s cubic-bezier(.16,1,.3,1); }
.signal-deck { display: flex; align-items: flex-end; gap: 6px; }
.signal-deck span { position: relative; flex: 1; display: grid; justify-items: center; gap: 2px; padding-bottom: 6px; opacity: .46; filter: grayscale(.6); transition: .5s cubic-bezier(.16,1,.3,1); }
.signal-deck span:after { content: ''; position: absolute; left: 22%; right: 22%; bottom: 0; height: 1px; background: var(--coral); transform: scaleX(0); transition: transform .45s cubic-bezier(.16,1,.3,1); }
.signal-deck img { width: 52px; height: 52px; object-fit: contain; filter: drop-shadow(0 8px 11px #0009); transition: .5s cubic-bezier(.16,1,.3,1); }
.signal-deck em { color: #ffffff7a; font: 700 6px/1 var(--sans); font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.signal-deck span.active { opacity: 1; filter: none; }
.signal-deck span.active:after { transform: scaleX(1); }
.signal-deck span.active img { transform: translateY(-4px) scale(1.1); filter: drop-shadow(0 13px 16px #0009) drop-shadow(0 0 16px #ff654240); }
.signal-deck span.active em { color: white; }
.tour-instruction span { color: var(--acid); font-size: 16px; }
.product-tour[data-active-step="1"] .signal-deck span.active img { animation: iconPulse 2.4s ease-in-out infinite; }
.phone-theater { position: absolute; z-index: 8; right: clamp(55px, 8.6vw, 160px); top: 50%; height: min(640px, calc(var(--scene) - 104px)); aspect-ratio: .49; opacity: 0; transform: translate(min(36vw, 500px), -50%) rotate(5deg); filter: blur(9px); transition: opacity .8s ease, filter .8s ease, transform 1.25s cubic-bezier(.16,1,.3,1); }
.product-tour.stage-live .phone-theater { opacity: 1; filter: none; transform: translate(0, -50%) rotate(0); }
.phone-theater > p { position: absolute; left: 50%; top: -14px; width: max-content; margin: 0; transform: translate(-50%, -100%); color: #ffffff60; font-size: 7px; font-weight: 700; letter-spacing: .18em; }
.phone-theater > p span { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 14px var(--acid); }
.phone-shell { position: absolute; z-index: 2; inset: 0; overflow: hidden; border: 7px solid #1a1b1e; border-radius: 50px; background: #07080a; box-shadow: inset 0 0 0 1px #ffffff23, 0 35px 100px #000c, 0 0 0 1px #000; }
.phone-speaker { position: absolute; z-index: 30; left: 50%; top: 9px; width: 31%; height: 20px; transform: translateX(-50%); border-radius: 20px; background: #07080a; }
.phone-status { position: absolute; z-index: 28; left: 19px; right: 19px; top: 10px; display: flex; justify-content: space-between; color: white; font-size: 7px; }
.phone-status b { font-size: 5px; letter-spacing: 2px; }
.phone-screens { position: absolute; inset: 0; overflow: hidden; border-radius: 42px; }
.phone-screen { position: absolute; inset: 0; overflow: hidden; opacity: 0; transform: translateY(26px) scale(.975); pointer-events: none; transition: opacity .55s ease, transform .7s cubic-bezier(.16,1,.3,1); }
.phone-screen.active { opacity: 1; transform: none; pointer-events: auto; }
.phone-screen header { position: absolute; z-index: 5; left: 18px; right: 18px; top: 39px; display: flex; align-items: center; justify-content: space-between; }
.phone-screen header b { font: 600 17px/1.05 var(--serif); }
.phone-screen header small { color: var(--coral); font-size: 6px; font-weight: 700; letter-spacing: .15em; }
.phone-home { position: absolute; z-index: 31; left: 50%; bottom: 8px; width: 30%; height: 3px; transform: translateX(-50%); border-radius: 4px; background: #ffffffc4; }
.phone-glow { position: absolute; z-index: 0; inset: 17% -35%; border-radius: 50%; background: radial-gradient(circle, #ff654234, #19c4cf12 45%, transparent 72%); filter: blur(25px); animation: phoneGlow 5s ease-in-out infinite; }
.ghost-tap { position: absolute; z-index: 20; width: 22px; height: 22px; border: 1px solid #fff; border-radius: 50%; background: #ffffff24; box-shadow: 0 0 0 0 #fff8; animation: ghostTap 2.2s ease-in-out infinite; }
.capture-viewfinder { position: absolute; inset: 0; overflow: hidden; }
.capture-viewfinder img { width: 100%; height: 100%; object-fit: cover; }
.screen-capture.active .capture-viewfinder { animation: handheld 7.4s ease-in-out infinite; }
.screen-capture.active .capture-viewfinder img { animation: cameraBreath 6.5s ease-in-out infinite alternate; }
.screen-realize > img { width: 100%; height: 100%; object-fit: cover; }
.capture-shade { position: absolute; inset: 0; background: linear-gradient(#0008, transparent 28%, transparent 58%, #000d); }
.screen-capture header { color: white; }
.screen-capture header span { font-size: 20px; }
.capture-readout { position: absolute; z-index: 5; left: 18px; right: 18px; top: 62px; display: flex; gap: 6px; color: #ffffffa8; font-size: 5px; font-weight: 700; letter-spacing: .12em; }
.capture-readout span { padding: 3px 6px; border-radius: 999px; background: #0a0b0d75; backdrop-filter: blur(6px); }
.capture-readout .live { color: var(--acid); }
.capture-readout .live:before { content: ""; display: inline-block; width: 4px; height: 4px; margin-right: 4px; border-radius: 50%; background: var(--acid); animation: pulse 2s infinite; }
.screen-capture.shooting .capture-frame { animation: frameSettle .58s ease-out; }
.capture-frame { position: absolute; z-index: 4; inset: 23% 10% 28%; display: grid; place-items: center; color: #ffffffb0; font-size: 8px; }
.capture-frame i { position: absolute; width: 26px; height: 26px; border-color: var(--acid); border-style: solid; }
.capture-frame i:nth-child(1) { left: 0; top: 0; border-width: 1px 0 0 1px; }
.capture-frame i:nth-child(2) { right: 0; top: 0; border-width: 1px 1px 0 0; }
.capture-frame i:nth-child(3) { right: 0; bottom: 0; border-width: 0 1px 1px 0; }
.capture-frame i:nth-child(4) { left: 0; bottom: 0; border-width: 0 0 1px 1px; }
.screen-capture footer { position: absolute; z-index: 5; left: 20px; right: 20px; bottom: 35px; display: flex; align-items: center; justify-content: space-between; color: #ffffff9d; font-size: 7px; }
.screen-capture footer button { width: 58px; height: 58px; border: 2px solid white; border-radius: 50%; background: #ffffff1c; box-shadow: inset 0 0 0 4px #0007; }
.tap-camera { left: calc(50% - 11px); bottom: 53px; }
.screen-direction { padding: 86px 18px 22px; background: #f0ece3; color: #161616; }
.screen-direction header { display: grid; justify-content: start; gap: 7px; }
.tap-category { left: 66px; top: 130px; }
.capture-flash { position: absolute; z-index: 19; inset: 0; background: white; opacity: 0; pointer-events: none; }
.screen-capture.shooting .capture-flash { animation: captureFlash .5s ease-out; }
.phone-category-stack { height: 100%; display: grid; gap: 7px; overflow: hidden; }
.phone-category-stack button { position: relative; min-height: 0; overflow: hidden; padding: 0; border: 1px solid #17171718; border-radius: 13px; background: #171717; color: white; text-align: left; }
.phone-category-stack button > span { position: absolute; inset: 0; }
.phone-category-stack button:before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(transparent 34%, #0b0b0bd9 88%); }
.phone-category-stack button > span img { position: absolute; inset: 0; }
.phone-category-stack button > span img + img { animation: cardWipe 6.4s ease-in-out infinite; }
.phone-category-stack button > span u { position: absolute; z-index: 2; top: 0; bottom: 0; width: 1px; background: #ffffffd6; box-shadow: 0 0 10px #0007; animation: cardWipeLine 6.4s ease-in-out infinite; }
.phone-category-stack button > span u:after { content: '↔'; position: absolute; left: 50%; top: 7px; display: grid; place-items: center; width: 17px; height: 17px; transform: translateX(-50%); border-radius: 50%; background: #fff; color: #111; font-size: 7px; }
.phone-category-stack button:nth-child(2) > span img + img, .phone-category-stack button:nth-child(2) > span u { animation-delay: -1.1s; }
.phone-category-stack button:nth-child(3) > span img + img, .phone-category-stack button:nth-child(3) > span u { animation-delay: -2.2s; }
.phone-category-stack button:nth-child(4) > span img + img, .phone-category-stack button:nth-child(4) > span u { animation-delay: -3.3s; }
.phone-category-stack button:nth-child(5) > span img + img, .phone-category-stack button:nth-child(5) > span u { animation-delay: -4.4s; }
.phone-category-stack button img { width: 100%; height: 100%; object-fit: cover; }
.phone-category-stack button small, .phone-category-stack button b, .phone-category-stack button > i { position: absolute; z-index: 2; }
.phone-category-stack button small { left: 9px; bottom: 24px; color: #ffffffb5; font-size: 4.5px; font-weight: 700; letter-spacing: .1em; }
.phone-category-stack button b { left: 9px; bottom: 6px; font: 600 15px/1 var(--serif); text-shadow: 0 2px 10px #000a; }
.phone-category-stack button > i { right: 10px; bottom: 9px; font-style: normal; }
.phone-category-stack button.selected { border-color: var(--coral); box-shadow: inset 0 0 0 1px var(--coral); }
.phone-category-stack button.selected:after { content: ''; position: absolute; z-index: 3; inset: 0; border: 1px solid var(--coral); border-radius: inherit; animation: selectedGlow 1.5s ease-in-out infinite; }
.tap-category { left: 58px; top: 118px; }
.screen-results { padding: 91px 12px 64px; background: #0d0e10; }
.results-loading { position: absolute; z-index: 20; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; background: #0d0e10; text-align: center; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .4s ease, visibility .4s; }
.screen-results.loading .results-loading { opacity: 1; visibility: visible; }
.results-loading i { width: 48px; height: 48px; border: 1px solid #ffffff26; border-top-color: var(--acid); border-radius: 50%; animation: orbit .9s linear infinite; }
.results-loading b { margin-top: 8px; font: 500 15px/1 var(--serif); }
.results-loading span { color: #ffffff60; font-size: 6px; letter-spacing: .12em; }
.screen-results header { display: grid; justify-content: start; gap: 7px; }
.phone-results-grid { height: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.phone-results-grid button { position: relative; overflow: hidden; padding: 0; border: 1px solid transparent; border-radius: 13px; background: #151515; }
.phone-results-grid button.selected { border-color: var(--coral); }
.phone-results-grid button.chosen { box-shadow: 0 0 0 1px var(--coral), 0 0 26px #ff654255; animation: chosenPop .6s cubic-bezier(.16,1,.3,1); }
.phone-results-grid button span { opacity: 0; transition: opacity .3s ease; }
.phone-results-grid button.chosen span { opacity: 1; }
.phone-results-grid img { width: 100%; height: 100%; object-fit: cover; }
.phone-results-grid i { position: absolute; left: 8px; bottom: 7px; color: var(--coral); font: 500 17px/1 var(--serif); }
.phone-results-grid span { position: absolute; right: 8px; top: 7px; color: var(--coral); }
.screen-results footer { position: absolute; left: 15px; right: 15px; bottom: 23px; display: flex; align-items: center; justify-content: space-between; }
.screen-results footer b { font: 500 14px/1 var(--serif); }
.screen-results footer span { color: var(--acid); font-size: 6px; letter-spacing: .12em; }
.tap-result { left: 60px; top: 180px; }
.screen-items { background: #161616; }
.items-room { width: 100%; height: 70%; object-fit: cover; }
.screen-items:after { content: ''; position: absolute; inset: 0; background: linear-gradient(#0007, transparent 38%, #0009 68%, #000); pointer-events: none; }
.screen-items header { color: white; }
.screen-items header span { font-size: 18px; }
.phone-hotspot { position: absolute; z-index: 6; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: var(--acid); color: #0a0b0d; font-size: 8px; font-weight: 800; box-shadow: 0 0 0 5px #dfff6924; }
.phone-hotspot { opacity: 0; transform: translate(-50%, -50%) scale(.35); transition: opacity .45s ease, transform .55s cubic-bezier(.16,1,.3,1); }
.phone-hotspot.in { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.phone-hotspot.sofa { left: 76%; top: 47%; }
.phone-hotspot.mesa { left: 45%; top: 57%; }

.phone-item-sheet { position: absolute; z-index: 8; left: 9px; right: 9px; bottom: 16px; padding: 13px; border-radius: 23px; background: #f0ece4; color: #171717; box-shadow: 0 20px 70px #0009; }
.phone-item-sheet > small { color: #a34c38; font-size: 5px; font-weight: 700; letter-spacing: .14em; }
.search-scope { display: flex; margin: 7px 0 0; position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.search-scope > span { display: flex; flex: 0 0 auto; gap: 4px; padding-right: 4px; animation: storeMarquee 19s linear infinite; }
.search-scope b { flex: 0 0 auto; padding: 4px 8px; border: 1px solid #93c02b5e; border-radius: 999px; background: #dfff694d; color: #43590f; font: 700 5.2px/1 var(--sans); letter-spacing: .05em; white-space: nowrap; }
.phone-item-sheet > div > i { color: #a34c38; font-style: normal; font-size: 8px; }
.phone-item-sheet > div { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; margin-top: 8px; padding: 7px; border: 1px solid #17171712; border-radius: 13px; background: #fff; opacity: 0; transform: translateY(9px); transition: opacity .4s ease, transform .5s cubic-bezier(.16,1,.3,1); }
.phone-item-sheet > div.in { opacity: 1; transform: none; }
.phone-item-sheet > div img { width: 48px; height: 42px; object-fit: contain; border-radius: 9px; background: #f5f1e9; }
.phone-item-sheet > div span { display: grid; gap: 3px; }
.phone-item-sheet > div b { font: 500 12px/1 var(--serif); }
.phone-item-sheet > div em { color: #8d756e; font: 500 6px/1 var(--sans); }
.tap-item { left: calc(45% - 11px); top: calc(57% - 11px); }
.screen-luna { display: flex; flex-direction: column; padding: 91px 16px 55px; background: linear-gradient(160deg, #151b21, #080a0d); }
.screen-luna header { z-index: 5; justify-content: start; gap: 9px; }
.screen-luna .mini-vision, .screen-luna .phone-chat, .screen-luna footer { position: relative; z-index: 4; }
.screen-luna header img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.screen-luna header span { display: grid; gap: 4px; }
.screen-luna header small { color: var(--acid); }
.screen-luna header b { font: 600 10px/1 var(--sans); }
.screen-luna header i { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 10px var(--acid); }
.mini-vision { position: relative; flex: 0 0 auto; height: 120px; overflow: hidden; border-radius: 17px; }
.mini-vision img { width: 100%; height: 100%; object-fit: cover; }
.mini-vision span { position: absolute; left: 8px; bottom: 8px; padding: 5px 7px; border-radius: 8px; background: #080a0dcc; font-size: 5px; letter-spacing: .11em; }
.luna-orbs { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.luna-orbs i { position: absolute; border-radius: 50%; filter: blur(26px); animation: orbFloat 9s ease-in-out infinite; }
.luna-orbs i:nth-child(1) { left: -18%; top: 16%; width: 62%; aspect-ratio: 1; background: #ff654236; }
.luna-orbs i:nth-child(2) { right: -22%; top: 42%; width: 66%; aspect-ratio: 1; background: #19c4cf2e; animation-delay: 1.6s; }
.luna-orbs i:nth-child(3) { left: 12%; bottom: -12%; width: 58%; aspect-ratio: 1; background: #dfff6922; animation-delay: 3.1s; }
.phone-chat { position: relative; display: grid; align-content: end; gap: 4px; margin-top: auto; padding-top: 9px; font-size: 6.2px; line-height: 1.35; }
.phone-chat > p:not(.in) { display: none; }
.phone-chat > p.in { display: block; animation: bubbleIn .5s cubic-bezier(.16,1,.3,1) both; }
.phone-chat > p.from-luna.in { display: flex; }
.phone-chat .typing { display: none; justify-self: start; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 11px; background: #1a222b; }
.phone-chat .typing.in { display: flex; }
.phone-chat .typing > span { display: flex; gap: 3px; }
.phone-chat .typing em { width: 3.5px; height: 3.5px; border-radius: 50%; background: #ffffffc4; animation: typingDot 1.1s ease-in-out infinite; }
.phone-chat .typing em:nth-child(2) { animation-delay: .16s; }
.phone-chat .typing em:nth-child(3) { animation-delay: .32s; }
.phone-chat p { margin: 0; padding: 7px 9px; border-radius: 11px; }
.phone-chat .from-user { justify-self: end; max-width: 77%; background: #eee9df; color: #171717; }
.phone-chat .from-luna { display: flex; align-items: flex-start; gap: 7px; max-width: 92%; background: #1a222b; }
.phone-chat .from-luna i { display: grid; flex: 0 0 20px; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--coral); font-style: normal; }
.phone-chat .suggestion { border: 1px solid #dfff6935; color: #dfff69; }
.phone-chat .suggestion i { background: var(--acid); color: #111; }
.screen-luna footer { position: absolute; left: 15px; right: 15px; bottom: 19px; display: flex; justify-content: space-between; padding: 10px 12px; border: 1px solid #ffffff1c; border-radius: 999px; color: #ffffff69; font-size: 6px; }
.screen-luna footer b { color: var(--acid); }
.screen-pro { background: #151b18; }
.phone-map { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; filter: saturate(.78) contrast(1.1) brightness(.92); }
.phone-map-tint { position: absolute; inset: 0; background: radial-gradient(circle at 50% 31%, #dfff6914, transparent 46%); }
.screen-pro:after { content: ''; position: absolute; inset: 0; background: linear-gradient(#07100ac9, transparent 38%, #07100ab0 56%, #07100af5 84%); pointer-events: none; }
.screen-pro > header { z-index: 6; display: grid; justify-content: start; gap: 7px; }
.screen-pro > header small { color: var(--acid); }
.phone-pro-nodes b { position: absolute; z-index: 7; width: 28px; height: 28px; border: 2px solid #dfff6970; border-radius: 50%; box-shadow: 0 0 0 5px #dfff6912, 0 8px 18px #0009; transition: .45s cubic-bezier(.16,1,.3,1); }
.phone-pro-nodes b em { position: absolute; left: 50%; top: calc(100% + 4px); transform: translateX(-50%); color: #dfff69b0; font: 700 4.5px/1 var(--sans); font-style: normal; letter-spacing: .08em; white-space: nowrap; }
.phone-pro-nodes b.active { width: 36px; height: 36px; border-color: var(--acid); box-shadow: 0 0 0 7px #dfff6922, 0 0 26px #dfff6970, 0 10px 22px #000a; }
.phone-pro-nodes b.active em { color: var(--acid); }
.phone-pro-nodes b:nth-child(1) { left: 24%; top: 27%; }
.phone-pro-nodes b:nth-child(2) { left: 66%; top: 37%; }
.phone-pro-nodes b:nth-child(3) { left: 47%; top: 17%; }
.phone-radius { position: absolute; z-index: 6; left: 50%; top: 31%; width: 92%; aspect-ratio: 1; transform: translate(-50%, -50%); border: 1px solid #dfff6960; border-radius: 50%; animation: radiusPulse 2.8s ease-in-out infinite; }
.phone-radius u { position: absolute; inset: 0; border: 1px solid #dfff6934; border-radius: 50%; animation: radiusRing 3.4s ease-out infinite; }
.phone-radius u:nth-of-type(2) { animation-delay: 1.13s; }
.phone-radius u:nth-of-type(3) { animation-delay: 2.26s; }
.phone-pro-nodes i:after { content: attr(data-distance); position: absolute; left: 50%; top: calc(100% + 6px); transform: translateX(-50%); color: #dfff69cc; font: 700 4.5px/1 var(--sans); letter-spacing: .1em; white-space: nowrap; }
.phone-pro-nodes i { animation: nodeBlink 2.6s ease-in-out infinite; }
.phone-pro-nodes i:nth-child(2) { animation-delay: .5s; }
.phone-pro-nodes i:nth-child(3) { animation-delay: 1s; }
.phone-radius span { position: absolute; right: 10%; top: 16%; padding: 5px 7px; border-radius: 999px; background: #0a100dcc; color: var(--acid); font-size: 5px; font-weight: 700; letter-spacing: .12em; }
.phone-radius i { position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; transform: translate(-50%, -50%); border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 8px #ff654225; }
.phone-pro-sheet { position: absolute; z-index: 8; left: 10px; right: 10px; bottom: 19px; display: grid; gap: 7px; padding: 12px; border-radius: 23px; background: #f0ece4; color: #161616; box-shadow: 0 22px 80px #000a; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.phone-pro-sheet article { display: grid; gap: 8px; padding: 9px; border: 1px solid #17171712; border-radius: 16px; background: #fffdf8; opacity: .62; transition: .5s cubic-bezier(.16,1,.3,1); }
.phone-pro-sheet article.active { opacity: 1; border-color: #ff654255; box-shadow: 0 0 0 1px #ff654233; }
.pro-head { display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: center; }
.pro-head > span:nth-child(2) { display: grid; gap: 1px; }
.pro-head > i { color: #17171730; font-style: normal; font-size: 9px; }
.phone-pro-sheet article.active .pro-head > i { color: var(--coral); }
.phone-pro-sheet .avatar { width: 26px; height: 26px; }
.pro-work { height: 42px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.pro-work img { width: 100%; height: 42px; object-fit: cover; border-radius: 7px; }
.phone-pro-sheet article[data-pro-card="1"] { display: none; }
.phone-pro-sheet.expanded article[data-pro-card="1"] { display: grid; animation: bubbleIn .5s cubic-bezier(.16,1,.3,1) both; }
.phone-pro-sheet small { color: #a34c38; font-size: 4.6px; font-weight: 700; letter-spacing: .12em; }
.phone-pro-sheet .pro-head b { color: #161616; font: 600 12px/1 var(--serif); }
.phone-pro-sheet em { color: #6c645e; font: 500 5px/1 var(--sans); font-style: normal; }
.phone-pro-sheet > button { width: 100%; padding: 10px; border: 0; border-radius: 12px; background: var(--coral); color: white; font-size: 7px; font-weight: 700; }
.screen-realize { background: #171411; }
.realize-shade { position: absolute; inset: 0; background: linear-gradient(#070707aa, transparent 35%, #070707e8 75%); }
.screen-realize header { display: grid; justify-content: start; gap: 7px; }
.screen-realize header small { color: var(--acid); }
.screen-realize header b { max-width: 210px; color: white; font-size: 21px; }
.realize-cta { position: absolute; z-index: 6; left: 18px; right: 18px; bottom: 34px; display: grid; gap: 10px; justify-items: center; }
.realize-cta button { width: 100%; padding: 15px; border: 0; border-radius: 15px; background: var(--coral); color: white; font: 700 10px/1 var(--sans); letter-spacing: .03em; box-shadow: 0 14px 34px #ff65423d; transform: translateY(14px) scale(.96); opacity: 0; transition: opacity .5s ease, transform .6s cubic-bezier(.16,1,.3,1), box-shadow .5s ease; }
.realize-cta button.in { opacity: 1; transform: none; }
.realize-cta button.glow { box-shadow: 0 14px 34px #ff65425c, 0 0 0 6px #ff654224, 0 0 44px #ff654266; }
.realize-cta button.pressed { transform: scale(.965); background: #ff7c5e; }
.realize-cta small { color: #ffffff6b; font-size: 6px; letter-spacing: .08em; }
.tour-epilogue-video { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; pointer-events: none; transition: opacity 1.2s ease; }
.product-tour.tour-complete .tour-epilogue-video.ready { opacity: 1; }
.tour-epilogue { position: absolute; z-index: 10; left: clamp(34px, 6vw, 112px); top: 50%; max-width: 760px; opacity: 0; transform: translateY(-42%); transition: opacity .75s ease, transform .9s cubic-bezier(.16,1,.3,1); }
.tour-epilogue p { margin: 0 0 20px; color: var(--acid); font-size: 8px; font-weight: 700; letter-spacing: .2em; }
.tour-epilogue h2 { margin: 0; font: 500 clamp(66px, 7vw, 118px)/.82 var(--serif); letter-spacing: -.06em; }
.tour-epilogue > span { display: block; max-width: 540px; margin-top: 24px; color: #ffffffc2; font-size: 14px; line-height: 1.6; }
.tour-epilogue small { display: block; margin-top: 16px; color: #ffffff58; font-size: 7px; }
.product-tour.tour-complete .phone-theater { opacity: 0; transform: translate(190px, -50%) rotate(4deg); }
.product-tour.tour-complete .tour-copy, .product-tour.tour-complete .tour-context-panel, .product-tour.tour-complete .tour-signal-panel, .product-tour.tour-complete .tour-counter { opacity: 0; transform: translateY(18px); pointer-events: none; }
.product-tour.tour-complete .tour-epilogue { opacity: 1; transform: translateY(-50%); }
.product-tour.tour-complete .tour-shade { background: linear-gradient(90deg, #060709d9 0%, #06070961 46%, transparent 83%), linear-gradient(0deg, #06070987, transparent 58%); }
.product-tour.tour-complete .tour-plate { filter: saturate(1.08) brightness(1.04); }
.product-tour.tour-complete .tour-curtain { opacity: 0; }
.tour-counter { position: absolute; z-index: 9; right: 30px; bottom: 25px; display: flex; align-items: center; gap: 10px; color: #ffffff6b; font: 500 11px/1 var(--serif); }
.tour-counter i { width: 90px; height: 1px; background: #ffffff25; }
.tour-counter b { display: block; width: 100%; height: 100%; transform: scaleX(.14); transform-origin: left; background: linear-gradient(90deg, var(--coral), var(--acid)); }

.category-story { position: relative; height: 820vh; }
.category-stage { position: sticky; top: var(--header-compact); height: var(--scene); min-height: 586px; overflow: hidden; isolation: isolate; }
.category-media, .category-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.category-media img { object-fit: cover; transform: scale(1.015); transition: opacity .8s cubic-bezier(.4,0,.2,1); }
.category-stage.category-switching #category-after { transition-duration: .95s; }
#category-after { opacity: var(--after-opacity, 0); }
.category-veil { position: absolute; inset: 0; background: linear-gradient(90deg, #08090ce0 0%, #08090c58 48%, #08090c38), linear-gradient(0deg, #08090cae, transparent 48%, #08090c56); }
.category-nav { position: absolute; z-index: 8; top: calc(var(--header) + 20px); left: 50%; display: flex; gap: 5px; padding: 5px; transform: translateX(-50%); border: 1px solid #ffffff1d; border-radius: 999px; background: #0a0c0eb0; backdrop-filter: blur(18px); }
.category-nav button { display: flex; align-items: center; gap: 8px; padding: 10px 15px; border: 0; border-radius: 999px; background: transparent; color: #ffffff75; cursor: pointer; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: .3s ease; }
.category-nav button span { color: var(--gold); font-family: var(--serif); font-size: 13px; }
.category-nav button.active { background: #ffffffec; color: var(--ink); }
.category-copy { position: absolute; z-index: 7; left: clamp(34px, 6vw, 112px); bottom: 8vh; max-width: 760px; }
.category-copy > small { display: block; margin: 30px 0 12px; color: var(--acid); font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.category-copy h2 { max-width: 720px; margin: 0; font: 500 clamp(50px, 5.5vw, 88px)/.9 var(--serif); letter-spacing: -.05em; }
.category-copy > p:last-child { max-width: 540px; margin: 14px 0 0; color: #ffffffa9; font-size: 14px; line-height: 1.55; }
.category-step { position: absolute; z-index: 8; right: 4vw; bottom: 6vh; display: flex; align-items: center; gap: 12px; color: #ffffff76; font-size: 8px; }
.category-step > i { display: block; width: 180px; height: 1px; background: #ffffff30; }
.category-step b { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: var(--acid); }
.category-copy { opacity: 0; transform: translateX(-70px); transition: .85s cubic-bezier(.16, 1, .3, 1); }
.category-story.visible .category-copy { opacity: 1; transform: none; }

.ambient-hex { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; }

.avatar { display: block; border-radius: 50%; background-position: center; background-size: cover; }
.avatar-marina { background-image: url('/media/vision/professionals/marina-azevedo.webp'); }
.avatar-caio { background-image: url('/media/vision/professionals/caio-nunes.webp'); }
.avatar-luisa { background-image: url('/media/vision/professionals/luisa-martins.webp'); }

.proof-story { position: relative; min-height: var(--scene); overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 430px); align-items: center; gap: 5vw; padding: 14vh clamp(34px, 6vw, 112px); background: #0b0f0c; scroll-margin-top: var(--header-compact); }
.proof-map { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .68; filter: invert(1) hue-rotate(140deg) saturate(.8) brightness(1.22) contrast(.92); transform: scale(1.06); animation: plateDrift 26s ease-in-out infinite alternate; }
.proof-tint { position: absolute; z-index: 1; inset: 0; background: radial-gradient(58% 58% at 28% 48%, #dfff6916, transparent 70%), radial-gradient(46% 52% at 22% 52%, #070a08e8, transparent 72%), linear-gradient(90deg, #070a08c9 0%, #070a087a 40%, #070a0866 66%, #070a08e0), linear-gradient(0deg, #070a08c4, transparent 48%, #070a0894); }
.proof-hex { z-index: 2; opacity: .6; -webkit-mask-image: linear-gradient(90deg, transparent 8%, #000 46%); mask-image: linear-gradient(90deg, transparent 8%, #000 46%); }
.proof-rings { position: absolute; z-index: 2; left: 48%; top: 56%; width: 38vw; aspect-ratio: 1; transform: translate(-50%, -50%); pointer-events: none; }
.proof-rings i { position: absolute; inset: 0; border: 1px solid #dfff6947; border-radius: 50%; animation: chainRing 4.6s ease-out infinite; }
.proof-rings i:nth-child(2) { animation-delay: 1.5s; }
.proof-rings i:nth-child(3) { animation-delay: 3s; }
.proof-origin { position: absolute; z-index: 4; left: 48%; top: 56%; display: grid; place-items: center; gap: 9px; transform: translate(-50%, -50%); color: #ffffffa3; font-size: 7px; font-weight: 700; letter-spacing: .16em; }
.proof-origin i { width: 12px; height: 12px; border: 3px solid var(--coral); border-radius: 50%; box-shadow: 0 0 0 9px #ff654221; animation: pulse 2.6s infinite; }

.proof-nodes { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.proof-nodes b { position: absolute; z-index: 3; left: var(--x); top: var(--y); width: 42px; height: 42px; transform: translate(-50%, -50%); border: 2px solid #dfff6975; border-radius: 50%; box-shadow: 0 0 0 5px #dfff6912, 0 10px 24px #000a; opacity: 0; animation: nodeIn .8s cubic-bezier(.16,1,.3,1) forwards; }
.proof-story.visible .proof-nodes b { animation-play-state: running; }
.proof-nodes b:nth-child(2) { animation-delay: .12s; }
.proof-nodes b:nth-child(3) { animation-delay: .24s; }
.proof-nodes b:nth-child(4) { animation-delay: .36s; }
.proof-nodes b:nth-child(5) { animation-delay: .48s; }
.proof-nodes b:nth-child(6) { animation-delay: .6s; }
.proof-nodes b.is-dot { width: 13px; height: 13px; border-width: 3px; border-color: #dfff69a3; box-shadow: 0 0 0 6px #dfff690f; }
.proof-nodes em { position: absolute; left: 50%; top: calc(100% + 6px); transform: translateX(-50%); color: #dfff69bd; font: 700 6px/1 var(--sans); font-style: normal; letter-spacing: .1em; white-space: nowrap; }

.proof-copy { position: relative; z-index: 5; max-width: 560px; }
.proof-copy h2 { text-shadow: 0 6px 34px #070a08cc; margin: 24px 0 34px; font: 500 clamp(44px, 5vw, 82px)/.88 var(--serif); letter-spacing: -.055em; }
.proof-figure { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; margin: 0; padding-top: 24px; border-top: 1px solid #ffffff2b; }
.proof-figure b { color: var(--acid); font: 500 clamp(64px, 6.6vw, 108px)/.8 var(--serif); letter-spacing: -.05em; }
.proof-figure span { max-width: 330px; color: #ffffffb0; font-size: 12.5px; line-height: 1.65; }
.proof-source { display: block; margin-top: 16px; color: #ffffff54; font-size: 8px; letter-spacing: .05em; }
.proof-source code { font-family: var(--sans); font-size: 8px; }

.proof-feed { position: relative; z-index: 5; height: min(430px, 56vh); display: grid; grid-template-rows: auto 1fr auto; gap: 12px; padding: 16px 16px 14px; border: 1px solid #ffffff21; border-radius: 3px; background: #0a0d0bab; backdrop-filter: blur(20px); }
.proof-feed > header { display: flex; align-items: center; gap: 8px; color: #ffffff6e; font-size: 7px; font-weight: 700; letter-spacing: .18em; }
.proof-feed > header span { width: 5px; height: 5px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px var(--acid); animation: pulse 2s infinite; }
.proof-track { position: relative; overflow: hidden; padding: 4px 0; -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%, #000 84%, transparent); mask-image: linear-gradient(180deg, transparent, #000 12%, #000 84%, transparent); }
.proof-track > div { display: grid; gap: 9px; animation: feedScroll 24s linear infinite; }
.proof-track article { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid #ffffff17; border-radius: 3px; background: #ffffff08; }
.proof-track .avatar, .proof-luna, .proof-thumb { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; }
.proof-luna img, .proof-thumb img { width: 100%; height: 100%; object-fit: cover; }
.proof-thumb { border-radius: 7px; }
.proof-track p { display: grid; gap: 3px; margin: 0; }
.proof-track b { font: 500 14px/1.15 var(--serif); }
.proof-track em { color: #ffffff75; font: 400 8.5px/1.4 var(--sans); font-style: normal; }
.proof-track i { color: #ffffff45; font: 600 6.5px/1 var(--sans); font-style: normal; letter-spacing: .06em; white-space: nowrap; }
.proof-feed > footer { color: #ffffff45; font-size: 7.5px; letter-spacing: .04em; }

.rules-banner { position: relative; overflow: hidden; isolation: isolate; display: grid; align-content: center; gap: 5vh; padding: 13vh 0 11vh; background: #08090b; }
.banner-plate { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .34; transform: scale(1.05); animation: plateDrift 24s ease-in-out infinite alternate; }
.banner-tint { position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg, #08090bf2, #08090b6b 42%, #08090bf2), radial-gradient(60% 50% at 50% 50%, #ff65421f, transparent 70%); }
.ticker { position: relative; z-index: 2; display: grid; gap: 6px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); }
.ticker-row { display: flex; }
.ticker-row > span { display: flex; flex: 0 0 auto; align-items: center; gap: 26px; padding-right: 26px; animation: storeMarquee 34s linear infinite; }
.ticker-row b { font: 500 clamp(30px, 3.8vw, 62px)/1 var(--serif); letter-spacing: -.03em; white-space: nowrap; }
.ticker-row i { color: var(--coral); font-size: 15px; font-style: normal; }
.ticker-row.is-outline > span { animation-duration: 42s; animation-direction: reverse; }
.ticker-row.is-outline b { color: transparent; -webkit-text-stroke: 1px #ffffff45; }
.ticker-row.is-outline i { color: #ffffff2b; }
.banner-note { position: relative; z-index: 2; margin: 0; padding: 0 clamp(34px, 6vw, 112px); color: #ffffff5e; font-size: 9px; letter-spacing: .06em; text-align: center; }

.faq { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: .85fr 1.15fr; gap: 7vw; padding: 15vh clamp(34px, 6vw, 112px); background: #0a0b0e; scroll-margin-top: var(--header-compact); }
.faq-hex { z-index: 0; opacity: .42; -webkit-mask-image: radial-gradient(80% 70% at 80% 40%, #000, transparent 72%); mask-image: radial-gradient(80% 70% at 80% 40%, #000, transparent 72%); }
.faq-heading, .faq-list { position: relative; z-index: 2; }
.faq-heading { align-self: start; position: sticky; top: calc(var(--header-compact) + 42px); }
.faq-heading h2 { margin: 26px 0 20px; font: 500 clamp(46px, 5vw, 80px)/.88 var(--serif); letter-spacing: -.055em; }
.faq-heading > p { max-width: 330px; margin: 0; color: #ffffff8c; font-size: 12px; line-height: 1.7; }
.faq-list details { border-bottom: 1px solid #ffffff1c; transition: border-color .35s ease; }
.faq-list details:first-child { border-top: 1px solid #ffffff1c; }
.faq-list details[open] { border-color: #ffffff38; }
.faq-list summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 42px 1fr 26px; gap: 10px; align-items: center; padding: 26px 0; transition: color .3s ease; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary i { color: #ffffff45; font: 500 15px/1 var(--serif); font-style: normal; transition: color .3s ease; }
.faq-list summary b { font: 500 clamp(19px, 1.65vw, 25px)/1.25 var(--serif); letter-spacing: -.015em; }
.faq-list summary span { position: relative; width: 26px; height: 26px; border: 1px solid #ffffff2b; border-radius: 50%; transition: .35s cubic-bezier(.16,1,.3,1); }
.faq-list summary span:before, .faq-list summary span:after { content: ''; position: absolute; left: 50%; top: 50%; width: 9px; height: 1px; transform: translate(-50%, -50%); background: white; transition: .35s cubic-bezier(.16,1,.3,1); }
.faq-list summary span:after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-list summary:hover span { border-color: var(--coral); }
.faq-list details[open] summary i { color: var(--coral); }
.faq-list details[open] summary span { border-color: var(--coral); background: var(--coral); transform: rotate(135deg); }
.faq-list details p { max-width: 620px; margin: -8px 0 28px 52px; color: #ffffff9e; font-size: 12.5px; line-height: 1.75; animation: faqOpen .5s cubic-bezier(.16,1,.3,1); }

.android-cta { position: relative; min-height: 96vh; overflow: hidden; isolation: isolate; display: grid; place-items: center; align-content: center; padding: 100px 24px; text-align: center; }
.cta-plate { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .3; transform: scale(1.05); animation: plateDrift 28s ease-in-out infinite alternate; }
.final-hex { z-index: -1; opacity: .3; }
.cta-aura { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 50% 42%, #ff654233, transparent 22%), radial-gradient(circle at 50% 42%, #19c4cf1a, transparent 40%), radial-gradient(circle at 50% 46%, transparent 0 30%, #090a0cd9 62%, #090a0c 82%); animation: ctaBreathe 5.6s ease-in-out infinite; }
.cta-logo { width: 106px; height: 106px; margin-bottom: 18px; object-fit: contain; filter: drop-shadow(0 0 15px #ff65424c) drop-shadow(0 0 30px #19c4cf3d); animation: logoFloat 4.5s ease-in-out infinite; }
.android-cta h2 { margin: 20px 0 12px; font: 500 clamp(52px, 6.4vw, 98px)/.88 var(--serif); letter-spacing: -.055em; }
.android-cta > p:not(.kicker):not(.store-status) { margin: 0; color: #ffffff7e; font-size: 12px; }
.store-button { min-width: 230px; display: flex; align-items: center; gap: 13px; margin: 24px auto 8px; padding: 12px 16px; border: 0; border-radius: 16px; background: var(--cream); color: var(--ink); cursor: pointer; text-align: left; }
.play-mark { color: var(--coral); font-size: 22px; }
.store-button > span:nth-child(2) { flex: 1; display: grid; font-size: 18px; font-weight: 600; }
.store-button small { font-size: 7px; letter-spacing: .11em; }
.store-button b { font-size: 20px; }
.store-status { min-height: 14px; color: #ffffff7a; font-size: 8px; }
.android-cta > a { margin-top: 20px; padding-bottom: 5px; border-bottom: 1px solid #ffffff40; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.site-footer { padding: 70px max(5vw, 24px) 28px; border-top: 1px solid #ffffff16; color: #ffffff70; }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 7vw; max-width: 1320px; margin: 0 auto 54px; }
.footer-brand { display: grid; align-content: start; gap: 15px; }
.footer-brand .brand { color: white; font-size: 18px; }
.footer-brand p { max-width: 390px; margin: 0; font-size: 12px; line-height: 1.65; }
.footer-brand > span { font-size: 9px; letter-spacing: .08em; }
.footer-col { display: grid; align-content: start; gap: 11px; }
.footer-col h3 { margin: 2px 0 7px; color: #ffffffad; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.footer-col a { font-size: 11px; transition: color .2s ease; }
.footer-col a:hover { color: white; }
.footer-bottom { max-width: 1320px; margin: 0 auto; padding-top: 22px; border-top: 1px solid #ffffff12; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 9px; }
.footer-bottom nav { display: flex; gap: 22px; }

main > section:not(.hero-scroll) { position: relative; border-top: 1px solid transparent; }
main > section:not(.hero-scroll):after { content: ''; position: absolute; z-index: 15; left: 8vw; right: 8vw; top: 0; height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, #19c4cf7a, #ff6542a6, #e6b8727a, transparent); transform: scaleX(.25); opacity: .35; transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), opacity 1.1s ease; }
main > section.visible:after, main > .category-story.visible:after { transform: scaleX(1); opacity: .9; }

@keyframes pulse { 70% { box-shadow: 0 0 0 9px #dfff6900; } }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes logoFloat { 50% { transform: translateY(-7px); filter: drop-shadow(0 0 22px #ff654270) drop-shadow(0 0 45px #19c4cf55); } }
@keyframes mapPulse { 70%, 100% { box-shadow: 0 0 0 10vw #dfff6900, 0 0 0 20vw #19c4cf00; border-color: #dfff6918; } }
@keyframes mapPulseInner { 70%, 100% { transform: scale(1.55); opacity: 0; } }
@keyframes ctaBreathe { 50% { transform: scale(1.09); opacity: .82; } }
@keyframes phoneGlow { 50% { transform: scale(1.08); opacity: .7; } }
@keyframes ghostTap { 0%, 42%, 100% { transform: scale(.65); opacity: 0; box-shadow: 0 0 0 0 #fff0; } 55% { opacity: 1; } 78% { transform: scale(1); opacity: 0; box-shadow: 0 0 0 15px #fff0; } }
@keyframes cameraBreath { 0% { transform: scale(1.08) translate3d(-1.2%, -.5%, 0) rotate(-.15deg); } 45% { transform: scale(1.1) translate3d(1%, .7%, 0) rotate(.12deg); } 100% { transform: scale(1.085) translate3d(-.4%, 1%, 0) rotate(-.08deg); } }
@keyframes cameraDrift { 0% { transform: scale(1.08) translate3d(-1.5%, -.7%, 0); } 50% { transform: scale(1.11) translate3d(1.2%, .8%, 0); } 100% { transform: scale(1.09) translate3d(-.3%, 1.2%, 0); } }
@keyframes captureFlash { 0% { opacity: 0; } 10% { opacity: .95; } 34% { opacity: .1; } 100% { opacity: 0; } }
@keyframes chosenPop { 0% { transform: scale(1); } 45% { transform: scale(1.045); } 100% { transform: scale(1); } }
@keyframes selectedGlow { 50% { box-shadow: inset 0 0 22px #ff654244, 0 0 12px #ff654225; } }
@keyframes radiusPulse { 50% { transform: translate(-50%, -50%) scale(.94); opacity: .55; } }
@keyframes iconPulse { 50% { transform: translateY(-5px) scale(1.06); filter: drop-shadow(0 12px 18px #ff654250); } }
@keyframes plateDrift { 0% { transform: scale(1.045) translate3d(-.7%, -.4%, 0); } 100% { transform: scale(1.06) translate3d(.7%, .5%, 0); } }
@keyframes stageFlash { 0% { opacity: 0; } 12% { opacity: .88; } 40% { opacity: .12; } 100% { opacity: 0; } }
@keyframes handheld { 0% { transform: translate3d(0, 0, 0) rotate(0); } 14% { transform: translate3d(-1.1%, .6%, 0) rotate(-.28deg); } 31% { transform: translate3d(.9%, -.5%, 0) rotate(.22deg); } 48% { transform: translate3d(-.5%, -.9%, 0) rotate(-.12deg); } 63% { transform: translate3d(1.2%, .4%, 0) rotate(.3deg); } 80% { transform: translate3d(-.3%, .8%, 0) rotate(-.18deg); } 100% { transform: translate3d(0, 0, 0) rotate(0); } }
@keyframes frameSettle { 0% { transform: scale(1); opacity: 1; } 26% { transform: scale(.955); opacity: .4; } 70% { transform: scale(1.01); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
@keyframes orbFloat { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(6%, -8%, 0) scale(1.14); } }
@keyframes jumpPulse { 0%, 100% { transform: translateY(0); text-shadow: 0 0 0 #dfff6900; } 50% { transform: translateY(2px); text-shadow: 0 0 14px #dfff69cc; } }
@keyframes nodeIn { from { opacity: 0; transform: translate(-50%, -50%) scale(.4); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes feedScroll { to { transform: translateY(-100%); } }
@keyframes chainRing { 0% { transform: translate(-50%, -50%) scale(.22); opacity: 0; } 20% { opacity: .85; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0; } }
@keyframes stopPulse { 50% { transform: scale(1.12); border-color: #ffffff7a; } }
@keyframes pinPop { from { opacity: 0; transform: translate(-50%, -50%) scale(.5); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes pinFloat { 50% { transform: translate(-50%, calc(-50% - 4px)) scale(1); } }
@keyframes itemFloat { 50% { transform: translateY(-7px); } }
@keyframes faqOpen { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes cardWipe { 0%, 100% { clip-path: inset(0 0 0 24%); } 50% { clip-path: inset(0 0 0 76%); } }
@keyframes cardWipeLine { 0%, 100% { left: 24%; } 50% { left: 76%; } }
@keyframes storeMarquee { to { transform: translateX(-100%); } }
@keyframes bubbleIn { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes typingDot { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-2px); } }
@keyframes radiusRing { 0% { transform: scale(.24); opacity: 0; } 18% { opacity: .75; } 100% { transform: scale(1); opacity: 0; } }
@keyframes nodeBlink { 50% { box-shadow: 0 0 0 11px #dfff6912; } }
@keyframes deckSweep { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }

@media (max-width: 1180px) {
  .jump-dock { bottom: 20px; grid-auto-flow: column; }
  .tour-counter { right: 112px; }
}

@media (max-width: 1050px) {
  .hero-copy h1 { font-size: 8vw; max-width: 900px; }
  .tour-copy { width: 45vw; }
  .phone-theater { right: 5vw; }
}

@media (max-height: 780px) and (min-width: 801px) {
  .phone-theater { height: min(596px, calc(var(--scene) - 92px)); }
  .tour-copy { top: 46%; }
  .tour-copy h2 { font-size: 54px; }
  .tour-copy > small { margin: 16px 0 10px; }
  .tour-copy > p:not(.story-number) { margin-top: 12px; font-size: 12px; }
  .tour-rail { margin-top: 18px; }
  .tour-instruction { display: none; }
  .tour-context-panel { top: 2.4vh; padding-top: 8px; }
  .tour-context-panel > div { gap: 14px; margin-top: 9px; }
  .tour-context-panel b { font-size: 17px; }
  .tour-context-panel > p { display: none; }
  .tour-signal-panel { bottom: 2.4vh; gap: 7px; padding: 8px 13px 10px; }
  .signal-deck img { width: 34px; height: 34px; }
  .signal-deck span { padding-bottom: 4px; }
  .signal-body b { font-size: 17px; }
  .signal-body i { display: none; }
}

@media (max-width: 800px) {
  :root { --header: 64px; }
  .jump-dock { left: 12px; right: 12px; bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 6px; pointer-events: none; }
  .jump-dock button.on { pointer-events: auto; }
  #jump-skip { display: flex; order: 0; }
  #jump-top { order: 1; }
  .jump-dock button { height: 32px; background: #0b0d10cc; border-color: #ffffff3d; }
  .jump-dock button i { flex-basis: 30px; font-size: 12px; }
  .jump-dock button span { display: none; }
  .mobile-scroll-cue { position: fixed; z-index: 190; left: 50%; bottom: 62px; display: flex; align-items: center; gap: 10px; padding: 10px 11px 10px 16px; border: 1px solid #ffffff36; border-radius: 999px; background: #0b0d10f2; box-shadow: 0 14px 42px #000a; backdrop-filter: blur(18px); color: white; opacity: 0; transform: translate(-50%, 12px); pointer-events: none; transition: opacity .35s ease, transform .45s cubic-bezier(.16,1,.3,1); }
  .mobile-scroll-cue.on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
  .mobile-scroll-cue span { font-size: 8px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
  .mobile-scroll-cue i { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--acid); color: #111; font-style: normal; animation: jumpPulse 1.8s ease-in-out infinite; }
  .site-header { padding: 0 17px; }
  .header-link { display: none; }
  .site-header nav { gap: 0; }
  .header-cta { padding: 10px 12px; font-size: 9px; }
  .site-header .brand { font-size: 17px; }
  .hero-scroll { height: 150vh; min-height: 860px; }
  .hero-copy { left: 7vw; right: 8vw; top: calc(var(--header) + 3px); bottom: auto; transform: none; }
  .hero-copy .kicker { display: block; }
  .hero-copy h1 { margin: 11px 0 12px; max-width: 620px; font-size: clamp(46px, 13vw, 78px); line-height: .88; }
  .hero-copy > p:last-child { max-width: 440px; font-size: clamp(11px, 2.5vw, 14px); }
  .hero-shade { background: linear-gradient(0deg, #060709ed 2%, #06070992 58%, #06070934); }
  .hero-instruction { left: 50%; bottom: 7vh; width: min(300px, calc(100vw - 40px)); min-width: 0; transform: translateX(-50%) scale(.9); transform-origin: center bottom; }
  .hero-instruction:hover, .hero-instruction:focus-visible { transform: translateX(-50%) translateY(-2px) scale(.9); }
  .hero-phase { top: 50%; right: 13px; font-size: 6px; }
  .illustrative { display: none; }
  .product-tour { height: 2700vh; }
  .tour-stage { min-height: 0; }
  .tour-plates, .tour-curtain, .stage-flash, .tour-shade, .tour-hex, .tour-context-panel, .tour-signal-panel, .phone-theater > p, .phone-glow, .tour-copy > small, .tour-copy h2, .tour-copy > p:not(.story-number), .tour-copy .story-number { display: none; }
  .phone-theater { inset: 0; width: 100%; height: 100%; aspect-ratio: auto; opacity: 1; transform: none; }
  .product-tour.stage-live .phone-theater { opacity: 1; transform: none; }
  .product-tour.tour-complete .phone-theater { opacity: 0; transform: translateY(4vh); pointer-events: none; }
  .tour-epilogue { display: none; }
  .phone-shell { inset: 0; border: 0; border-radius: 0; box-shadow: none; }
  .phone-screens { border-radius: 0; }
  .phone-speaker { top: 8px; width: 24%; }
  .phone-home { bottom: 6px; }
  .tour-copy { z-index: 40; left: 14px; right: 14px; top: auto; bottom: 20px; width: auto; transform: none; }
  .tour-rail { display: none; }
  .tour-rail button { padding-top: 8px; text-align: center; font-size: 0; }
  .tour-rail button span { display: none; }
  .tour-rail button i { left: 50%; transform: translateX(-50%); }
  .tour-counter { right: 16px; top: 15px; bottom: auto; }
  .tour-counter i { width: 54px; }
  .screen-direction { padding: 96px 22px 88px; }
  .phone-category-stack { max-width: 430px; margin: 0 auto; }
  .screen-results { padding: 100px 16px 87px; }
  .phone-results-grid { max-width: 500px; margin: 0 auto; }
  .screen-results footer { bottom: 61px; }
  .phone-item-sheet { left: 14px; right: 14px; bottom: 64px; padding: 15px; }
  .phone-item-sheet > div { margin-top: 9px; padding: 9px; }
  .phone-pro-sheet { left: 14px; right: 14px; bottom: 64px; padding: 14px; }
  .pro-head { grid-template-columns: 34px 1fr auto; }
  .phone-pro-sheet .avatar { width: 34px; height: 34px; }
  .phone-pro-sheet .pro-head b { font-size: 15px; }
  .phone-pro-sheet small { font-size: 6px; }
  .phone-pro-sheet em { font-size: 7px; }
  .pro-work, .pro-work img { height: 58px; }
  .phone-pro-sheet > button { padding: 13px; font-size: 9px; }
  .realize-cta { left: 20px; right: 20px; bottom: 72px; }
  .realize-cta button { padding: 17px; font-size: 12px; }
  .search-scope b { font-size: 7px; padding: 5px 9px; }
  .phone-item-sheet > small { font-size: 7px; }
  .phone-item-sheet > div b { font-size: 15px; }
  .phone-item-sheet > div em { font-size: 8px; }
  .phone-hotspot { width: 38px; height: 38px; font-size: 10px; }
  .mini-vision { height: 24vh; }
  .phone-chat { max-width: 560px; margin: auto auto 0; font-size: 10px; }
  .screen-luna { padding: 96px 20px 82px; }
  .screen-luna footer { bottom: 60px; }
  .category-story { height: 520vh; }
  .category-nav { left: 50%; right: auto; top: 12px; width: min(340px, calc(100vw - 28px)); transform: translateX(-50%); overflow: hidden; }
  .category-nav button { position: relative; flex: 1; justify-content: center; padding: 10px 2px; font-size: 0!important; }
  .category-nav button span { font-size: 11px; }
  .category-nav button + button:before { content: ''; position: absolute; left: 0; top: 30%; bottom: 30%; width: 1px; background: #ffffff18; }
  .category-nav button.active { font-size: 0; }
  .category-copy { left: 20px; right: 20px; bottom: 9vh; }
  .category-copy .story-number, .category-copy > p:last-child { display: none; }
  .category-copy > small { margin-top: 20px; }
  .category-copy h2 { width: calc(100vw - 40px); max-width: 540px; font-size: clamp(36px, 10.8vw, 58px); line-height: .88; }
  .category-copy > p:last-child { max-width: 94%; font-size: 11px; line-height: 1.55; }
  .category-step { left: 20px; right: 20px; bottom: 6vh; }
  .category-step > i { flex: 1; }
  .proof-story { grid-template-columns: 1fr; gap: 5vh; padding: 12vh 20px 10vh; }
  .proof-copy h2 { font-size: 11.5vw; margin-bottom: 26px; }
  .proof-figure { grid-template-columns: 1fr; gap: 10px; }
  .proof-figure b { font-size: 68px; }
  .proof-rings { width: 88vw; }
  .proof-nodes, .proof-origin { display: none; }
  .proof-rings { left: 50%; top: 30%; width: 96vw; }
  .proof-hex { -webkit-mask-image: none; mask-image: none; }
  .proof-feed { height: 340px; }
  .rules-banner { padding: 11vh 0 9vh; gap: 4vh; }
  .ticker-row b { font-size: 30px; }
  .banner-note { padding: 0 20px; }
  .faq { grid-template-columns: 1fr; gap: 5vh; padding: 11vh 20px; }
  .faq-heading { position: static; }
  .faq-heading h2 { font-size: 12vw; }
  .faq-list summary { grid-template-columns: 30px 1fr 22px; padding: 20px 0; }
  .faq-list summary span { width: 22px; height: 22px; }
  .faq-list details p { margin-left: 38px; font-size: 12px; }
  .android-cta { min-height: 100svh; }
  .android-cta h2 { font-size: 12vw; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-bottom nav { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none!important; transition-duration: .01ms!important; }
  .hero-stage, .tour-stage, .category-stage, .process-stage { position: relative; }
  .tour-curtain, .results-loading { display: none; }
  .phone-hotspot, .phone-item-sheet > div, .realize-cta button { opacity: 1!important; transform: none!important; }
  .phone-pro-sheet article[data-pro-card="1"] { display: grid; }
  .phone-chat > p { display: block!important; }
  .phone-chat > p.from-luna { display: flex!important; }
  .phone-chat .typing { display: none!important; }
  .phone-hotspot { opacity: 1; }
}
