/* ---------- no hidden/animated-in states: nothing pops in while scrolling ---------- */
.reveal{opacity:1!important;transform:none!important;transition:none!important}
img,video{background-color:transparent}
img[width][height]{height:auto}
.picon{border-radius:8px}

/* media boxes keep their size from the first paint, so nothing jumps when files load */
.story-media{background:#222;aspect-ratio:1/1}
.story-media video,.story-media img{display:block;width:100%;height:100%;object-fit:cover}
.hero-media{background:#222}
.pb-img{aspect-ratio:1528/732}

/* click-to-load editor preview */
.ef-stage{position:relative;aspect-ratio:1528/732;background:#262626}
.ef-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.ef-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ef-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#3b63fb;color:#fff;border-radius:28px;height:52px;padding:0 28px;font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ef-play:hover{background:#274dea}
.ef-stage.live .ef-play{display:none}
.editor-frame iframe{height:auto}

/* shared bits */
.empty{max-width:640px;margin:0 auto;text-align:center;padding:56px 24px;border:1px dashed #c6c6c6;border-radius:16px;background:#fafafa}
.empty h3{font-size:24px;line-height:30px;font-weight:800;margin-bottom:10px}
.empty p{font-size:17px;line-height:26px;color:#4b4b4b;margin-bottom:22px}
.card-cta{margin-top:16px}
.steps.three{grid-template-columns:repeat(3,1fr)}
.field input.bad{border-color:#d7373f}
.apps-row{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;margin-top:8px}
.apps-row a{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;font-weight:700;width:110px;text-align:center}
.apps-row a:hover span{text-decoration:underline}

/* plan landing hero (education / business) */
.plh{background:#f5f5f5;padding:72px 24px}
.plh-in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.plh-text h1{font-size:44px;line-height:55px;font-weight:800;margin:8px 0 16px}
.plh-text p{font-size:20px;line-height:30px;margin-bottom:28px;color:#2c2c2c}
.plh-card .pcard{box-shadow:0 8px 28px rgba(0,0,0,.14)}

/* ---------- ActBoard: dark, Firefly-style landing ---------- */
body.fx{background:#0b0b0f;color:#fff}
body.fx .crumbs{background:#fff}
.fx-hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:#000}
.fx-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.fx-shade{position:absolute;inset:0;background:rgba(5,5,10,.55)}
.fx-in{position:relative;max-width:920px;margin:0 auto;padding:96px 24px;text-align:center}
.fx-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:6px 16px 6px 8px;font-size:14px;font-weight:700;margin-bottom:24px}
.fx-in h1{font-size:68px;line-height:74px;font-weight:800;margin-bottom:20px}
.fx-in p{font-size:22px;line-height:33px;color:#e6e6e6;max-width:720px;margin:0 auto 32px}
.fx-form{display:flex;gap:12px;max-width:640px;margin:0 auto;background:#fff;border-radius:34px;padding:8px 8px 8px 24px;flex-wrap:wrap;align-items:center}
.fx-form input{flex:1;min-width:200px;border:0;outline:0;font:inherit;font-size:17px;color:#2c2c2c;background:none;height:44px}
.fx-form input.bad{outline:2px solid #d7373f;border-radius:6px}
.fx-form .btn{height:48px}
.fx-ok{flex:1 0 100%;color:#05603a;font-size:14px;padding:0 0 6px}
.fx-links{margin-top:22px;font-size:16px;display:flex;gap:12px;justify-content:center;color:#cfcfcf}
.fx-links a{text-decoration:underline;color:#fff}
.fx-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.fx-wrap.narrow{max-width:800px}
.fx-sec{padding:88px 0;background:#0b0b0f}.fx-sec.alt{background:#14141b}
.fx-sec h2,.fx-story h2,.fx-cta h2{font-size:40px;line-height:48px;font-weight:800;text-align:center;margin-bottom:12px}
.fx-story h2{text-align:left}
.fx-sub{text-align:center;font-size:19px;line-height:28px;color:#c9c9d3;max-width:720px;margin:0 auto 48px}
.fx-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fx-tile img{width:100%;aspect-ratio:1528/732;object-fit:cover;border-radius:14px;border:1px solid #2a2a35;display:block;margin-bottom:16px;background:#1b1b24}
.fx-tile h3{font-size:20px;line-height:26px;font-weight:800;margin-bottom:6px}.fx-tile p{font-size:16px;line-height:24px;color:#c9c9d3}
.fx-story{padding:72px 0;background:#0b0b0f}.fx-story:nth-of-type(even){background:#101017}
.fx-split{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.fx-story.rev .fx-media{order:2}
.fx-media video{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;display:block;background:#1b1b24}
.fx-eyebrow{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffb300;margin-bottom:8px}
.fx-story p{font-size:19px;line-height:29px;color:#d5d5de}
.fx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fx-card{background:#1c1c26;border:1px solid #2c2c3a;border-radius:16px;padding:28px}
.fx-ico{font-size:26px;margin-bottom:10px}.fx-card h3{font-size:20px;font-weight:800;margin-bottom:6px}.fx-card p{font-size:16px;line-height:24px;color:#c9c9d3}
.fx-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:920px;margin:0 auto}
.fx-plan{background:#1c1c26;border:1px solid #2c2c3a;border-radius:18px;padding:32px}
.fx-pt{font-size:24px;font-weight:800;display:flex;align-items:center;gap:12px}.fx-pt span{font-size:12px;font-weight:700;background:#ffb300;color:#2c2c2c;border-radius:12px;padding:2px 10px}
.fx-price{font-size:36px;font-weight:800;margin:12px 0 16px}
.fx-plan ul{list-style:none;margin-bottom:16px}.fx-plan li{padding-left:26px;position:relative;margin-bottom:10px;font-size:16px;color:#e0e0e8}.fx-plan li:before{content:"✓";position:absolute;left:0;color:#ffb300;font-weight:800}
.fx-fine{font-size:13px;line-height:19px;color:#a9a9b6;margin-bottom:18px}
.fx-faq details{border-bottom:1px solid #2c2c3a}.fx-faq summary{color:#fff}.fx-faq summary:after{border-color:#fff}.fx-faq details p{color:#c9c9d3}
.fx-cta{padding:96px 0;text-align:center;background:#000}.fx-cta p{font-size:20px;color:#d0d0da;margin-bottom:28px}
body.fx .btn.outline-w{border-color:#fff;color:#fff}

/* ---------- responsive polish for every page ---------- */
@media (max-width:1200px){
  .plh-in{grid-template-columns:1fr 1fr;gap:32px}.fx-tiles,.fx-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .plh{padding:48px 24px}.plh-in{grid-template-columns:1fr}.plh-text h1{font-size:36px;line-height:44px}
  .fx-hero{min-height:560px}.fx-in h1{font-size:46px;line-height:52px}
  .fx-split{grid-template-columns:1fr;gap:28px}.fx-story.rev .fx-media{order:0}
  .fx-plans{grid-template-columns:1fr}
  .steps.three{grid-template-columns:1fr}
}
@media (max-width:600px){
  .plh{padding:32px 16px}.plh-text h1{font-size:30px;line-height:38px}.plh-text p{font-size:18px;line-height:27px}
  .fx-in{padding:64px 16px}.fx-in h1{font-size:34px;line-height:42px}.fx-in p{font-size:18px;line-height:27px}
  .fx-form{border-radius:22px;padding:10px;gap:8px}.fx-form input{padding:0 10px}.fx-form .btn{width:100%}
  .fx-sec{padding:56px 0}.fx-sec h2,.fx-story h2,.fx-cta h2{font-size:28px;line-height:35px}
  .fx-tiles,.fx-cards{grid-template-columns:1fr}.fx-wrap{padding:0 16px}
  .ef-play{height:44px;font-size:16px;padding:0 20px}
  .apps-row{gap:20px 12px}.apps-row a{width:88px}
}

/* header and footer keep their light theme on dark product pages */
.gnav,.crumbs,.gfoot,.mega,.mobmenu{color:#2c2c2c}
.gnav-signin{color:#2c2c2c}

.plh-card .pcard.feat:before{display:none}
.plh-card .pcard.feat{outline-offset:0}

.fx-open{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* company wordmark in capitals */
.gnav-logo span,.gbrand,.ap-logo span,.hero-home .hero-brand span,.cta-brand span{text-transform:uppercase;letter-spacing:.4px}
