/* Greggflow landing: black surfaces with a restrained blue identity. */
:root {
  --accent:#f4f4f5; --accent-2:#ffffff; --accent-light:#e4e4e7;
  --accent-08:rgba(255,255,255,.05); --accent-10:rgba(255,255,255,.07);
  --accent-15:rgba(255,255,255,.10); --accent-25:rgba(255,255,255,.16);
  --accent-35:rgba(255,255,255,.24); --accent-45:rgba(255,255,255,.34);
  --text-muted:#b4b4b8; --text-faint:#919196;
  --border:rgba(255,255,255,.13);
}
html { scroll-padding-top:128px; scrollbar-width:none; -ms-overflow-style:none; }
html::-webkit-scrollbar { display:none; width:0; height:0; }
body { background:#000; -webkit-font-smoothing:antialiased; }
.page-scroll-progress { position:fixed; top:0; left:0; z-index:102; width:100%; height:3px; pointer-events:none; background:#ffffff; box-shadow:0 0 9px #ffffff99; transform:scaleX(0); transform-origin:left center; }
.offer-dialog { position:fixed; width:min(456px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:34px; overflow-y:auto; border:1px solid #ffffff30; border-radius:16px; background:#050505; color:#fff; box-shadow:0 30px 100px #000d,0 0 0 1px #ffffff18; font-family:'Inter',sans-serif; text-align:left; }
.offer-dialog::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(5px); }
.offer-dialog::before { content:''; position:absolute; top:0; left:32px; right:32px; height:2px; background:linear-gradient(90deg,transparent,#ffffff,transparent); }
.offer-close { position:absolute; top:19px; right:19px; width:32px; height:32px; padding:0; border:1px solid #ffffff24; border-radius:8px; background:#111; color:#aaa; cursor:pointer; font:400 22px/1 'Inter',sans-serif; }
.offer-close:hover { color:#fff; border-color:#ffffff60; }
.offer-kicker { display:flex; align-items:center; gap:9px; margin-bottom:36px; color:#b4b4b4; font:500 10px/1.3 'DM Mono',monospace; letter-spacing:.14em; }
.offer-kicker-dot { width:6px; height:6px; border-radius:50%; background:#ffffff; box-shadow:0 0 10px #ffffff99; }
.offer-badge { display:inline-block; margin-bottom:13px; padding:6px 9px; border:1px solid #ffffff66; border-radius:5px; color:#dddddd; font:700 9px/1 'DM Mono',monospace; letter-spacing:.15em; }
.offer-dialog h2 { max-width:360px; margin:0 0 12px; color:#fff; font-size:clamp(34px,7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.055em; text-transform:uppercase; }
.offer-description { max-width:355px; margin:0 0 26px; color:#a9a9a9; font-size:11px; font-weight:600; line-height:1.65; letter-spacing:.06em; text-transform:uppercase; }
.offer-price { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:23px; }
.offer-price s { color:#b7b7b7; font-size:18px; font-weight:500; text-decoration-color:#ddd; text-decoration-thickness:2px; }
.offer-price strong { color:#fff; font-size:45px; line-height:1; font-weight:800; letter-spacing:-.07em; }
.offer-price span { color:#aaa; font:600 10px 'DM Mono',monospace; letter-spacing:.06em; }
.offer-rule { width:100%; height:1px; background:#ffffff22; margin-bottom:20px; }
.offer-benefits { margin:0 0 25px; color:#ababab; font:500 9px/1.7 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.offer-primary { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:49px; padding:12px 16px; border-radius:8px; background:#ffffff; color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; transition:background .2s ease,transform .2s ease; }
.offer-primary:hover { background:#e5e5e5; transform:translateY(-2px); }
.offer-primary span { font-size:17px; font-weight:400; }
.offer-secondary { display:block; width:max-content; margin:19px auto 0; color:#a7a7a7; font-size:10px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.offer-secondary:hover { color:#fff; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:2px solid #ffffff; outline-offset:4px; }
.announce-bar { min-height:38px; padding:7px 20px; background:#000; color:#b9b9b9; border-bottom:1px solid #ffffff19; font-size:11px; }
.announce-bar::before { display:none; }
.announce-bar .announce-dot { background:#ffffff; box-shadow:0 0 8px #ffffff77; }
.announce-bar .announce-cta { background:transparent; padding:0; border-radius:0; color:#dddddd; font-size:11px; white-space:nowrap; }
.announce-bar .announce-cta:hover { background:transparent; box-shadow:none; color:#fff; }
.announce-text s { color:#c7c7c7; text-decoration-color:#e8e8e8; text-decoration-thickness:1.5px; margin-left:4px; font-weight:600; }
.announce-text strong { color:#fff; font-weight:800; margin-left:4px; }
nav,nav.nav-scrolled { height:72px; padding:0 max(28px,calc((100vw - 1240px)/2)); background:#000; border-bottom:1px solid #ffffff20; backdrop-filter:none; box-shadow:none; animation:none; }
.nav-logo { display:inline-flex; align-items:center; gap:10px; color:#fff; font-size:17px; letter-spacing:-.5px; text-decoration:none; text-transform:none; }
.nav-logo img { width:33px; height:33px; }
.nav-links { gap:30px; font-size:12px; }
.nav-links a::after { background:#ffffff; }
.nav-right { gap:14px; }
.btn-dashboard { border-radius:8px; padding:10px 18px; text-transform:none; letter-spacing:0; font-size:12px; }
.lang-sel { min-height:36px; background:#000; color:#bbb; }
.lang-dropdown,.mobile-nav-panel { background:#050505; border-color:#ffffff25; }
html.announce-active .mobile-nav-panel { top:calc(72px + var(--announce-h,42px)); }
.hero-section,html.announce-active .hero-section { min-height:auto; padding:calc(140px + var(--announce-h,42px)) 28px 64px; background:#000; transition:none; }
.hero-section::before,.hero-section::after { display:none; }
.hero-inner { max-width:1160px; display:flex; flex-direction:column; gap:0; align-items:center; }
.hero-left { display:contents; }
.hero-copy-layout { display:flex; flex-direction:column; gap:0; text-align:center; width:100%; }
.hero-copy-title { width:100%; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:24px; color:#b7b7b7; font:500 10px/1.5 'DM Mono',monospace; letter-spacing:.18em; text-transform:uppercase; }
.hero-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:#ffffff; }
.hero-copy-title .hero-heading { font-family:'Inter',sans-serif; font-size:clamp(44px,5.6vw,80px); font-weight:600; line-height:1.08; letter-spacing:-.065em; text-transform:none; text-align:center; max-width:1050px; margin:0 auto !important; animation:none; text-wrap:balance; }
.hero-heading > span:first-child { animation:none; color:#fff; -webkit-text-fill-color:#fff; filter:none; }
.hero-heading .hero-dim { color:#c5c5c5; }
.hero-copy-detail { padding-top:25px; max-width:620px; margin:0 auto; }
.hero-copy-detail p { max-width:580px; margin:0 auto 26px; font-size:16px; line-height:1.8; color:#a9a9a9; letter-spacing:-.015em; }
.hero-copy-detail .hero-cta-row { justify-content:center; gap:12px; margin:0 0 20px; }
.hero-copy-detail .cta-primary,.hero-copy-detail .cta-secondary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 24px; border-radius:8px; font-size:13px; text-decoration:none; }
.hero-copy-detail .cta-primary { color:#0a0a0b; background:var(--accent); box-shadow:none; }
.hero-copy-detail .cta-primary:hover { background:var(--accent-2); }
.hero-copy-detail .cta-secondary { background:#090909; border:1px solid #ffffff32; color:#eee; }
.hero-copy-detail .cta-secondary:hover { background:#171717; border-color:#ffffff66; }
.hero-context-pill { border:0; color:#898989; padding:0; font-size:9px; font-weight:400; letter-spacing:.15em; }
.hero-video-sticky { position:relative; inset:auto; transform:none; max-width:1080px; width:100%; margin:42px auto 0; }
.ticker-strip { margin-bottom:15px; }
.ticker-track { animation-duration:45s; gap:26px; }
.ticker-item { border:0; background:transparent; color:#858585; font:500 10px/1.6 'DM Mono',monospace; padding:0 4px; }
.hero-video-wrap { padding:7px; border:1px solid #ffffff38; border-radius:15px; background:#000; box-shadow:0 30px 80px #000; }
.hero-video-wrap::after,.hero-video-notch,.hero-video-glass { display:none; }
.hero-video-chrome { height:36px; min-height:36px; border-radius:9px 9px 0 0; background:#080808; border-bottom:1px solid #ffffff20; box-shadow:none; }
.hero-video-sidebar,.hero-video-navgroup,.hero-video-toolbar-icons { display:none; }
.hero-video-url { background:transparent; border:0; box-shadow:none; font:400 10px 'DM Mono',monospace; color:#999; }
.hero-video-dots { gap:6px; }
.hero-video-dots span { width:7px; height:7px; opacity:.65; }
.hero-video-wrap video { border-radius:0 0 9px 9px; }
.hero-preview-caption { display:flex; justify-content:space-between; gap:14px; margin:15px 3px 0; color:#888; font:400 10px/1.6 'DM Mono',monospace; }
.hero-preview-caption span:first-child { color:#c5c5c5; }
.hero-pillars { display:grid; grid-template-columns:repeat(3,1fr); width:100%; margin-top:48px; border-top:1px solid #ffffff25; padding-top:28px; }
.hero-pillar { padding:0 30px; text-align:left; border-right:1px solid #ffffff25; }
.hero-pillar:first-child { padding-left:0; }
.hero-pillar:last-child { border:0; padding-right:0; }
.hero-pillar span { font:400 10px 'DM Mono',monospace; color:#a2a2a2; }
.hero-pillar h2 { font-size:14px; font-weight:600; margin:8px 0; letter-spacing:-.2px; }
.hero-pillar p { color:#969696; font-size:12px; line-height:1.8; }
.section-inner,.tools-inner { max-width:1160px; }
.tools-inner>*,.analytics-layout>* { min-width:0; }
.tools-section,.features-section,.analytics-section,.testimonials-section,.pricing-section,.faq-section,.cta-section,footer { background:#000 !important; }
.tools-section,.features-section,.analytics-section,.testimonials-section,.pricing-section,.faq-section { padding:96px 28px; border-top:1px solid #ffffff16; }
.pricing-section::before,.cta-section::before,footer::before { display:none; }
.tools-tag,.tag { color:#aaa; font:500 10px 'DM Mono',monospace; letter-spacing:.17em; margin-bottom:20px; }
.tools-tag::after,.tag::after { background:#ffffff99; }
.tools-heading,h2.section-title { font-family:'Inter',sans-serif; font-size:clamp(32px,3.6vw,48px); line-height:1.14; font-weight:600; letter-spacing:-.045em; text-wrap:balance; }
.tools-heading .dim { color:#888; }
.section-desc { font-size:15px; color:#aaa; }
.features-grid { gap:14px; margin-top:40px; }
.feat { position:relative; background:#080808; padding:28px; border-color:#ffffff24; border-radius:12px; }
.feat:hover { border-color:#ffffff77; background:#101010; box-shadow:none; }
.feat h3 { font-size:15px; }
.feat p { font-size:13px; line-height:1.8; }
.feat-icon-wrap,.feat-list .icon { color:#ffffff; background:#111; border-color:#ffffff20; border-radius:10px; }
.feat-list li,.tcard { background:#080808; border-color:#ffffff20; }
.chart-mock { border-radius:14px; border-color:#ffffff25; box-shadow:none; }
.billing-toggle { background:#080808; border-color:#ffffff22; }
.bill-btn.active { background:#202020; color:#fff; box-shadow:none; }
.faq-list { max-width:820px; }
.faq-item { border:1px solid #ffffff1c; background:#080808; border-radius:10px; }
.faq-q { padding:21px 24px; font-size:14px; }
.cta-section { padding:88px 28px; border-top:1px solid #ffffff22; }
.cta-section h2 { font-size:clamp(30px,4vw,48px); letter-spacing:-.045em; font-weight:600; }
.btn-hero { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:none; border-radius:8px; }
.btn-hero:hover { background:var(--accent-2); box-shadow:none; }
footer { border-top:1px solid #ffffff20; }
@media (max-width:900px) {
  .hero-copy-title .hero-heading { font-size:clamp(42px,7vw,66px); }
  .analytics-layout { grid-template-columns:1fr; gap:36px; }
  .features-grid { grid-template-columns:repeat(2,1fr); }
  .hero-pillar { padding:0 20px; }
}
@media (max-width:600px) {
  .offer-dialog { padding:27px 23px; }
  .offer-kicker { margin-bottom:28px; }
  .offer-dialog h2 { font-size:clamp(32px,9vw,42px); }
  .offer-price strong { font-size:40px; }
  .announce-bar { font-size:10px; padding:8px 16px; gap:9px; }
  .announce-text { max-width:245px; line-height:1.5; }
  .announce-dot { display:none; }
  nav,nav.nav-scrolled { height:64px; padding:0 18px; }
  .nav-logo { font-size:16px; gap:7px; }
  .nav-logo img { width:27px; height:27px; }
  .nav-right { gap:8px; }
  .nav-discord { display:none !important; }
  .btn-dashboard { padding:9px 12px; }
  .lang-sel { padding:5px 7px; }
  html.announce-active .mobile-nav-panel { top:calc(64px + var(--announce-h,42px)); }
  .hero-section,html.announce-active .hero-section { padding:calc(110px + var(--announce-h,42px)) 20px 40px; }
  .hero-eyebrow { font-size:8px; letter-spacing:.13em; margin-bottom:20px; }
  .hero-copy-title .hero-heading { font-size:clamp(34px,9.4vw,53px); letter-spacing:-.055em; line-height:1.12; }
  .hero-copy-detail { padding-top:20px; }
  .hero-copy-detail p { font-size:14px; line-height:1.75; }
  .hero-copy-detail .hero-cta-row { flex-direction:row; flex-wrap:wrap; gap:10px; }
  .hero-copy-detail .cta-primary,.hero-copy-detail .cta-secondary { font-size:12px; padding:11px 17px; }
  .hero-video-sticky { margin-top:30px; }
  .hero-video-wrap { padding:4px; border-radius:10px; }
  .hero-video-chrome { min-height:25px; height:25px; padding:0 9px; }
  .hero-video-url { font-size:8px; }
  .hero-preview-caption { font-size:8px; }
  .hero-preview-caption span:last-child { max-width:120px; text-align:right; }
  .hero-pillars { grid-template-columns:1fr; gap:20px; margin-top:30px; padding-top:22px; }
  .hero-pillar,.hero-pillar:first-child,.hero-pillar:last-child { padding:0 0 0 32px; border:0; position:relative; }
  .hero-pillar>span { position:absolute; left:0; top:3px; }
  .hero-pillar h2 { margin:0 0 5px; }
  .tools-section,.features-section,.analytics-section,.testimonials-section,.pricing-section,.faq-section { padding:60px 20px; }
  .features-grid { grid-template-columns:1fr; }
  .tools-heading { overflow-wrap:anywhere; }
  .feat { padding:24px; }
  .faq-q { font-size:13px; padding:18px; }
  .cta-section { padding:64px 22px; }
}
@media (max-width:380px) {
  nav,nav.nav-scrolled { padding:0 12px; }
  .nav-logo { font-size:13px; gap:5px; }
  .nav-logo img { width:23px; height:23px; }
  .nav-right { gap:5px; }
  .btn-dashboard { font-size:10px; padding:9px; }
  .lang-sel { font-size:10px; padding:5px; gap:4px; }
  .lang-sel>svg:first-child { display:none; }
  .nav-hamburger { width:24px; margin-left:3px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Color marks actions and hierarchy while the page stays black. */
:root { --up:#3ecf8e; --down:#f0605d; --star:#e4e4e7; }
html { scroll-behavior:auto; scrollbar-width:thin; scrollbar-color:#404040 #000; }
html::-webkit-scrollbar { display:block; width:8px; height:8px; }
html::-webkit-scrollbar-thumb { background:#404040; border-radius:4px; }
*,*::before,*::after { animation:none !important; }
.glow-orb,.page-scroll-progress,.announce-dot,.hero-eyebrow::before,
.feat-viz,.tv-promo-glow,.hero-context-pill { display:none !important; }
.hero-section,.tools-section,.features-section,.analytics-section,.testimonials-section,
.pricing-section,.faq-section,.cta-section,footer { background:#000; }
nav,nav.nav-scrolled { transition:none; }
.nav-logo img { filter:grayscale(1); }
.nav-links a::after { background:var(--accent); }
.nav-discord { color:#bdbdbd !important; }
.announce-bar { border-color:#ffffff20; }
.announce-bar .announce-cta { color:var(--accent-light); }
.hero-section,html.announce-active .hero-section { padding-top:calc(142px + var(--announce-h,42px)); }
.hero-copy-title .hero-heading { font-size:clamp(42px,5.2vw,72px); letter-spacing:-.055em; }
.hero-heading .hero-dim { color:#a1a1a8; }
.hero-copy-detail p { color:#bdbdbd; }
.hero-copy-detail .cta-primary,.hero-copy-detail .cta-secondary,
.btn-hero,.plan-btn,.btn-dashboard { transition:background .15s,color .15s,border-color .15s; }
.hero-copy-detail .cta-primary:hover,.hero-copy-detail .cta-secondary:hover,
.btn-hero:hover,.plan-btn:hover,.btn-dashboard:hover { transform:none; box-shadow:none; }
.hero-copy-detail .cta-primary svg { display:none; }
.hero-video-sticky { max-width:1000px; margin-top:48px; }
.hero-video-wrap,.tools-mockup .hero-video-wrap { box-shadow:none; border-color:#ffffff26; border-radius:10px; }
.hero-video-dots span { background:#737373 !important; }
.hero-video-wrap video { width:100%; display:block; }
/* Glossy black laptop, shaped around the frontal product reference. */
.macbook-stage { position:relative; perspective:2200px; padding:32px 5% 20px; }
.macbook-stage::after { content:''; position:absolute; bottom:10px; left:10%; right:10%; height:20px; background:radial-gradient(ellipse,#bac8e918,transparent 70%); filter:blur(12px); pointer-events:none; }
.macbook-device { --deck-height:clamp(112px,27vw,285px); width:86%; margin:0 auto; transform:rotateY(-5deg) rotateX(2deg); transform-style:preserve-3d; }
.macbook-device .macbook-display { padding:10px 10px 15px; border:1px solid #515661; border-radius:15px 15px 7px 7px; background:linear-gradient(115deg,#393d45 0%,#121419 2%,#030405 8%,#080a0e 88%,#252932 100%); box-shadow:inset 0 1px 0 #ffffff65,inset 1px 0 0 #ffffff15,inset -1px 0 0 #000,2px 2px 0 #030405,3px 2px 0 #353a43,0 18px 40px #000c; overflow:hidden; }
.macbook-display .hero-video-notch { display:block; top:4px; width:5px; height:5px; border-radius:50%; background:#05070c; box-shadow:0 0 0 1px #2b303b; }
.macbook-display .hero-video-notch::after { bottom:1px; width:3px; height:3px; }
.macbook-display .hero-video-glass { display:block; position:absolute; inset:10px 10px 15px; z-index:8; border:0; border-radius:6px; pointer-events:none; background:linear-gradient(118deg,#ffffff05,transparent 24%,transparent 64%,#ffffff0a 74%,#ffffff15 87%,#ffffff05),linear-gradient(60deg,transparent 72%,#ffffff05 72.2%,#ffffff02); box-shadow:inset 0 0 18px #0002,inset 0 1px 0 #ffffff16; }
.macbook-display .hero-video-chrome { height:31px; min-height:31px; padding-top:4px; background:#0b0c0e; border-color:#ffffff0c; border-radius:7px 7px 0 0; }
.macbook-display .hero-video-url { font-size:9px; }
.macbook-display .hero-video-url>svg:first-child { display:none; }
.macbook-display video { aspect-ratio:16 / 10; border-radius:0 0 5px 5px; object-fit:contain; background:#000; }
.macbook-deck-shell { position:relative; height:calc(var(--deck-height) * .75); margin-top:-2px; transform-style:preserve-3d; }
.macbook-deck { position:absolute; top:0; left:-2%; width:104%; height:var(--deck-height); transform:rotateX(50deg); transform-origin:50% 0; border:1px solid #464b55; border-radius:4px 4px 12px 12px; background:repeating-linear-gradient(95deg,#ffffff01 0 1px,transparent 1px 3px),linear-gradient(115deg,#31363f 0%,#0d1016 17%,#171c25 50%,#0b0e13 77%,#353b46 100%); box-shadow:inset 0 1px 0 #ffffff40,inset 1px 0 0 #ffffff18,inset -1px 0 0 #ffffff20,0 3px 0 #161a22,0 5px 0 #06080c,0 6px 0 #626976,0 20px 28px #000e; }
.macbook-deck::after { content:''; position:absolute; bottom:-6px; left:.2%; right:.2%; height:6px; border-radius:0 0 10px 10px; background:linear-gradient(#3e454f,#171b22 35%,#07090d 80%,#58616f); pointer-events:none; }
.macbook-hinge { position:absolute; left:6%; right:6%; top:0; height:6px; background:linear-gradient(#000,#171c24 60%,#020304); border-radius:0 0 4px 4px; box-shadow:0 2px 5px #0009; }
.macbook-keyboard { position:absolute; left:9%; right:9%; top:8%; height:57%; padding:4px; border-radius:7px; background:#010204; border:1px solid #ffffff12; box-shadow:inset 0 2px 4px #000,0 1px 0 #ffffff10; display:flex; flex-direction:column; gap:4px; }
.macbook-key-row { display:flex; flex:1; min-height:0; gap:3px; }
.macbook-key-row:first-child { flex:.65; }
.macbook-key-row span { display:flex; flex:1; justify-content:center; align-items:center; min-width:0; border-radius:4px; color:#c7cbd2; font:400 clamp(2px,.65vw,7px) 'Inter',sans-serif; background:linear-gradient(160deg,#171b22,#0a0c11 56%,#101319); border:1px solid #ffffff10; box-shadow:inset 0 1px 0 #ffffff15,inset 0 -1px 0 #0009,0 1px 1px #000; text-shadow:0 0 1px #ffffff25; }
.macbook-key-row .key-wide { flex:1.6; }
.macbook-key-row .key-space { flex:6; }
.macbook-key-row .key-arrow-group { flex:2.7; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr); gap:2px; padding:0; background:transparent; border:0; box-shadow:none; }
.key-arrow-group i { display:grid; place-items:center; border:1px solid #ffffff10; border-radius:2px; background:linear-gradient(#151a22,#080b10); font-style:normal; line-height:1; }
.key-arrow-group i:first-child { grid-column:1; grid-row:2; }
.key-arrow-group i:nth-child(2) { grid-column:2; grid-row:1; }
.key-arrow-group i:nth-child(3) { grid-column:2; grid-row:2; }
.key-arrow-group i:last-child { grid-column:3; grid-row:2; }
.macbook-touch-id::after { content:''; width:55%; aspect-ratio:1; max-height:75%; border:1px solid #737c8b60; border-radius:50%; background:#05070b; }
.macbook-speaker { position:absolute; top:10%; height:51%; width:4%; border-radius:3px; background-image:radial-gradient(#020305 33%,#41464f33 37%,transparent 45%); background-size:3px 3px; opacity:.9; }
.macbook-speaker-left { left:3.5%; }
.macbook-speaker-right { right:3.5%; }
.macbook-trackpad { position:absolute; width:39%; height:27%; left:30.5%; bottom:5%; border:1px solid #7b84924a; border-radius:5px; background:linear-gradient(125deg,#121720,#1e2530 50%,#10151e); box-shadow:inset 0 1px 1px #0007,0 1px 0 #ffffff14; }
.macbook-finger-groove { position:absolute; z-index:1; bottom:-6px; left:44%; width:12%; height:6px; border-radius:2px 2px 7px 7px; background:linear-gradient(#10141b,#020304); box-shadow:inset 0 1px 2px #000,0 1px 0 #ffffff20; }
.hero-video-sticky .hero-preview-caption { max-width:900px; margin:24px auto 0; }
@media (max-width:600px) {
  .macbook-stage { padding:12px 3% 12px; }
  .macbook-device { width:92%; transform:rotateY(-2deg); }
  .macbook-device .macbook-display { padding:6px 6px 9px; border-radius:11px 11px 6px 6px; }
  .macbook-display .hero-video-notch { top:2px; width:3px; height:3px; }
  .macbook-display .hero-video-notch::after { bottom:1px; width:1px; height:1px; }
  .macbook-display .hero-video-glass { inset:6px 6px 9px; border-radius:5px; }
  .macbook-display .hero-video-chrome { height:22px; min-height:22px; padding-top:2px; }
  .macbook-display .hero-video-url { font-size:6px; }
  .macbook-display .hero-video-dots span { width:4px; height:4px; }
  .macbook-keyboard { padding:2px; gap:1px; }
  .macbook-key-row { gap:1px; }
  .macbook-key-row span { border-radius:1px; }
  .hero-video-sticky .hero-preview-caption { margin-top:18px; }
}
.hero-pillars { margin-top:40px; }
.platform-section { padding:48px 28px; border-top:1px solid #ffffff20; background:#000; }
.platform-cards-row { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tv-promo-card { width:auto; max-width:none; min-width:0; align-items:flex-start; gap:16px; padding:26px; background:linear-gradient(145deg,#101012,#070708); border:1px solid #ffffff16; border-radius:14px; box-shadow:inset 0 1px 0 #ffffff04; }
.tv-promo-card:hover { transform:none; border-color:#ffffff50; box-shadow:none; }
.tv-promo-name { color:#fff; }
.tv-promo-live,.tv-promo-note { color:#bdbdbd; }
.tv-promo-dot { background:#a3a3a3; box-shadow:none; }
.tv-promo-download,.tv-promo-view { background:#171717; color:#fff; border:1px solid #ffffff30; box-shadow:none; }
.tv-promo-download:hover,.tv-promo-view:hover { background:#262626; color:#fff; box-shadow:none; transform:none; }
.tools-tag,.tag,.hero-eyebrow { color:var(--accent-light); }
.tools-tag::after,.tag::after { background:var(--accent-45); }
.hero-pillar>span { color:var(--accent-light); }
.tools-heading [style] { font-weight:600 !important; }
.features-grid { grid-template-columns:repeat(3,1fr); gap:20px; }
.features-grid .feat { padding:30px; min-height:230px; background:linear-gradient(145deg,#101012,#070708); border:1px solid #ffffff16; border-radius:14px; box-shadow:inset 0 1px 0 #ffffff04; }
.feat-index { position:absolute; right:26px; top:30px; color:#5e6c84; font:400 11px 'DM Mono',monospace; letter-spacing:.08em; }
.features-grid .feat h3 { margin:0 0 12px; font-size:17px; font-weight:550; letter-spacing:-.3px; }
.features-grid .feat p { margin:0; font-size:13px; line-height:1.85; color:#9da9bc; }
.feat::before,.feat::after { display:none; }
.feat:hover { border-color:#ffffff40; transform:none; }
.feat-icon-wrap,.feat:hover .feat-icon-wrap,.feat-list .icon { color:var(--accent-light); background:var(--accent-08); border-color:var(--accent-25); box-shadow:none; }
.feat p { color:#bdbdbd; }
.chart-mock,.chart-mock:hover { background:#080808; box-shadow:none; }
.gex-bar.put { background:#737373; box-shadow:none; }
.gex-bar.call { background:var(--accent); box-shadow:none; }
.metric-val.up,.metric-delta.up { color:#d4d4d4; }
.live-pill { color:#d4d4d4; background:#171717; border-color:#ffffff30; }
.live-dot { background:#d4d4d4; box-shadow:none; }
.testimonials-track { animation:none; transform:none; width:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.testimonials-track .tcard { width:auto; min-width:0; }
.testimonials-track .tcard:nth-child(n+4) { display:none; }
.testimonials-track-wrap { mask-image:none; -webkit-mask-image:none; }
.tc-stars,.tcard-stars { color:var(--accent-light); }
/* ═══ Tarjetas de planes en panel (2026-10-12) ════════════════════════════════
   Un panel con las dos columnas; Premium va elevada sobre él (más clara, sobresale
   20px arriba y abajo). Texto a la izquierda, precio grande con el periodo en mono y
   lista con iconos de círculo. Los iconos son máscaras: el color sale de
   `background-color`, así cada fila lo cambia sin otro SVG. */
.pricing-grid {
  --ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --ico-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8M12 8v8'/%3E%3C/svg%3E");
  --ico-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E");
  --ico-badge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; max-width:880px; margin:28px auto 20px; border:1px solid #ffffff17; border-radius:20px; background:#0a0a0b; text-align:left;
}
.plan-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:36px 36px 32px; }
/* 55px + 1px de borde = los 36px de Standard + los 20px que sobresale: cabeceras y botones quedan a la misma altura. */
.plan-card.featured { z-index:1; margin:-20px -1px; padding:55px 36px 51px; border:1px solid #ffffff2e; border-radius:20px; background:linear-gradient(180deg,#1d1d20,#131315); box-shadow:inset 0 1px 0 #ffffff14,0 24px 60px -18px #000c,-30px 0 60px -30px #000c; }
.plan-card.featured:hover { border-color:#ffffff47; }
/* Altura reservada para nombre + 2 líneas de descripción: si una se parte, los precios siguen alineados. */
.plan-header { position:relative; min-height:72px; padding-right:48px; }
.plan-name { margin:0; font-size:17px; line-height:1.4; font-weight:600; letter-spacing:-.01em; color:#fff; }
.plan-for { margin:0; font-size:17px; line-height:1.4; color:#9b9ba1; }
.plan-popular-badge { position:absolute; top:0; right:0; width:34px; height:34px; color:#ffe9ea; }
.plan-popular-badge svg { display:block; width:100%; height:100%; filter:drop-shadow(0 0 6px #ff6b70cc) drop-shadow(0 0 16px #d92b30b3); }
.plan-popular-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.plan-price-block { margin-top:20px; }
.plan-price { display:flex; align-items:baseline; margin:0; font-size:64px; line-height:1; font-weight:600; letter-spacing:-.045em; color:#fff; }
.plan-price sup { font:inherit; color:inherit; }
.plan-price sub { margin-left:14px; font:400 13px/1 'DM Mono',monospace; letter-spacing:0; color:#8a8a92; }
.plan-offer { display:flex; align-items:center; gap:10px; min-height:22px; margin-top:20px; color:#8a8a92; font:400 12px/1 'DM Mono',monospace; }
.plan-offer-chip { padding:4px 7px; border:1px solid #ffffff24; border-radius:5px; background:#ffffff0d; color:#d4d4d8; font:500 11px/1 'DM Mono',monospace; }
.plan-offer--ghost { visibility:hidden; }
.plan-feats { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.plan-coverage { margin-top:36px; }
.plan-feats li { display:flex; align-items:flex-start; gap:10px; color:#ededef; font-size:14px; line-height:1.45; font-weight:500; }
.plan-feats li::before { content:''; flex:0 0 16px; width:16px; height:16px; margin-top:2px; background-color:#e4e4e7; -webkit-mask:var(--ico-check) center/contain no-repeat; mask:var(--ico-check) center/contain no-repeat; }
.plan-feats li.plan-inherits,.plan-feats li.feat-excl { color:#8a8a92; font-weight:400; }
.plan-feats li.plan-inherits::before { background-color:#8a8a92; -webkit-mask-image:var(--ico-plus); mask-image:var(--ico-plus); }
.plan-feats li.feat-excl::before { background-color:#6f6f76; -webkit-mask-image:var(--ico-minus); mask-image:var(--ico-minus); }
.plan-feature-copy { min-width:0; }
.plan-feature-copy strong { display:block; font-weight:500; color:#ededef; }
.plan-feature-copy .sym-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.plan-coverage .sym-chips .more { color:var(--accent-light); }
.plan-offerings { margin-top:14px; }
.plan-offerings summary { display:inline-flex; align-items:center; gap:6px; margin-left:26px; padding:4px 0; cursor:pointer; list-style:none; color:#c9c9cf; font-size:14px; font-weight:500; }
.plan-offerings summary::-webkit-details-marker { display:none; }
.plan-offerings summary:hover { color:#fff; }
.plan-offerings-less,.plan-offerings[open] .plan-offerings-more { display:none; }
.plan-offerings[open] .plan-offerings-less { display:inline; }
.plan-offerings summary svg { flex:0 0 15px; width:15px; height:15px; transition:transform .2s ease; }
.plan-offerings[open] summary svg { transform:rotate(180deg); }
.plan-offerings-content { padding-top:12px; }
.plan-exclusions { margin-top:22px; padding-top:18px; border-top:1px solid #ffffff14; }
.plan-exclusive-heading { margin:0 0 13px; color:#8a8a92; font:400 11px/1.5 'DM Mono',monospace; }
.plan-footer { margin-top:auto; padding-top:36px; }
.plan-btn { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid #ffffff1f; border-radius:10px; background:linear-gradient(180deg,#1c1c1f,#131315); color:#f4f4f5; font-size:14px; font-weight:600; text-decoration:none; }
.plan-btn::before { content:''; flex:0 0 16px; width:16px; height:16px; background-color:currentColor; -webkit-mask:var(--ico-badge) center/contain no-repeat; mask:var(--ico-badge) center/contain no-repeat; }
.plan-btn:hover { border-color:#ffffff3d; background:linear-gradient(180deg,#242428,#18181b); }
.plan-btn.featured-btn { border-color:#f4f4f5; background:#f4f4f5; color:#0a0a0b; }
.plan-btn.featured-btn:hover { border-color:#fff; background:#fff; }
.plan-note { margin:12px 0 0; text-align:center; color:#8a8a92; font:400 11px/1.4 'DM Mono',monospace; }
/* En una sola columna el panel sobra: cada plan es su propia tarjeta. */
@media (max-width:780px) {
  .pricing-grid { grid-template-columns:1fr; gap:16px; max-width:440px; margin:0 auto; border:0; border-radius:0; background:transparent; }
  .plan-card,.plan-card.featured { margin:0; padding:30px 24px 26px; border:1px solid #ffffff17; border-radius:18px; background:#0a0a0b; }
  .plan-card.featured { border-color:#ffffff2e; background:linear-gradient(180deg,#1d1d20,#131315); }
  .plan-header { min-height:0; }
  .plan-price-block { margin-top:32px; }
  .plan-price { font-size:56px; }
  .plan-offer--ghost { display:none; }
  .plan-offerings summary { min-height:44px; }
}
.pricing-comparison { max-width:800px; margin:24px auto 0; text-align:left; }
.pricing-comparison summary { width:max-content; max-width:100%; margin:0 auto; padding:10px; list-style:none; cursor:pointer; color:#a6b8d6; font-size:12px; line-height:1.6; text-align:center; }
.pricing-comparison summary::-webkit-details-marker { display:none; }
.pricing-comparison summary::after { content:' +'; color:#d4d4d8; }
.pricing-comparison[open] summary::after { content:' -'; }
.pricing-comparison summary:hover { color:#fff; }
.pricing-comparison-content { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; padding:24px; margin-top:12px; background:#0a0a0b; border:1px solid #ffffff16; border-radius:12px; }
.pricing-comparison-content h3 { font-size:15px; font-weight:600; color:#fff; margin:0 0 16px; }
.comparison-feats { list-style:none; display:grid; gap:12px; }
.comparison-feats li { display:flex; align-items:flex-start; gap:11px; color:#a3b1c9; font-size:12px; line-height:1.7; }
.comparison-feats .plan-feature-copy strong { color:#d5e0f3; font-size:12px; }
.comparison-feats .sym-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.sym-chips span { padding:4px 7px; border:1px solid #ffffff1f; border-radius:5px; font:400 11px/1 'DM Mono',monospace; color:#a1a1a8; }
@media (max-width:600px) { .pricing-comparison-content { grid-template-columns:1fr; } }
.tcard { padding:28px; border-radius:14px; border-color:#ffffff16; background:linear-gradient(145deg,#101012,#070708); }
.tcard-text { color:#b4b4b8; line-height:1.85; }
.feat-list li { border-color:#ffffff16; border-radius:10px; padding:20px; background:#0a0a0b; }
.sr { opacity:1; transform:none; filter:none; transition:none; }
.btn-dashboard { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:none; }
.btn-dashboard:hover { background:var(--accent-2); border-color:var(--accent-2); color:#fff; box-shadow:none; }
.tcard-avatar { background:var(--accent-10); color:var(--accent-light); border-color:var(--accent-25); }
.feat,.plan-card,.tv-promo-card,.tcard { transition:transform .25s ease,border-color .25s ease,background .25s ease; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .feat:hover,.tv-promo-card:hover,.tcard:hover { transform:translateY(-3px); border-color:#ffffff40; }
  .hero-copy-detail .cta-primary:hover,.btn-hero:hover { transform:translateY(-2px); }
}
@media (max-width:900px) {
  .features-grid,.testimonials-track { grid-template-columns:repeat(2,1fr); }
  .platform-cards-row { grid-template-columns:1fr; max-width:600px; }
}
@media (max-width:600px) {
  .hero-section,html.announce-active .hero-section { padding-top:calc(112px + var(--announce-h,42px)); }
  .hero-copy-title .hero-heading { font-size:clamp(34px,9vw,52px); }
  .hero-video-sticky { margin-top:32px; }
  .hero-pillars { margin-top:28px; }
  .platform-section { padding:32px 20px; }
  .features-grid,.testimonials-track { grid-template-columns:1fr; }
}

/* ═══ Capa neutra (pasada de diseño 2026-10-06) ═══════════════════════════════
   Negro y blanco; un solo acento neutro; el color sólo significa algo (datos).
   Criterios (Apple HIG: Simplicity / Craft / Accessibility): contraste de texto
   >= 4.5:1, objetivos táctiles >= 44px, nada que se mueva solo, y respeto a
   «reducir movimiento». Va al final para ganar a las reglas anteriores. */
.btn-dashboard,
.hero-copy-detail .cta-primary,
#trialBtn,
.plan-btn.featured-btn,
.announce-bar .announce-cta.is-solid { background:#f4f4f5; color:#0a0a0b; border-color:#f4f4f5; box-shadow:none; }
.btn-dashboard:hover,
.hero-copy-detail .cta-primary:hover,
#trialBtn:hover,
.plan-btn.featured-btn:hover { background:#ffffff; color:#0a0a0b; border-color:#ffffff; box-shadow:none; }
.btn-dashboard { min-height:44px; }
.hero-copy-detail .cta-secondary { min-height:48px; }

/* etiquetas y subtítulos: gris, sin color */
.hero-eyebrow, .tag, .tools-tag, .announce-bar .announce-cta, .section-kicker { color:#a1a1a8; border-color:#ffffff24; }
.hero-eyebrow::before, .announce-bar .announce-dot { background:#ffffff; box-shadow:none; }
.announce-bar .announce-cta:hover { color:#ffffff; }
.feat-icon-wrap, .icon { color:#e4e4e7; background:#ffffff0a; border-color:#ffffff1f; }
.feat-icon-wrap svg *, .icon svg * { stroke:currentColor; }
.tv-promo-live, .plan-offer-chip { color:#d4d4d8; background:#ffffff0d; border-color:#ffffff24; }

/* galería: sin violeta */
.gallery-open-btn { color:#e4e4e7; border-color:#ffffff2e; background:#ffffff0a; }
.gallery-open-btn:hover { border-color:#ffffff66; }
.gallery-head .gh-title .gh-dot { background:#ffffff; box-shadow:none; }
.gallery-grid img:hover { border-color:#ffffff66; }
.lb-nav:hover { background:#ffffff1f; border-color:#ffffff66; }

/* reseñas y símbolos: estáticos (nada que corra solo) */
.testimonials-track-wrap, .ticker-strip { -webkit-mask-image:none; mask-image:none; }
.testimonials-track { animation:none; width:auto; flex-wrap:wrap; justify-content:center; max-width:1160px; margin:0 auto; padding:0 24px; }
.testimonials-track .tcard:nth-child(n+7) { display:none; }
.tcard { width:min(360px,100%); }
.ticker-track { animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
.ticker-track > *:nth-child(n+13) { display:none; }

/* marcas de "incluido", chevrones y estado LIVE: neutros (el verde/rojo queda sólo para datos) */
.comparison-feats li::before { border-color:#ffffff30; background:#ffffff0a; color:#f4f4f5; }
.plan-offerings summary svg { color:#d4d4d8; }
.live-pill { background:#ffffff0d; border-color:#ffffff24; color:#e4e4e7; }
.live-dot, .map-modal .modal-sub .live-dot { background:#f4f4f5; box-shadow:none; }

/* puntos de estado fijos, sin parpadeo */
.live-dot, .tv-promo-dot, .announce-dot { animation:none; box-shadow:none; }

/* movimiento: sólo respuesta al tacto/ratón. Los adornos desaparecen */
.glow-orb, .page-scroll-progress, .hero-section::before, .hero-section::after { display:none; }
.feat:hover, .tv-promo-card:hover, .tcard:hover { transform:none; border-color:#ffffff40; }
a, button, .feat, .plan-card, .tcard { transition-duration:.15s; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* tamaño mínimo de texto: 11px en etiquetas y notas reales */
.tag, .tools-tag, .hero-eyebrow, .plan-note, .plan-exclusive-heading, .plan-popular-badge, .plan-offer-chip,
.badge, .price-refund-note, .more, .announce-bar, .hero-context-pill { font-size:max(11px,1em); }
.tag, .tools-tag, .hero-eyebrow, .plan-popular-badge, .plan-offer-chip { font-size:11px; }
.plan-card .plan-note, .plan-card .plan-exclusive-heading { font-size:11px; }

/* móvil: objetivos táctiles de 44px */
@media (max-width:780px) {
  .lang-sel, .nav-hamburger, .mobile-nav-panel a, .faq-q, .faq-question, .bill-btn, .plan-btn, .cta-primary, .cta-secondary, #gf-chat-btn { min-height:44px; }
  .lang-sel, .nav-hamburger { min-width:44px; }
  .nav-logo, footer a { display:inline-flex; align-items:center; min-height:44px; }
  .tv-promo-download, .tv-promo-view, .gf-header-close, #gf-send, .gf-suggestions button { min-height:44px; min-width:44px; }
}

/* ═══ Acento rojo moderado (2026-10-06) ═══════════════════════════════════════
   Sólo en: botón de la oferta, «View Plans →» y el brillo del sello de Premium
   (las tarjetas de planes llevan botones y ✓ neutros desde el 2026-10-12).
   Relleno #d92b30 con texto blanco = 4.84:1; texto/✓ #ff6b70 sobre negro = 7.6:1. */
:root { --buy:#d92b30; --buy-hover:#e5393e; --buy-text:#ff6b70; --buy-text-hover:#ff9a9d; }
.offer-primary { background:var(--buy); border-color:var(--buy); color:#ffffff; }
.offer-primary:hover { background:var(--buy-hover); border-color:var(--buy-hover); color:#ffffff; }
.comparison-feats li::before { border-color:#d92b3066; background:#d92b3018; color:var(--buy-text); }
.announce-bar .announce-cta { color:var(--buy-text); font-weight:600; }
.announce-bar .announce-cta:hover { color:var(--buy-text-hover); }

/* ═══ Ventana de producto (2026-10-06) ════════════════════════════════════════
   Sustituye al portátil 3D (perspectiva, teclado, trackpad, altavoces), que se veía
   falso. Ahora es una ventana plana con borde fino y sombra suave. El vídeo usa su
   proporción real (1912×946) para no dejar franjas negras. */
.macbook-stage { perspective:none; padding:0; margin-top:8px; }
.macbook-stage::after, .macbook-deck-shell { display:none; }
.macbook-device { width:100%; max-width:1080px; margin:0 auto; transform:none; transform-style:flat; }
.macbook-device .macbook-display { padding:0; border:1px solid #ffffff26; border-radius:14px; background:#000;
  box-shadow:0 40px 90px -40px #000, 0 0 0 1px #00000080; overflow:hidden; }
.macbook-display .hero-video-notch, .macbook-display .hero-video-glass { display:none; }
.macbook-display .hero-video-chrome { height:40px; min-height:40px; padding:0 16px; background:#0a0a0b; border-bottom:1px solid #ffffff1a; }
.macbook-display .hero-video-dots { gap:7px; }
.macbook-display .hero-video-dots span { width:10px; height:10px; background:#3a3a3f !important; }
.macbook-display .hero-video-dots span::after { display:none; }
.macbook-display .hero-video-url { font-size:12px; color:#8a8a92; }
.macbook-display video { display:block; width:100%; aspect-ratio:1912 / 946; border-radius:0; object-fit:cover; background:#000; }
@media (max-width:780px) {
  .macbook-device .macbook-display { border-radius:10px; }
  .macbook-display .hero-video-chrome { height:30px; min-height:30px; padding:0 10px; }
  .macbook-display .hero-video-dots span { width:8px; height:8px; }
  .macbook-display .hero-video-url { font-size:11px; }
}
/* numeración de los pilares: gris, sin cian */
.hero-pillar span { color:#a1a1a8; }

/* vídeo del hero: sin controles ni interacción (no se puede pausar ni abrir su menú) */
#heroDemoVideo { pointer-events:none; user-select:none; -webkit-user-select:none; }
#heroDemoVideo::-webkit-media-controls, #heroDemoVideo::-webkit-media-controls-enclosure { display:none !important; }

/* Franja del indicador de TradingView, en la primera pantalla bajo los botones. */
.hero-indicator { display:flex; align-items:center; gap:14px; width:100%; max-width:560px; margin:0 auto 18px; padding:12px 14px; border:1px solid #ffffff2e; border-radius:12px; background:#0f0f11; text-align:left; scroll-margin-top:90px; }
.hero-indicator-logo { flex:none; }
.hero-indicator-text { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.hero-indicator-text strong { font-size:13px; font-weight:700; color:#fff; letter-spacing:-.005em; }
.hero-indicator-text span { font-size:11.5px; color:#a1a1aa; }
.hero-indicator-actions { flex:none; display:flex; align-items:center; gap:8px; }
.hero-indicator-view { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:9px 14px; border-radius:8px; border:1px solid #ffffff30; background:transparent; color:#e4e4e7; font-weight:600; font-size:12px; font-family:inherit; cursor:pointer; }
.hero-indicator-view:hover { background:#ffffff14; }
.hero-indicator-buy { padding:9px 15px; border-radius:8px; background:#f4f4f5; color:#0a0a0b; font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; }
.hero-indicator-buy:hover { background:#fff; }
@media (max-width: 640px) {
  .hero-indicator { flex-wrap:wrap; }
  .hero-indicator-actions { width:100%; }
  .hero-indicator-actions > * { flex:1; text-align:center; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
}

.tv-promo-view { text-decoration:none; }
.hero-indicator-view:focus-visible, .tv-promo-view:focus-visible { outline:2px solid #fff; outline-offset:4px; }
