/* ══════════════════════════════════════════════════════════════════════
   GstarCAD Point Cloud — identidad propia (se carga después de site.css y fx.css,
   la base compartida con el sitio de GstarCAD 365).

   Paleta "escáner": grafito oscuro + cian, esmeralda y ámbar (los colores
   por altura de una nube de puntos). Aquí se re-tokeniza la base y se
   definen las secciones propias: hero con nube de puntos, Acerca, Paquete,
   Características, Formatos y Licencias.
   ══════════════════════════════════════════════════════════════════════ */
:root {
    --brand:      #1557ff;
    --brand-2:    #3b82f6;
    --brand-deep: #0b3fd1;
    --cyan:       #93c5fd;
    --gold:       #1557ff;
    --gold-2:     #1557ff;
    --amber:      #f59e0b;
    --graphite:   #0b1220;
    --graphite-2: #111a2e;
    --ink:        #0b1220;
}

/* Botones y acentos en la paleta del escáner */
.b365-solid { background: var(--brand); box-shadow: 0 10px 22px -10px rgba(13,148,136,.65); }
.b365-solid:hover { background: var(--brand-deep); }
.b365-line { color: var(--brand); border-color: var(--brand); }
.b365-solid.b365-shine { background-image: linear-gradient(110deg, #1557ff 0%, #2563eb 40%, #2563eb 75%, #1557ff 100%); }
.b365-solid.b365-shine:hover { box-shadow: 0 18px 34px -12px rgba(8,145,178,.65), 0 0 0 4px rgba(13,148,136,.16); }
.h2-365 .hl, .pc-grad { background: linear-gradient(90deg, #1557ff, #2563eb 45%, #f59e0b); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kicker { color: var(--brand); }
.tick { background: var(--brand); }
#progress365 { background: linear-gradient(90deg, #2563eb, #2563eb, #f59e0b, #ef4444); }
.grad-a { background-image: linear-gradient(135deg, #2563eb, #93c5fd); }
.grad-b { background-image: linear-gradient(135deg, #1d4ed8, #2563eb); }
.grad-c { background-image: linear-gradient(135deg, #d97706, #f59e0b); }
.grad-d { background-image: linear-gradient(135deg, #2563eb, #7c3aed); }
.stats365-grid { background: linear-gradient(135deg, #a5f3fc, #bfdbfe, #fde68a); box-shadow: 0 30px 60px -36px rgba(13,148,136,.55); }

/* Marca (texto + ícono de puntos) en menú y pie */
.brand365 { display: inline-flex; align-items: center; gap: .55rem; }
.pc-mark { flex: none; width: 38px; height: 38px; border-radius: .7rem; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0b1220, #1e293b); box-shadow: 0 6px 16px -8px rgba(11,18,32,.8); }
.pc-mark svg { width: 28px; height: 28px; }
.pc-word { font-weight: 800; font-size: 1.15rem; letter-spacing: -.02em; color: var(--ink); white-space: nowrap; }
.pc-word em { font-style: normal; background: linear-gradient(90deg, #1557ff, #2563eb); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (max-width: 400px) { .pc-word { font-size: 1rem; } }

/* ───────── HERO ───────── */
.pc-hero { position: relative; overflow: hidden; padding: 8rem 1.25rem 4rem; color: #e2e8f0; background: radial-gradient(900px 500px at 80% 40%, rgba(13,148,136,.25), transparent 65%), radial-gradient(700px 400px at 10% 90%, rgba(37,99,235,.2), transparent 70%), linear-gradient(180deg, #070d18 0%, #0b1220 100%); }
.pc-hero-grid-bg { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(148,163,184,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(148,163,184,.07) 1px, transparent 1px); background-size: 40px 40px; -webkit-mask-image: radial-gradient(ellipse at 70% 50%, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse at 70% 50%, #000 30%, transparent 75%); }
.pc-hero-grid { position: relative; display: grid; gap: 2.5rem; align-items: center; }
.pc-hero-grid > * { min-width: 0; }
@media (min-width: 1024px) { .pc-hero-grid { grid-template-columns: 1fr 1.1fr; } .pc-hero { min-height: 92vh; display: flex; align-items: center; } }
.pc-hero h1 { margin-top: .9rem; font-size: clamp(2.3rem, 4.6vw, 3.6rem); line-height: 1.06; font-weight: 800; letter-spacing: -.03em; color: #fff; }
.pc-hero .lead365 { color: #a8b3c7; }
.pc-hero .kicker-pill { background: rgba(255,255,255,.06); border-color: rgba(45,212,191,.35); color: #bfdbfe; }
.pc-hero .hero-checks { color: #94a3b8; }
.pc-hero .b365-line { color: #e2e8f0; border-color: rgba(226,232,240,.4); background: transparent; }
.pc-hero .b365-line:hover { background: rgba(255,255,255,.08); }
.pc-play svg { margin-right: .1rem; }
.pc-stage { position: relative; aspect-ratio: 1.15; }
.pc-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.pc-tag { position: absolute; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .8rem; border-radius: 9999px; background: rgba(15,23,42,.75); border: 1px solid rgba(148,163,184,.25); backdrop-filter: blur(6px); font-size: .76rem; font-weight: 700; color: #e2e8f0; opacity: 0; animation: tag-pop .5s cubic-bezier(.2,.8,.2,1.4) forwards, float 6s ease-in-out infinite; }
.pc-tag i { width: 8px; height: 8px; border-radius: 50%; }
.pc-tag.t1 { left: 4%; top: 8%; animation-delay: 1.2s, 1.8s; }
.pc-tag.t2 { right: 2%; top: 38%; animation-delay: 1.8s, 2.4s; }
.pc-tag.t3 { left: 10%; bottom: 6%; animation-delay: 2.4s, 3s; }
/* Menú transparente sobre el hero oscuro hasta que se hace scroll */
#site-nav:not(.scrolled) { background: rgba(7,13,24,.55); border-color: transparent; }
#site-nav:not(.scrolled) .nav365-links a, #site-nav:not(.scrolled) .pc-word { color: #e2e8f0; }
#site-nav:not(.scrolled) .b365-line { color: #e2e8f0; border-color: rgba(226,232,240,.5); background: transparent; }
#site-nav:not(.scrolled) button[aria-label="Abrir menú"] { color: #e2e8f0 !important; }

/* Video oficial */
.pc-video { position: fixed; inset: 0; z-index: 80; display: flex; align-items: center; justify-content: center; padding: 1.25rem; background: rgba(2,6,16,.85); backdrop-filter: blur(6px); }
.pc-video[hidden] { display: none; }
.pc-video-box { position: relative; width: min(1000px, 100%); }
.pc-video video { display: block; width: 100%; border-radius: .9rem; background: #000; box-shadow: 0 40px 80px -30px rgba(0,0,0,.8); }
.pc-video-close { position: absolute; right: -.5rem; top: -2.6rem; border: 0; background: none; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }

/* ───────── ACERCA ───────── */
.pc-about { background: radial-gradient(700px 360px at 100% 0%, rgba(34,211,238,.08), transparent 70%), #fff; }
.pc-about-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 960px) { .pc-about-grid { grid-template-columns: 1.05fr 1fr; gap: 4rem; } }
.pc-p { margin-top: 1rem; color: var(--muted); line-height: 1.7; }
.pc-uses { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.pc-uses li { padding: .4rem .8rem; border-radius: 9999px; background: #f5f9ff; border: 1px solid #dbeafe; font-size: .82rem; font-weight: 700; color: #115e59; }
/* ───────── PAQUETE (sección oscura) ───────── */
.pc-suite.s365-dark { background: radial-gradient(900px 500px at 10% 0%, rgba(13,148,136,.32), transparent 60%), radial-gradient(800px 500px at 100% 100%, rgba(37,99,235,.28), transparent 60%), linear-gradient(180deg, #070d18, #0f1a2e); }
.pc-suite .glow-blob.g1 { background: rgba(34,211,238,.18); }
.pc-suite .glow-blob.g2 { background: rgba(245,158,11,.14); }
.pc-suite .kicker { color: #bfdbfe; }
.pc-suite .h2-365 .hl { background-image: linear-gradient(90deg, #bfdbfe, #93c5fd 50%, #fcd34d); }
.suite-grid { display: grid; gap: 1.1rem; }
@media (min-width: 900px) { .suite-grid { grid-template-columns: repeat(3, 1fr); } }
.suite { position: relative; display: flex; flex-direction: column; padding: 1.75rem 1.5rem 1.5rem; border-radius: 1rem; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(6px); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.suite:hover { transform: translateY(-6px); border-color: rgba(94,234,212,.45); box-shadow: 0 30px 60px -30px rgba(13,148,136,.7); }
.suite-n { position: absolute; top: 1.1rem; right: 1.3rem; font-size: 2.6rem; font-weight: 800; line-height: 1; background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.03)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.suite-ic { width: 52px; height: 52px; border-radius: .9rem; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #1557ff, #2563eb); box-shadow: 0 12px 24px -10px rgba(13,148,136,.8); }
.suite-ic svg { width: 26px; height: 26px; }
.suite h3 { margin-top: 1.1rem; font-size: 1.2rem; font-weight: 800; color: #fff; }
.suite-sub { margin-top: .15rem; font-size: .8rem; font-weight: 700; color: #bfdbfe; text-transform: uppercase; letter-spacing: .06em; }
.suite p:not(.suite-sub) { margin-top: .8rem; font-size: .9rem; line-height: 1.6; color: #a8b3c7; }
.suite-act { display: flex; gap: .5rem; margin-top: auto; padding-top: 1.4rem; }
.pc-suite .pbtn { border-color: #3b82f6; color: #bfdbfe; }
.pc-suite .pbtn:hover { background: linear-gradient(135deg, #1557ff, #2563eb); color: #fff; }
.pbtn-solid { background: linear-gradient(135deg, #1557ff, #2563eb) !important; border-color: transparent !important; color: #fff !important; }
.pbtn-ghost { border-color: rgba(255,255,255,.25) !important; color: #cbd5e1 !important; }

/* ───────── CARACTERÍSTICAS ───────── */
.pc-feats { background: linear-gradient(180deg, #ffffff, #f4f8ff); }
.ptabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.75rem; }
.ptab { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.05rem; border-radius: 9999px; border: 1px solid var(--line); background: #fff; font: inherit; font-size: .88rem; font-weight: 700; color: var(--ink); cursor: pointer; transition: all .2s ease; }
.ptab b { min-width: 1.5rem; padding: .05rem .45rem; border-radius: 9999px; background: #eef2f7; font-size: .72rem; color: var(--muted); }
.ptab:hover { border-color: #dbeafe; transform: translateY(-1px); }
.ptab.on { color: #fff; border-color: transparent; background: linear-gradient(135deg, #1557ff, #2563eb); box-shadow: 0 10px 22px -12px rgba(13,148,136,.8); }
.ptab.on b { background: rgba(255,255,255,.22); color: #fff; }
.pc-feat .ic { background: linear-gradient(135deg, #1557ff, #2563eb) !important; box-shadow: 0 10px 22px -10px rgba(13,148,136,.7) !important; }
.pc-feat-grid .pc-feat:nth-child(3n+2) .ic { background: linear-gradient(135deg, #2563eb, #2563eb) !important; }
.pc-feat-grid .pc-feat:nth-child(3n) .ic { background: linear-gradient(135deg, #d97706, #f59e0b) !important; }
.pc-feat::after { background: linear-gradient(90deg, #1557ff, #93c5fd, #f59e0b) !important; }
.pc-feat::before { background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(13,148,136,.10), transparent 60%) !important; }

/* ───────── FORMATOS + LICENCIAS ───────── */
.pc-formats { background: #f4f8ff; overflow: hidden; }
.fmt-rows { position: relative; width: 100vw; margin: .5rem 0 3rem calc(50% - 50vw); display: grid; gap: .8rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%); }
/* Dos mitades idénticas; el espacio va dentro de cada etiqueta (margin-right) para que -50% sea exacto */
.fmt-track { display: flex; width: max-content; animation: fmt 70s linear infinite; will-change: transform; }
.fmt-track.rev { animation-direction: reverse; animation-duration: 85s; }
.fmt-set { display: flex; flex: none; }
.fmt-set span { flex: none; margin-right: .8rem; padding: .7rem 1.2rem; border-radius: .8rem; background: #0b1220; color: #e2e8f0; font-weight: 800; font-size: .95rem; letter-spacing: .02em; white-space: nowrap; box-shadow: 0 10px 22px -16px rgba(11,18,32,.9); }
.fmt-set span:nth-child(3n+1) { border-bottom: 3px solid #93c5fd; }
.fmt-set span:nth-child(3n+2) { border-bottom: 3px solid #2563eb; }
.fmt-set span:nth-child(3n) { border-bottom: 3px solid #f59e0b; }
@keyframes fmt { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.fmt-rows:hover .fmt-track { animation-play-state: paused; }
.lic-box { display: grid; gap: 1.5rem; align-items: center; padding: 2rem; border-radius: 1.25rem; background: #fff; border: 1px solid #eff6ff; box-shadow: 0 30px 60px -40px rgba(13,148,136,.6); scroll-margin-top: 6rem; }
@media (min-width: 960px) { .lic-box { grid-template-columns: 1fr 1.3fr auto; gap: 2rem; } }
.lic-box h3 { margin-top: .4rem; font-size: 1.4rem; font-weight: 800; color: var(--ink); }
.lic-box p { margin-top: .5rem; font-size: .9rem; color: var(--muted); line-height: 1.6; }
.lic-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .8rem; }
@media (min-width: 640px) { .lic-list { grid-template-columns: 1fr 1fr; } }
.lic-list li { padding: .8rem 1rem; border-radius: .8rem; background: #f5f9ff; border-left: 3px solid #3b82f6; }
.lic-list b { display: block; font-size: .92rem; color: var(--ink); }
.lic-list span { font-size: .8rem; color: var(--muted); }

/* CTA en la paleta del escáner */
.cta365 { background: linear-gradient(110deg, #070d18, #0f2a3a, #1557ff, #2563eb, #0f2a3a); background-size: 300% 100%; }
.cta365 .kicker { color: #bfdbfe; }

@media (prefers-reduced-motion: reduce) {
    .fmt-track, .pc-tag { animation: none !important; opacity: 1 !important; }
}

/* El menú de Point Cloud tiene una marca más larga: menos espacio entre enlaces */
@media (min-width: 1024px) and (max-width: 1360px) { .nav365-links { gap: 1.1rem; font-size: .86rem; } .nav365-cta .b365-line { display: none; } }

/* ══════════ Rediseño con capturas reales ══════════ */

/* Acerca: título centrado, texto + pasos a la izquierda, pantalla a la derecha */
.pc-about-head { text-align: center; max-width: 46rem; margin: 0 auto 2.5rem; }
.pc-about-grid { align-items: start; }
@media (min-width: 960px) { .pc-about-grid { grid-template-columns: .85fr 1.15fr; gap: 3rem; } }
.pc-p-lead { margin-top: 0; font-size: 1.05rem; color: var(--ink); }
.pc-flow { margin: 1.6rem 0 0; padding: 0; list-style: none; display: grid; gap: .55rem; }
.pc-flow button { display: flex; gap: 1rem; align-items: flex-start; width: 100%; padding: .9rem 1rem; border-radius: .9rem; border: 1px solid var(--line); background: #fff; font: inherit; text-align: left; color: var(--muted); font-size: .86rem; line-height: 1.5; cursor: pointer; transition: border-color .25s ease, box-shadow .25s ease, background .25s ease; }
.pc-flow button:hover { border-color: #dbeafe; }
.pc-flow button.on { border-color: transparent; background: linear-gradient(135deg, #0b1220, #16213a); color: #a8b3c7; box-shadow: 0 18px 36px -22px rgba(11,18,32,.9); }
.pc-flow em { flex: none; font-style: normal; font-weight: 800; font-size: 1.1rem; color: #94a3b8; }
.pc-flow button.on em { color: #bfdbfe; }
.pc-flow b { display: block; font-size: .98rem; color: var(--ink); margin-bottom: .1rem; }
.pc-flow button.on b { color: #fff; }
.pc-screen { margin: 0; border-radius: 1rem; overflow: hidden; background: #0b1220; box-shadow: 0 40px 80px -40px rgba(11,18,32,.75), 0 0 0 1px rgba(11,18,32,.08); }
.pc-screen-bar { display: flex; align-items: center; gap: .35rem; padding: .55rem .8rem; background: #111a2e; font-size: .75rem; color: #94a3b8; }
.pc-screen-bar i { width: 9px; height: 9px; border-radius: 50%; background: #334155; }
.pc-screen-bar i:nth-child(1) { background: #f87171; } .pc-screen-bar i:nth-child(2) { background: #fbbf24; } .pc-screen-bar i:nth-child(3) { background: #60a5fa; }
.pc-screen-bar span { margin-left: .6rem; color: #e2e8f0; font-weight: 600; }
.pc-screen-img { position: relative; aspect-ratio: 2 / 1; }
.pc-screen-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.02); transition: opacity .6s ease, transform 1.2s ease; }
.pc-screen-img img.on { opacity: 1; transform: none; }
.pc-screen figcaption { padding: .55rem .8rem; font-size: .72rem; color: #64748b; background: #0b1220; }
.pc-uses { justify-content: center; margin-top: 2.25rem; }

/* Paquete: captura arriba de cada tarjeta */
.suite { padding: 0 0 1.5rem; overflow: hidden; }
.suite > *:not(.suite-shot) { margin-left: 1.5rem; margin-right: 1.5rem; }
.suite-shot { position: relative; aspect-ratio: 2 / 1; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.1); }
.suite-shot img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.suite:hover .suite-shot img { transform: scale(1.06); }
.suite-shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(7,13,24,.85)); }
.suite-shot .suite-n { position: absolute; z-index: 1; top: auto; bottom: .6rem; right: .9rem; font-size: 2.2rem; background: linear-gradient(180deg, #fff, rgba(255,255,255,.35)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.suite-ic { margin-top: -26px; position: relative; z-index: 2; }

/* Características: grupos + captura a la izquierda, lista a la derecha */
.pc-feats-head { max-width: 48rem; }
.pc-feats-head p { margin-top: .8rem; color: var(--muted); line-height: 1.6; }
.pc-feats-grid { display: grid; gap: 2rem; margin-top: 2.25rem; }
@media (min-width: 1024px) { .pc-feats-grid { grid-template-columns: .9fr 1.1fr; gap: 2.75rem; align-items: start; } .pc-feats-side { position: sticky; top: 6rem; } }
.pc-groups { display: grid; gap: .5rem; }
.pc-groups button { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; border-radius: .9rem; border: 1px solid var(--line); background: #fff; font: inherit; text-align: left; cursor: pointer; transition: all .25s ease; }
.pc-groups button span { font-weight: 800; color: var(--ink); font-size: .98rem; }
.pc-groups button small { display: block; margin-top: .15rem; font-weight: 500; font-size: .8rem; color: var(--muted); line-height: 1.45; }
.pc-groups button b { flex: none; width: 2.2rem; height: 2.2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #f5f9ff; color: #0b3fd1; font-size: .9rem; }
.pc-groups button.on { border-color: transparent; background: linear-gradient(135deg, #1557ff, #2563eb); box-shadow: 0 16px 32px -18px rgba(13,148,136,.8); }
.pc-groups button.on span, .pc-groups button.on small { color: #fff; }
.pc-groups button.on b { background: rgba(255,255,255,.2); color: #fff; }
.pc-feats-shot { position: relative; margin-top: 1rem; aspect-ratio: 2 / 1; border-radius: .9rem; overflow: hidden; background: #0b1220; box-shadow: 0 30px 60px -36px rgba(11,18,32,.8); }
.pc-feats-shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; }
.pc-feats-shot img.on { opacity: 1; }
.pc-feats-list ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .1rem; }
@media (min-width: 640px) { .pc-feats-list ul { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; } }
.pc-feats-list li { display: flex; gap: .85rem; align-items: flex-start; padding: .9rem .4rem; border-bottom: 1px dashed #d5e4ea; font-size: .84rem; color: var(--muted); line-height: 1.5; transition: transform .25s ease; }
.pc-feats-list li:hover { transform: translateX(4px); }
.pc-feats-list i { flex: none; width: 40px; height: 40px; border-radius: .7rem; display: flex; align-items: center; justify-content: center; color: #0b3fd1; background: linear-gradient(135deg, #eff6ff, #cffafe); }
.pc-feats-list li:nth-child(3n+2) i { color: #1d4ed8; background: linear-gradient(135deg, #dbeafe, #e0f2fe); }
.pc-feats-list li:nth-child(3n) i { color: #b45309; background: linear-gradient(135deg, #fef3c7, #ffedd5); }
.pc-feats-list i svg { width: 21px; height: 21px; }
.pc-feats-list b { display: block; font-size: .93rem; color: var(--ink); }

/* Video */
.pc-video-sec { background: linear-gradient(180deg, #f4f8ff, #ffffff); }
.pc-video-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 960px) { .pc-video-grid { grid-template-columns: .85fr 1.15fr; gap: 3.5rem; } }
.pc-poster { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 1.1rem; overflow: hidden; cursor: pointer; background: #0b1220; box-shadow: 0 40px 80px -40px rgba(11,18,32,.7); }
.pc-poster img { display: block; width: 100%; height: auto; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.pc-poster:hover img { transform: scale(1.04); }
.pc-poster-play { position: absolute; left: 50%; top: 55%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #1557ff, #2563eb); box-shadow: 0 0 0 10px rgba(13,148,136,.25); animation: play-pulse 2.4s ease-out infinite; }
.pc-poster-play svg { width: 34px; height: 34px; margin-left: 4px; }
@keyframes play-pulse { 0% { box-shadow: 0 0 0 0 rgba(13,148,136,.5); } 100% { box-shadow: 0 0 0 26px rgba(13,148,136,0); } }
.pc-poster-time { position: absolute; right: .9rem; bottom: .8rem; padding: .25rem .55rem; border-radius: .4rem; background: rgba(11,18,32,.75); color: #fff; font-size: .75rem; font-weight: 700; }

/* Banner final con captura: un poco más de contraste */
.cta365-art img { object-position: 60% 50%; }

@media (prefers-reduced-motion: reduce) { .pc-poster-play { animation: none; } }
.pc-video video { aspect-ratio: 16 / 9; object-fit: contain; }

/* Sin el margen de 8px que pone el navegador al <body>: las secciones llegan de borde a borde */
html, body { margin: 0; padding: 0; }
body { background: #070d18; }
body > section, body > footer { background-color: #fff; }

/* ══════════ ANIMACIONES DE TODA LA PÁGINA (partials/pc-anim.html) ══════════ */
.ax { --ease: cubic-bezier(.22,1,.36,1); transition: opacity .8s var(--ease), transform .9s var(--ease), filter .8s var(--ease), clip-path 1.1s var(--ease); transition-delay: var(--ax-d, 0s); }
.ax[data-ax="up"]   { opacity: 0; transform: translateY(28px); }
.ax[data-ax="left"] { opacity: 0; transform: translateX(-28px); }
.ax[data-ax="card"] { opacity: 0; transform: translateY(42px) scale(.96); filter: blur(6px); }
.ax[data-ax="pop"]  { opacity: 0; transform: scale(.8); }
.ax[data-ax="clip"] { clip-path: inset(0 0 100% 0 round 1rem); }
.ax[data-ax="clip"] img { transform: scale(1.12); transition: transform 1.4s cubic-bezier(.22,1,.36,1) .1s, opacity .6s ease; }
.ax.ax-in { opacity: 1; transform: none; filter: none; }
.ax[data-ax="clip"].ax-in { clip-path: inset(0 0 0 0 round 1rem); }   /* el recorte sólo en capturas: en botones y tarjetas cortaba las esquinas */
.ax[data-ax="clip"].ax-in img { transform: none; }
/* Botones: tras aparecer, la transición vuelve a ser corta para el hover */
.ax[data-ax="pop"].ax-in { transition: opacity .6s, transform .5s cubic-bezier(.2,.8,.2,1.4), translate .25s ease-out, background .25s, box-shadow .25s, color .25s; transition-delay: var(--ax-d, 0s), var(--ax-d, 0s), 0s, 0s, 0s, 0s; }
/* Títulos palabra por palabra */
.axw { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: .1em; margin-bottom: -.1em; }
.axw > i { display: inline-block; font-style: normal; transform: translateY(110%) rotate(5deg); transform-origin: left bottom; transition: transform 1s cubic-bezier(.22,1,.36,1); transition-delay: var(--wd, 0s); }
.ax[data-ax="words"].ax-in .axw > i { transform: none; }
.hl .axw, .hl .axw > i { background: inherit; -webkit-background-clip: text; background-clip: text; color: transparent; }
/* Inclinación 3D + brillo que sigue al mouse */
.ax-tilt { transform-style: preserve-3d; }
.ax-tilt.ax-in, .ax-tilt:not(.ax) { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s ease-out, box-shadow .3s ease, border-color .3s ease; }
.ax-tilt { position: relative; }
.ax-tilt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s ease; background: radial-gradient(300px circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.18), transparent 60%); }
.ax-tilt:hover::after { opacity: 1; }
/* Parallax: usa la propiedad translate (no pisa los transform de arriba) */
.pc-screen-img img, .pc-feats-shot img, .pc-poster img, .cta365-art img, .glow-blob { transition: translate .2s linear, opacity .5s ease, transform 1.2s cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: reduce) {
    .ax, .ax * { transition: none !important; opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
}

/* ══════════ Ajustes de la revisión ══════════ */
/* Hero: texto más grande, nube de puntos algo más chica */
@media (min-width: 1024px) { .pc-hero-grid { grid-template-columns: 1.15fr .95fr; } }
.pc-hero h1 { font-size: clamp(2.6rem, 5.2vw, 4.4rem); }
.pc-hero .lead365 { font-size: clamp(1.02rem, 1.25vw, 1.18rem); max-width: 36rem; }
.pc-stage { aspect-ratio: 1.3; }

/* Paquete: más aire en las tarjetas */
.suite h3 { margin-top: 1.25rem; }
.suite p:not(.suite-sub) { margin-top: 1rem; font-size: .95rem; line-height: 1.75; }
.suite-act { padding-top: 1.75rem; }
.suite-grid { gap: 1.5rem; }

/* Características: más espacio vertical entre funciones */
.pc-feats-list li { padding: 1.15rem .4rem; }
.pc-feats-list ul { column-gap: 2rem; }
.pc-groups { gap: .7rem; }

/* Formatos: etiquetas con más espacio y filas separadas */
.fmt-rows { gap: 1.15rem; }
.fmt-set span { margin-right: 1.1rem; padding: .8rem 1.35rem; font-size: 1rem; }

@media (max-width: 640px) {
    .fmt-set span { padding: .6rem 1rem; font-size: .88rem; margin-right: .8rem; }
    .pc-feats-list li { padding: 1rem .2rem; }
}

/* Logo: la «G» de GstarCAD (pedido del cliente) en vez del ícono de puntos */
img.pc-mark { width: 38px; height: 38px; padding: 0; border-radius: 0; background: none; box-shadow: none; object-fit: contain; }
