/* Astrabase Cosmic Landing. Scoped to the public homepage. */
:root { color-scheme: dark; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body.astra-landing {
  --night:#050914; --night-2:#080e1e; --surface:#10192d; --surface-2:#131e36;
  --line:#26344e; --line-soft:rgba(154,181,228,.16); --ink:#eff5ff;
  --muted:#aab9d2; --violet:#b7a5f9; --ice:#92c8ee; --teal:#89dccc; --max:1184px;
  margin:0; color:var(--ink); background:var(--night); overflow-x:clip;
  font-family:Inter,"Segoe UI",ui-sans-serif,system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.astra-landing a { color:inherit; text-decoration:none; }
body.astra-landing button { font:inherit; }
body.astra-landing :where(a,button,summary,canvas):focus-visible { outline:2px solid var(--ice); outline-offset:4px; }
.astra-landing .skip { position:absolute; top:-60px; left:16px; padding:12px 16px; z-index:100; background:white; color:#111; }
.astra-landing .skip:focus { top:12px; }
.astra-landing .container { width:min(var(--max),calc(100% - 64px)); margin-inline:auto; }
.astra-landing .topbar { position:sticky;top:0;z-index:30; height:auto;
  border-bottom:1px solid rgba(190,205,248,.11); background:rgba(5,9,20,.92);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.astra-landing .topbar .nav-inner { min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:28px; }
.astra-landing .brand {display:inline-flex;align-items:center;gap:12px;font-size:21px;font-weight:760;letter-spacing:-.05em;white-space:nowrap}
.astra-landing .brand img {width:31px;height:31px;object-fit:contain;}
.astra-landing .desktop-nav {display:flex;align-items:center;gap:26px;margin-left:auto}
.astra-landing .desktop-nav a {font-size:13px;font-weight:540;color:#bac7dc;transition:color .18s;}
.astra-landing .desktop-nav a:hover {color:white}
.astra-landing .nav-actions {display:flex;align-items:center;gap:12px;white-space:nowrap;}
.astra-landing .link-login {font-size:13px;color:#bac7dc;}
.astra-landing .button {display:inline-flex;align-items:center;justify-content:center;min-height:45px;
  border:1px solid transparent;border-radius:9px;padding:11px 19px;font-weight:650;font-size:13px;
  background:#dce9ff;color:#071222;transition:background .16s,transform .16s;cursor:pointer;text-align:center;}
.astra-landing .button:hover {background:#f6f9ff;transform:translateY(-1px);}
.astra-landing .button.secondary {background:rgba(18,31,55,.72);border-color:#3c506c;color:#dceaff;}
.astra-landing .button.secondary:hover {background:#20334d;}
.astra-landing .button.small {min-height:36px;padding:8px 14px;}
.astra-landing .mobile-menu {display:none}
.astra-landing .eyebrow {display:inline-flex;align-items:center;gap:10px;color:#9eb9f0;
  font:700 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;}
.astra-landing .eyebrow:before {content:"";width:7px;height:7px;border-radius:50%;background:#8fb0ff;box-shadow:0 0 13px #6481c98c;}
.astra-landing .hero {position:relative;isolation:isolate;padding:112px 0 84px;overflow:hidden;}
.astra-landing .hero:before {content:"";position:absolute;z-index:-1;inset:0;
  background:radial-gradient(ellipse 46% 50% at 87% 31%,rgba(66,80,151,.18),transparent 76%),
  radial-gradient(ellipse 50% 55% at 52% -20%,rgba(68,55,119,.2),transparent 70%);
  pointer-events:none;}
.astra-landing .hero-grid {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:58px;}
.astra-landing .hero-copy {min-width:0;}
.astra-landing h1,.astra-landing h2,.astra-landing h3,.astra-landing p {margin-top:0;}
.astra-landing h1 {font-size:clamp(44px,5.25vw,70px);letter-spacing:-.065em;line-height:1.07;margin:23px 0 24px;font-weight:750;}
.astra-landing h1 em {font-style:normal;color:#adc1ff;}
.astra-landing .lead {color:#b8c6dd;font-size:17px;line-height:1.8;max-width:555px;margin-bottom:30px;}
.astra-landing .actions {display:flex;flex-wrap:wrap;gap:12px;}
.astra-landing .hero-subnote {margin:18px 0 0;color:#8c9bb7;font-size:12px;line-height:1.65;}
.astra-landing .hero-art {position:relative;min-width:0;isolation:isolate;}
.astra-landing .hero-art:before {content:"";position:absolute;inset:-64px -42px -44px;
 background:radial-gradient(ellipse 50% 40% at 50% 42%,rgba(127,143,240,.14),transparent 80%),
 radial-gradient(1px 1px at 15% 22%,#c6e0ff 60%,transparent 70%),
 radial-gradient(1px 1px at 75% 11%,#d1ddff 60%,transparent 70%),
 radial-gradient(2px 2px at 55% 75%,#9eaeed 60%,transparent 70%),
 radial-gradient(1px 1px at 83% 66%,#c2aafa 60%,transparent 70%);
 pointer-events:none;z-index:-1;}
.astra-landing .product-window {position:relative;background:linear-gradient(165deg,#17233b,#0c1425 65%);
  border:1px solid #354864;border-radius:15px;box-shadow:0 25px 65px #0008;overflow:hidden;
  transform:perspective(1050px) rotateY(-3deg) rotateX(1deg);}
.astra-landing .window-top {height:45px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;
  background:#0c1526;border-bottom:1px solid #2b3953;font:11px ui-monospace,Consolas,monospace;color:#8fa5c7;}
.astra-landing .window-top .dots {display:flex;gap:6px}
.astra-landing .window-top i {display:block;width:7px;height:7px;background:#52607b;border-radius:50%}
.astra-landing .window-body {display:grid;grid-template-columns:128px minmax(0,1fr);min-height:329px;}
.astra-landing .window-side {padding:20px 9px 15px;background:#10192a;border-right:1px solid #2a3852;}
.astra-landing .window-side span {display:block;padding:10px 8px;color:#94a6c4;font-size:10px;border-radius:6px;white-space:nowrap;}
.astra-landing .window-side span.selected {background:#263550;color:#eef5ff;}
.astra-landing .window-screen {padding:24px 22px;min-width:0;}
.astra-landing .window-caption {font:10px ui-monospace,Consolas,monospace;color:#9cb5d5;letter-spacing:.12em;}
.astra-landing .window-screen h3 {font-size:21px;letter-spacing:-.04em;margin:9px 0 18px;}
.astra-landing .mini-tabs {display:flex;gap:18px;overflow:hidden;border-bottom:1px solid #30405b;color:#829bbd;}
.astra-landing .mini-tabs span {font-size:10px;padding:0 0 12px;white-space:nowrap;}
.astra-landing .mini-tabs .on {color:#cddcff;border-bottom:2px solid #b5b6ff;}
.astra-landing .mini-panels {display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:16px 0;}
.astra-landing .mini-panels>div {padding:13px 12px;background:#101b30;border:1px solid #2b3a53;border-radius:8px;min-width:0;}
.astra-landing .mini-panels small {display:block;font-size:10px;color:#a0b2cd;margin-bottom:7px;}
.astra-landing .mini-panels strong {font-weight:650;font-size:13px;white-space:nowrap;}
.astra-landing .mini-code {margin:0;padding:13px;background:#07101c;border:1px solid #25354b;border-radius:8px;overflow:auto;
  font:11px/1.8 ui-monospace,Consolas,monospace;color:#d0e5fa;white-space:pre;}
.astra-landing .demo-disclaimer {margin:11px 0 0;color:#8291af;font-size:10px;text-align:right;}
.astra-landing .tech-line {border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#080e1c;}
.astra-landing .tech-line-inner {display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;
  padding:25px 0;color:#b0bfd8;font:600 12px/1.3 ui-monospace,Consolas,monospace;}
.astra-landing .section {padding:98px 0;}
.astra-landing .section-intro {display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.67fr);gap:44px;align-items:end;margin-bottom:34px;}
.astra-landing h2 {font-size:clamp(32px,3.4vw,46px);letter-spacing:-.052em;line-height:1.14;margin:15px 0 0;font-weight:710;}
.astra-landing .section-intro p {font-size:14px;line-height:1.85;color:var(--muted);margin:0;max-width:430px;}
.astra-landing .pillars {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.astra-landing .pillar {border:1px solid #2a3954;background:linear-gradient(160deg,#121e34,#0c1527);
  border-radius:11px;padding:25px 22px 22px;min-height:277px;display:flex;flex-direction:column;}
.astra-landing .pillar-index {font:11px ui-monospace,Consolas,monospace;color:#8eb7e5;}
.astra-landing .pillar h3 {font-size:22px;letter-spacing:-.035em;margin:28px 0 10px;}
.astra-landing .pillar p {color:#aebed4;font-size:13px;line-height:1.75;flex:1;}
.astra-landing .text-link {font-size:12px;font-weight:650;color:#bed4ff;}
.astra-landing .text-link:hover {text-decoration:underline;text-underline-offset:4px}
.astra-landing .secondary-section {padding:84px 0;border-top:1px solid var(--line-soft);}
.astra-landing .trust-grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:70px;align-items:center;}
.astra-landing .trust-grid p {color:#b4c2d9;font-size:15px;line-height:1.85;margin:21px 0 23px;max-width:600px;}
.astra-landing .trust-points {border:1px solid #2b3a56;border-radius:11px;overflow:hidden;background:#101a2e;}
.astra-landing .trust-points div {padding:19px 23px;border-bottom:1px solid #2b3a56;}
.astra-landing .trust-points div:last-child {border-bottom:0}
.astra-landing .trust-points strong {display:block;font-size:13px;font-weight:670;}
.astra-landing .trust-points small {display:block;color:#93a4be;margin-top:6px;font-size:12px;line-height:1.55;}
.astra-landing .ecosystem {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px;}
.astra-landing .eco-card {border:1px solid #263751;border-radius:10px;padding:23px;background:#0e182b;}
.astra-landing .eco-card h3 {font-size:19px;letter-spacing:-.03em;margin:0 0 10px;}
.astra-landing .eco-card p {color:#a8b8d0;font-size:13px;line-height:1.75;min-height:72px;margin-bottom:15px;}
.astra-landing .pricing {border-top:1px solid var(--line-soft);background:linear-gradient(180deg,#0a1121,#060b17);}
.astra-landing .price-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:37px;}
.astra-landing .price-card {background:#101a2e;border:1px solid #293b57;border-radius:11px;padding:25px;display:flex;flex-direction:column;min-height:220px;}
.astra-landing .price-card.highlight {border-color:#849bd3;}
.astra-landing .price-card h3 {font-size:19px;margin:0 0 12px;}
.astra-landing .price-card .amount {font-size:31px;letter-spacing:-.04em;font-weight:720;margin-bottom:11px;}
.astra-landing .price-card .amount small {font-size:13px;font-weight:450;letter-spacing:0;color:#aabbd3;}
.astra-landing .price-card p {color:#abbad0;font-size:13px;line-height:1.7;flex:1;}
.astra-landing .price-card .text-link {margin-top:6px}
.astra-landing .end-cta {padding:84px 0 94px;text-align:center;background:radial-gradient(ellipse 45% 80% at 50% 100%,rgba(87,87,162,.18),transparent);}
.astra-landing .end-cta h2 {max-width:680px;margin:17px auto 17px;}
.astra-landing .end-cta p {color:#afc1dc;margin-bottom:23px;font-size:14px;}
.astra-landing .end-cta .actions {justify-content:center;}
.astra-landing .site-footer {border-top:1px solid var(--line-soft);padding:35px 0 48px;}
.astra-landing .footer-main {display:flex;align-items:start;justify-content:space-between;gap:44px;}
.astra-landing .footer-brand p {color:#8598b6;font-size:12px;max-width:330px;line-height:1.7;margin:13px 0;}
.astra-landing .footer-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.astra-landing .footer-links div {display:flex;flex-direction:column;gap:10px;}
.astra-landing .footer-links strong {font-size:12px;color:#e4efff;margin-bottom:5px;}
.astra-landing .footer-links a {color:#9baac4;font-size:12px;line-height:1.55;}
.astra-landing .footer-links a:hover {color:white;text-decoration:underline;}
.astra-landing .footer-last {padding-top:27px;margin-top:29px;border-top:1px solid var(--line-soft);display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8292ad;font-size:11px;}
@media(max-width:1080px){
 .astra-landing .desktop-nav {gap:15px;}
 .astra-landing .hero-grid {gap:25px;}
 .astra-landing .pillars {grid-template-columns:repeat(2,minmax(0,1fr));}
 .astra-landing .pillar {min-height:230px;}
}
@media(max-width:780px){
 .astra-landing .container {width:calc(100% - 36px);}
 .astra-landing .desktop-nav,.astra-landing .nav-actions {display:none;}
 .astra-landing .mobile-menu {display:block;margin-left:auto;position:relative;}
 .astra-landing .mobile-menu summary {list-style:none;border:1px solid #40516b;border-radius:8px;padding:9px 13px;font-size:12px;cursor:pointer;}
 .astra-landing .mobile-menu summary::-webkit-details-marker {display:none;}
 .astra-landing .mobile-menu nav {position:absolute;right:0;top:45px;width:min(300px,calc(100vw - 36px));padding:12px;
   border:1px solid #3a4b68;background:#111b30;border-radius:10px;box-shadow:0 20px 50px #0008;display:grid;gap:3px;}
 .astra-landing .mobile-menu nav a {padding:11px 12px;font-size:13px;color:#dce9ff;border-radius:5px;}
 .astra-landing .mobile-menu nav a:hover {background:#253752;}
 .astra-landing .hero {padding:77px 0 63px;}
 .astra-landing .hero-grid {grid-template-columns:1fr;gap:40px;}
 .astra-landing .hero-art {max-width:570px;width:100%;margin:auto;}
 .astra-landing .product-window {transform:none;}
 .astra-landing .section {padding:70px 0;}
 .astra-landing .section-intro,.astra-landing .trust-grid {grid-template-columns:1fr;gap:19px;}
 .astra-landing .section-intro p {max-width:640px;}
 .astra-landing .ecosystem,.astra-landing .price-grid {grid-template-columns:1fr;}
 .astra-landing .eco-card p {min-height:0;}
 .astra-landing .footer-main {display:block;}
 .astra-landing .footer-links {margin-top:26px;}
}
@media(max-width:520px){
 .astra-landing h1 {font-size:43px;letter-spacing:-.055em;}
 .astra-landing .lead {font-size:15px;line-height:1.75;}
 .astra-landing .actions {display:grid;grid-template-columns:1fr;}
 .astra-landing .pillars {grid-template-columns:1fr;}
 .astra-landing .pillar {min-height:205px;}
 .astra-landing .window-body {grid-template-columns:92px minmax(0,1fr);min-height:300px;}
 .astra-landing .window-side {padding:13px 5px;}
 .astra-landing .window-side span {font-size:9px;padding:10px 5px;}
 .astra-landing .window-screen {padding:16px 12px;}
 .astra-landing .window-screen h3 {font-size:16px;}
 .astra-landing .mini-tabs {gap:12px;}
 .astra-landing .mini-tabs span {font-size:9px;}
 .astra-landing .mini-panels {gap:6px;}
 .astra-landing .mini-panels > div {padding:8px 6px;}
 .astra-landing .mini-panels strong {font-size:10px;}
 .astra-landing .mini-panels small {font-size:9px;}
 .astra-landing .mini-code {font-size:9px;}
 .astra-landing .footer-links {grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 12px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.astra-landing .button {transition:none}.astra-landing .button:hover {transform:none;}}


/* Audience-led acquisition sections. Scoped exclusively to public landing pages. */
.astra-landing .audience-section {border-top:1px solid var(--line-soft);background:radial-gradient(ellipse 75% 65% at 14% 0%,rgba(70,83,151,.12),transparent),#070d1a;}
.astra-landing .audience-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.astra-landing .audience-card {border:1px solid #34445e;border-radius:13px;background:linear-gradient(155deg,#14213a,#0c1526 85%);padding:28px 24px;display:flex;flex-direction:column;min-width:0;}
.astra-landing .audience-label {font:700 11px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.09em;color:#a4c1f1;}
.astra-landing .audience-card h3 {font-size:22px;line-height:1.3;letter-spacing:-.035em;margin:17px 0 13px;}
.astra-landing .audience-card p {color:#b7c6df;font-size:13px;line-height:1.8;margin-bottom:19px;}
.astra-landing .audience-card ul {padding-left:19px;margin:0 0 26px;color:#b2c4de;font-size:12px;line-height:1.8;}
.astra-landing .audience-card li {padding-left:2px;margin-bottom:5px;}
.astra-landing .audience-card .text-link {margin-top:auto;}
.astra-landing .dev-section {border-top:1px solid var(--line-soft);background:#090f1f;}
.astra-landing .dev-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);gap:72px;align-items:center;}
.astra-landing .dev-copy h2 {margin:17px 0 20px;}
.astra-landing .dev-copy>p {color:var(--muted);font-size:14px;line-height:1.85;max-width:565px;margin-bottom:24px;}
.astra-landing .dev-steps {list-style:none;margin:0 0 30px;padding:0;counter-reset:devstep;}
.astra-landing .dev-steps li {counter-increment:devstep;position:relative;padding:0 0 18px 42px;margin-bottom:17px;border-bottom:1px solid var(--line-soft);}
.astra-landing .dev-steps li::before {content:counter(devstep,decimal-leading-zero);position:absolute;left:0;top:1px;color:#91b8f0;font:11px ui-monospace,Consolas,monospace;}
.astra-landing .dev-steps strong {display:block;font-size:13px;margin-bottom:5px;}
.astra-landing .dev-steps span {display:block;color:#adbed8;font-size:12px;line-height:1.7;}
.astra-landing .dev-example {min-width:0;background:#0a1325;border:1px solid #334562;border-radius:12px;overflow:hidden;box-shadow:0 34px 90px #0006;}
.astra-landing .dev-example-top {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px;border-bottom:1px solid #293955;background:#101c31;}
.astra-landing .dev-example-top span {display:flex;gap:6px;}
.astra-landing .dev-example-top i {width:8px;height:8px;display:block;border-radius:50%;background:#586987;}
.astra-landing .dev-example-top strong {color:#c7d9fa;font:11px ui-monospace,Consolas,monospace;}
.astra-landing .dev-example-top small {color:#91a5c4;font:10px ui-monospace,Consolas,monospace;}
.astra-landing .dev-example pre {margin:0;padding:30px 25px;overflow-x:auto;white-space:pre;font:12px/2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#d6e9ff;}
.astra-landing .dev-example p {margin:0;padding:0 25px 12px;color:#98abc7;font-size:11px;line-height:1.8;}
.astra-landing .dev-example>a {display:block;padding:0 25px 24px;font-size:12px;font-weight:650;color:#b8d3fb;}
.astra-landing .dev-example>a:hover {text-decoration:underline;text-underline-offset:4px;}
.astra-landing .practical-section {border-top:1px solid var(--line-soft);}
.astra-landing .practical-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.astra-landing .practical-grid article {border:1px solid #293a56;background:#101a2d;border-radius:10px;padding:25px;display:flex;flex-direction:column;}
.astra-landing .practical-grid h3 {font-size:19px;line-height:1.35;margin-bottom:13px;letter-spacing:-.025em;}
.astra-landing .practical-grid p {color:var(--muted);font-size:13px;line-height:1.8;flex:1;}
.astra-landing .questions-section {background:#0a1223;border-top:1px solid var(--line-soft);}
.astra-landing .questions-layout {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:75px;}
.astra-landing .questions-layout>div:first-child>p {color:var(--muted);font-size:14px;line-height:1.8;margin-top:22px;}
.astra-landing .questions details {border-bottom:1px solid #354560;padding:3px 0;}
.astra-landing .questions summary {font-size:15px;line-height:1.6;padding:19px 25px 19px 0;cursor:pointer;font-weight:650;list-style:revert;}
.astra-landing .questions details p {color:#b8c8df;font-size:13px;line-height:1.85;padding:0 0 19px;margin:0;}
.astra-landing .questions details a {color:#bdd7fc;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:980px){
 .astra-landing .audience-grid {grid-template-columns:1fr;gap:13px;}
 .astra-landing .audience-card {min-height:0;}
 .astra-landing .dev-layout,.astra-landing .questions-layout {grid-template-columns:1fr;gap:29px;}
 .astra-landing .practical-grid {grid-template-columns:1fr;}
}
@media(max-width:520px){
 .astra-landing .audience-card {padding:23px 18px;}
 .astra-landing .audience-card h3 {font-size:20px;}
 .astra-landing .dev-example pre {padding:19px 14px;font-size:10px;}
 .astra-landing .dev-example-top,.astra-landing .dev-example p,.astra-landing .dev-example>a {padding-left:14px;padding-right:14px;}
 .astra-landing .questions summary {font-size:13px;}
}
