.rd-app-landing { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:56px 36px 64px; border-inline:1px solid var(--rd-line); color:var(--rd-ink); font-family:var(--rd-font); }
.rd-app-landing * { box-sizing:border-box; }
.rd-app-landing__hero { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:start; }
.rd-app-landing__copy,.rd-app-landing__composer { min-width:0; }
.rd-app-landing__eyebrow { margin:0 0 20px; color:var(--rd-muted); font:400 10px/1.5 var(--rd-mono); letter-spacing:.1em; text-transform:uppercase; }
.rd-app-landing h1 { margin:0; font-size:clamp(36px,3.7vw,50px); font-weight:500; line-height:1.1; letter-spacing:-.045em; text-wrap:balance; }
.rd-app-landing__description { max-width:480px; margin:24px 0 0; color:var(--color-text-secondary); font-size:17px; line-height:1.7; }
.rd-app-landing a { color:var(--color-primary); text-decoration:underline; text-underline-offset:4px; }
.rd-app-landing a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.rd-app-landing .rd-app-landing__signup { display:inline-flex; align-items:center; gap:8px; min-height:46px; margin-top:24px; padding:11px 17px; border:1px solid var(--rd-accent); border-radius:0; background:var(--rd-accent); color:var(--rd-accent-ink); text-decoration:none; font-size:13px; font-weight:400; }
.rd-app-landing .rd-app-landing__signup::before { content:""; width:16px; height:16px; flex:none; background:currentColor; -webkit-mask:url('/assets/icons/inbox.svg') center/contain no-repeat; mask:url('/assets/icons/inbox.svg') center/contain no-repeat; }
.rd-app-landing .rd-app-landing__signup:hover { background:color-mix(in srgb,var(--color-primary) 88%,#000); }
html.dark .rd-app-landing .rd-app-landing__signup,[data-theme="dark"] .rd-app-landing .rd-app-landing__signup { color:var(--color-dark-bg-primary,#0f172a); }
.rd-app-landing__composer .rd-composer { margin-top:0; }
.rd-app-landing__uses { margin-top:48px; }
.rd-app-landing h2 { margin:0 0 22px; font-size:clamp(25px,2.7vw,32px); line-height:1.2; letter-spacing:-.035em; }
.rd-app-landing__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-block:1px solid var(--rd-line); }
.rd-app-landing__grid article { padding:24px; min-width:0; }
.rd-app-landing__grid article+article { border-left:1px solid var(--rd-line); }
.rd-app-landing h3 { margin:0 0 10px; font-size:20px; line-height:1.4; font-weight:500; letter-spacing:-.02em; }
.rd-app-landing__grid p,.rd-app-landing__setup p { margin:0 0 14px; color:var(--color-text-secondary); font-size:14px; line-height:1.7; }
.rd-app-landing__setup { margin-top:34px; padding-top:28px; border-top:1px solid var(--color-border); scroll-margin-top:90px; }
.rd-app-landing__setup h2 { font-size:22px; margin-bottom:14px; }
.rd-app-landing__setup p { max-width:850px; }
.rd-app-landing code { overflow-wrap:anywhere; }
.rd-app-landing__setup .rd-app-landing__note { font-size:12px; margin-bottom:0; }
@media(max-width:1000px) { .rd-app-landing { padding:40px 24px; } .rd-app-landing__hero { gap:30px; } .rd-app-landing h1 { font-size:38px; } }
@media(max-width:780px) { .rd-app-landing { padding:30px 18px 40px; } .rd-app-landing__hero,.rd-app-landing__grid { grid-template-columns:1fr; gap:24px; } .rd-app-landing h1 { font-size:clamp(35px,7vw,46px); } .rd-app-landing__description { font-size:16px; margin-top:18px; } .rd-app-landing__uses { margin-top:36px; } .rd-app-landing__grid { gap:8px; } }
@media(max-width:780px) { .rd-app-landing__grid { gap:0; } .rd-app-landing__grid article { padding:22px 0; } .rd-app-landing__grid article+article { border-left:0; border-top:1px solid var(--rd-line); } }
@media(max-width:480px) { .rd-app-landing { width:calc(100% - 24px); } }

/* Hero: only the pitch, centered like the homepage (the animation lives in "How it works" under it). The signup
   button has the Connect AI link beside it; phones give the button the full width and center the link under it. */
.rd-app-landing__hero--pitch { grid-template-columns:minmax(0,1fr); justify-items:center; row-gap:32px; padding-block:24px 8px; text-align:center; }
.rd-app-landing__hero--pitch .rd-app-landing__description { max-width:620px; margin-inline:auto; }
.rd-app-landing__hero--pitch .rd-app-landing__actions { justify-content:center; }
.rd-app-landing__actions { grid-column:1 / -1; display:flex; align-items:center; gap:24px; }
.rd-app-landing .rd-app-landing__actions .rd-app-landing__signup { justify-content:center; min-height:52px; margin-top:0; padding:12px 28px; font-size:16px; font-weight:500; }
@media(max-width:780px) { .rd-app-landing__actions { flex-wrap:wrap; justify-content:center; gap:6px; } .rd-app-landing .rd-app-landing__actions .rd-app-landing__signup { flex:1 1 100%; } }

/* Numbered setup steps in "Connect <app>"; an install command sits on its own line with a copy button. */
.rd-app-landing__steps { max-width:850px; margin:0 0 18px; padding-left:22px; list-style:decimal; color:var(--color-text-secondary); font-size:14px; line-height:1.7; }
.rd-app-landing__steps li { margin:0 0 12px; padding-left:4px; }
.rd-app-landing__steps strong { color:var(--rd-ink); font-weight:500; }
.rd-app-landing__steps .rd-app-landing__cmd { display:block; position:relative; margin-top:8px; padding:8px 44px 8px 12px; background:var(--rd-soft); color:var(--rd-ink); font:400 13px/1.6 var(--rd-mono); }
.rd-app-landing__steps .rd-app-landing__cmd span { white-space:nowrap; }

/* Ready-made prompt for AI app builders (Lovable, Bolt, Replit, v0), with the site's copy button. */
.rd-builder-prompt { max-width:850px; margin:4px 0 18px; }
.rd-builder-prompt pre { position:relative; margin:0; padding:14px 48px 14px 16px; overflow-x:auto; border:1px solid var(--rd-line); background:var(--rd-soft); color:var(--rd-ink); }
.rd-builder-prompt pre code { padding:0; border:0; background:none; color:inherit; font:400 13px/1.6 var(--rd-mono); white-space:pre; }
.rd-builder-prompt pre code::before,.rd-builder-prompt pre code::after { content:none; }
