/* Main Alacri site (sign-up, find your company, operator console). Uses Alacri's own colours. */
.platform-body {
  --brand-primary: #161b33; --brand-primary-strong: #0c1022; --brand-on-primary: #ffffff;
  --brand-accent: #1aa878; --brand-accent-soft: #e2f6ee; --brand-on-accent: #ffffff;
  --header-bg: #161b33; --header-text: #ffffff; --p-green: #22c38e;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .platform-body {
  --brand-primary: #9fb0ff; --brand-primary-strong: #c3ceff; --brand-on-primary: #0c1022;
  --brand-accent: #3fd8a4; --brand-accent-soft: #12322a; --brand-on-accent: #0c1022; --header-bg: #0c1022; } }
:root[data-theme="dark"] .platform-body { --brand-primary: #9fb0ff; --brand-primary-strong: #c3ceff; --brand-on-primary: #0c1022; --brand-accent: #3fd8a4; --brand-accent-soft: #12322a; --brand-on-accent: #0c1022; --header-bg: #0c1022; }
.platform-body .btn.accent { background: var(--brand-accent); color: var(--brand-on-accent); }
.platform-body .btn.accent:hover { filter: brightness(1.06); }
.p-wrap { max-width: 1120px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.p-top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 14px; padding: 12px max(16px, env(safe-area-inset-left, 0px)); padding-top: calc(12px + env(safe-area-inset-top, 0px)); background: var(--header-bg); color: var(--header-text); }
.p-top nav { margin-left: auto; display: flex; gap: 14px; align-items: center; }
.p-top nav a:not(.btn) { color: inherit; text-decoration: none; font-weight: 600; opacity: .9; }
.p-logo { display: inline-flex; }
.p-tag { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--p-green); }
.p-ghost { background: transparent; color: inherit; border-color: color-mix(in srgb, currentColor 40%, transparent); }
.p-ghost:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.p-hero { background: radial-gradient(1000px 420px at 85% 10%, #1f6f5a55, transparent 60%), var(--header-bg); color: var(--header-text); padding-block: 56px 72px; }
.p-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.p-hero h1 { font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.08; letter-spacing: -.02em; margin-bottom: 16px; text-wrap: balance; max-width: 16ch; }
.p-lead { font-size: 1.12rem; line-height: 1.55; opacity: .88; max-width: 54ch; margin-bottom: 22px; }
.p-small { font-size: .85rem; opacity: .75; margin: 12px 0 0; }
.p-hero-art { display: grid; place-items: center; }
.p-hero-art img { width: min(260px, 60%); border-radius: 22%; box-shadow: 0 30px 80px rgba(0, 0, 0, .45); transform: rotate(-6deg); }
@media (max-width: 760px) { .p-hero-grid { grid-template-columns: 1fr; } .p-hero-art { display: none; } .p-hero { padding-block: 36px 44px; } }
.p-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: -36px; position: relative; }
@media (max-width: 900px) { .p-features { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .p-features { grid-template-columns: 1fr; margin-top: 16px; } }
.p-features article { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 20px; box-shadow: var(--shadow); display: grid; gap: 8px; align-content: start; }
.p-features h3 { margin: 0; font-size: 1.02rem; }
.p-features p { margin: 0; color: var(--text-muted); font-size: .92rem; }
.p-ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--brand-accent-soft); color: var(--brand-accent); }
.p-ic svg { width: 22px; height: 22px; }
.p-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 20px; margin-block: 36px; align-items: start; }
@media (max-width: 820px) { .p-split { grid-template-columns: 1fr; } }
.p-split .card + .card { margin-top: 0; }
.p-split h2 { font-size: 1.3rem; }
.addr { display: flex; align-items: stretch; font-weight: 400; }
.addr input { border-radius: 8px 0 0 8px; min-width: 0; }
.addr > span { display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid var(--border); border-left: 0; border-radius: 0 8px 8px 0; background: var(--surface-2); color: var(--text-muted); font-size: .88rem; white-space: nowrap; }
.hint.good { color: var(--ok); } .hint.bad { color: var(--danger); }
.p-foot { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding-block: 24px 40px; color: var(--text-muted); font-size: .85rem; }
.p-console { padding-block: 24px 48px; }
.platform-msg { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; text-align: center; padding: 24px; }
.platform-msg h1 { margin: 8px 0 0; }
.platform-msg p { max-width: 46ch; color: var(--text-muted); margin: 0; }
.trial-contact { font-size: 1.05rem; padding: 12px 14px; border-radius: 10px; background: var(--brand-accent-soft); margin: 0; user-select: all; }
