/* Marketing and authentication share identity, not operational density. */
.cm-site { --ink:var(--cm-ui-ink); --muted:var(--cm-ui-muted); --green:var(--cm-ui-link); --line:var(--cm-ui-line); }
.cm-site .hero { background:linear-gradient(120deg,#0c1413,#173b2b 70%,#164343); color:#fff; border:0; }
.cm-site .hero-inner { grid-template-columns:1fr 1.05fr; gap:56px; padding:72px 0; }
.cm-site .hero h1 { font-size:clamp(38px,4.5vw,64px); letter-spacing:-2px; line-height:1.09; color:#fff; }
.cm-site .hero h1 span { color:#a9f083; }
.cm-site .hero :where(.hero-description,.hero-lead) { color:#d0ddd5; font-size:17px; line-height:1.7; max-width:540px; }
.cm-site .hero :where(.eyebrow,.hero-facts,.hero-fact,.hero-benefits) { color:#ccded1; }
.cm-site .hero .hero-benefits span { background:transparent; border-color:#496355; color:#d4e3d9; }
.cm-site :where(.button-accent,.button-primary,.btn-primary) { background:var(--cm-ui-brand); color:var(--cm-ui-on-brand); border-color:var(--cm-ui-brand); box-shadow:none; }
.cm-site :where(.button-accent,.button-primary,.btn-primary):hover { background:#4bc223; color:var(--cm-ui-on-brand); border-color:#4bc223; transform:none; }
.cm-site .hero .button-inverse { background:transparent; color:#fff; border-color:#779183; }
.cm-site .hero .button-inverse:hover { background:#244436; }
.cm-site .hero-showcase { border-radius:20px; background:#fff; box-shadow:0 24px 64px #0003; transform:none; color:var(--cm-ui-ink); }
.cm-site .showcase-top { color:var(--cm-ui-muted); padding:18px 22px; }
.cm-site .showcase-image { background:#fff; }
.cm-site .showcase-image img { object-fit:contain; max-height:330px; }
.cm-site .showcase-caption { background:#f5f8f5; color:var(--cm-ui-ink); }
.cm-site .showcase-panel { background:#fff; color:var(--cm-ui-ink); border-top:1px solid var(--cm-ui-line); }
.cm-site .showcase-panel :where(span,b) { color:inherit; }
.cm-site .showcase-chip { background:#eef3ef; color:#206b2b; }
.cm-site .section { padding-block:72px; }
.cm-site :where(.section-heading h2,.section-intro h2) { letter-spacing:-1px; line-height:1.2; }
.cm-site :where(.feature-card,.application-card,.solution-card) { box-shadow:none; border-color:var(--cm-ui-line); border-radius:16px; }
.cm-site .integration-band { background:#f6f8f6; border-bottom:1px solid var(--cm-ui-line); }
.cm-site .presence-layout { border-color:var(--cm-ui-line); }
.cm-site .hero-visual { border-radius:20px; background:#fff; overflow:hidden; }
.cm-site .product-card { border-radius:20px; border:1px solid var(--cm-ui-line); box-shadow:var(--cm-ui-shadow); }
.cm-site .product-info { padding:36px; }
.cm-site .product-info h3 { letter-spacing:-1px; }
.cm-site .product-gallery { background:#f5f8f6; }
.cm-site .product-gallery img { object-fit:contain; }
.cm-site .cart-drawer :where(input,select,textarea) { border-color:var(--cm-ui-control); }
.cm-site .cart-drawer :where(button,a) { min-height:44px; }
.cm-site .cart-drawer { border-radius:20px 0 0 20px; }
.cm-site .cta-section { background:#152420; color:#fff; }
.cm-site .cta-section :where(h2,p) { color:inherit; }
.cm-site .site-footer { background:#0c1413; color:#d5e1d9; }
.cm-auth { --cash-green:#206b2b; --cash-green-dark:#195622; --cash-bg:#f6f8f6; --cash-ink:#14201a; --cash-muted:#55635b; }
.cm-auth .auth-card { border:1px solid var(--cm-ui-line); border-radius:20px; box-shadow:0 16px 55px #0c14130c; }
.cm-auth .auth-card h1 { letter-spacing:-1px; }
.cm-auth :where(.auth-card,.login-container) input { border-color:var(--cm-ui-control); min-height:48px; }
.cm-auth :where(.auth-card,.login-container) button { min-height:48px; }
.cm-auth .auth-shell { padding-top:40px; padding-bottom:40px; }
.cm-auth :where(.auth-subtitle,.auth-description) { color:var(--cm-ui-muted); }
@media(max-width:900px) {
  .cm-site .hero-inner { grid-template-columns:1fr; gap:32px; padding:40px 0; }
  .cm-site .hero-copy { max-width:640px; }
  .cm-site .hero h1 { font-size:clamp(34px,7vw,52px); letter-spacing:-1.5px; }
  .cm-site .hero :where(.hero-description,.hero-lead) { font-size:16px; }
  .cm-site .section { padding-block:48px; }
}
@media(max-width:520px) {
  .cm-site .hero-inner { padding:32px 0; gap:28px; }
  .cm-site .hero h1 { font-size:36px; }
  .cm-site .hero-actions :where(a,button) { width:100%; min-height:48px; }
  .cm-site .hero-showcase { border-radius:16px; }
  .cm-site .showcase-image img { max-height:260px; }
  .cm-site .showcase-panel { display:none; }
  .cm-site .product-info { padding:22px; }
  .cm-site .product-gallery { height:300px; }
  .cm-site .cart-drawer { border-radius:0; }
  .cm-auth .auth-shell { padding:20px 16px 32px; }
}

.cm-site :where(.button,.btn) { font-family:Inter,system-ui,sans-serif; font-size:14px; }
.cm-auth #formContent { max-width:440px; padding:24px 12px; border:1px solid var(--cm-ui-line); border-radius:20px; box-shadow:var(--cm-ui-shadow); }
.cm-auth #formContent .icon-gradient { background:transparent; box-shadow:none; }
.cm-auth #formContent :where(input[type=email],input[type=password],input[type=text]) { background:#fff; color:var(--cm-ui-ink); border:1px solid var(--cm-ui-control); border-radius:10px; min-height:48px; }
.cm-auth #formContent :where(button,input[type=submit]) { min-height:48px; border-radius:10px; }
.cm-auth #formContent #formFooter { background:var(--cm-ui-bg); border-top:1px solid var(--cm-ui-line); }
.cm-auth #formContent .info-recover { background:var(--cm-ui-bg); color:var(--cm-ui-muted); border-color:var(--cm-ui-line); font-size:14px; line-height:1.6; }

.cm-site .cm-carousel-tools { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; color:var(--cm-ui-muted); font-size:13px; }
.cm-site .cm-carousel-tools[hidden] { display:none; }
.cm-site .cm-carousel-tools>div { display:flex; gap:8px; }
.cm-site .cm-carousel-tools button { width:44px; height:44px; border:1px solid #9aaba0; background:#fff; color:var(--cm-ui-ink); border-radius:10px; font-size:21px; cursor:pointer; }
.cm-site .cm-carousel-tools button:disabled { opacity:.4; cursor:default; }
.cm-site .application-grid[data-cm-track] { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); grid-template-columns:none; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:4px 2px 16px; }
.cm-site .application-grid[data-cm-track]>div { scroll-snap-align:start; min-height:152px; padding:24px; border:1px solid var(--cm-ui-line); border-radius:16px; background:var(--cm-ui-bg); }
.cm-site .application-grid[data-cm-track] strong { display:block; font-size:19px; margin-bottom:12px; }
.cm-site .application-grid[data-cm-track] span { font-size:14px; line-height:1.5; }
.cm-site .gallery-dot { width:44px; height:44px; background:transparent; display:grid; place-items:center; border:0; }
.cm-site .gallery-dot::before { content:''; width:9px; height:9px; border:1px solid #60796b; border-radius:50%; background:#fff; }
.cm-site .gallery-dot.is-active::before { background:#206b2b; }
@media(max-width:900px) { .cm-site .application-grid[data-cm-track] { grid-auto-columns:calc((100% - 20px)/2); } }
@media(max-width:520px) { .cm-site .application-grid[data-cm-track] { grid-auto-columns:86%; } }

/* Authentication fields must be usable on the first paint, without entrance delays. */
.cm-auth .fadeIn,.cm-auth .fadeInDown { opacity:1; animation:none; transform:none; }
.cm-auth #formContent .icon-gradient { width:auto; height:auto; margin:16px auto; padding:0; }
.cm-auth #formContent #icon { width:120px; height:62px; object-fit:contain; }
.cm-site .logo-link img { object-fit:contain; border-radius:0; }

.cm-auth #formContent .sr-only { position:static; width:auto; height:auto; padding:0; overflow:visible; clip:auto; white-space:normal; display:block; margin:14px 20px 6px; text-align:left; font-size:14px; color:var(--cm-ui-ink); }
