/* RALLY shared styles for feature/landing pages */
/* DARK THEME BACKUP (revert to match): --bg:#070910;--bg2:#0b0e16;--panel:#121622;--panel2:#171c2a;--line:#222a3d;--text:#eef1f6;--dim:#9aa3b8;--accent:#5eead4;--accent2:#a78bfa;--green:#4ade80;--orange:#fbbf24;--pink:#fb7185;--blue:#60a5fa; nav.scrolled rgba(8,10,16,.8); mega/res rgba(16,20,30,.98); mobile rgba(10,12,18,.98); btn-ghost/burger rgba(255,255,255,.05); feat-row li #cdd4e3 — see memory rally-theme-dark */
:root{
  --bg:#eef3fb;--bg2:#e3ebf6;--panel:#ffffff;--panel2:#f4f7fc;--line:#dde5f0;
  --text:#16233a;--dim:#5d6b82;--accent:#0ea5e9;--accent2:#14b8a6;--green:#16a34a;--orange:#f59e0b;--pink:#f43f5e;--blue:#3b82f6;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{background:var(--bg);color:var(--text);font-family:'Sora',system-ui,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
[data-lucide]{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
[data-lucide] svg,svg.lucide{width:.78em;height:.78em;stroke-width:2;vertical-align:middle}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.grad-text{background:linear-gradient(120deg,var(--accent),var(--accent2) 60%,var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
nav.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-color:var(--line);box-shadow:0 4px 24px rgba(22,35,58,.06)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-size:23px;font-weight:800;letter-spacing:2px}
.nav-links{display:flex;gap:8px;font-size:14px;font-weight:500;color:var(--dim);align-items:center}
.nav-links>a{transition:color .2s;padding:8px 12px}.nav-links>a:hover{color:var(--text)}
.nav-item{position:relative}
.nav-trigger{display:inline-flex;align-items:center;gap:5px;color:var(--dim);font-weight:500;font-size:14px;background:none;border:none;font-family:inherit;cursor:pointer;padding:8px 12px;border-radius:9px}
.nav-trigger:hover,.nav-item:hover .nav-trigger{color:var(--text)}
.nav-trigger [data-lucide]{font-size:14px;transition:transform .25s}
.nav-item:hover .nav-trigger [data-lucide]{transform:rotate(180deg)}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;padding-top:10px;z-index:120}
.nav-item:hover .dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega{width:540px;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;box-shadow:0 24px 60px rgba(22,35,58,.14)}
.mega a{display:flex;gap:12px;padding:11px;border-radius:12px;align-items:flex-start}
.mega a:hover{background:var(--panel2)}
.mega .m-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex:none}
.mega b{font-size:13.5px;color:var(--text);display:block}
.mega span{font-size:11.5px;color:var(--dim);display:block;margin-top:1px;line-height:1.35}
.res-menu{width:230px;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 24px 60px rgba(22,35,58,.14)}
.res-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:13.5px;color:var(--dim)}
.res-menu a:hover{background:var(--panel2);color:var(--text)}
.res-menu a [data-lucide]{font-size:15px;color:var(--accent)}
.nav-cta{display:flex;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:12px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:12px 20px;transition:transform .15s,box-shadow .2s,opacity .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--accent),#34d399);color:#06281f;box-shadow:0 8px 30px rgba(94,234,212,.25)}
.btn-ghost{background:#ffffff;color:var(--text);border:1px solid var(--line)}
.btn-lg{padding:15px 26px;font-size:15px;border-radius:14px}
.nav-burger{display:none;background:#ffffff;border:1px solid var(--line);color:var(--text);width:42px;height:42px;border-radius:11px;cursor:pointer;align-items:center;justify-content:center}
.nav-burger [data-lucide]{font-size:20px}
.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:14px 24px 22px;z-index:99;max-height:calc(100vh - 70px);overflow-y:auto;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.mobile-menu.open{transform:none;opacity:1;pointer-events:auto}
.mm-sec{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);margin:16px 0 6px}
.mobile-menu>a{display:flex;align-items:center;gap:11px;padding:11px 8px;font-size:15px;color:var(--text);border-radius:10px}
.mobile-menu>a:active{background:var(--panel2)}
.mobile-menu>a [data-lucide]{font-size:18px;color:var(--accent)}
.mm-cta{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.mm-cta .btn{width:100%;justify-content:center;padding:14px}
@media(max-width:780px){.nav-links,.nav-cta{display:none}.nav-burger{display:inline-flex}.mobile-menu{display:block}}

/* page hero */
.page-hero{position:relative;padding:128px 0 56px;overflow:hidden}
.page-hero .aurora{position:absolute;border-radius:50%;filter:blur(90px);opacity:.32;pointer-events:none}
.page-hero .a1{width:520px;height:520px;background:radial-gradient(circle,#5eead4,transparent 70%);top:-180px;left:-120px}
.page-hero .a2{width:480px;height:480px;background:radial-gradient(circle,#7dd3fc,transparent 70%);top:-120px;right:-140px}
.crumbs{position:relative;z-index:2;font-size:13px;color:var(--dim);margin-bottom:18px}
.crumbs a:hover{color:var(--text)}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.page-hero h1{position:relative;z-index:2;font-size:clamp(33px,5vw,54px);font-weight:800;line-height:1.07;letter-spacing:-1.2px;max-width:780px}
.page-hero .lead{position:relative;z-index:2;font-size:18px;color:var(--dim);max-width:640px;margin:20px 0 28px}
.hero-cta{position:relative;z-index:2;display:flex;gap:14px;flex-wrap:wrap}
.hero-meta{position:relative;z-index:2;display:flex;gap:22px;margin-top:26px;font-size:13px;color:var(--dim);flex-wrap:wrap}
.hero-meta span{display:flex;align-items:center;gap:7px}
.hero-meta [data-lucide]{color:var(--accent);font-size:16px}

/* sections */
.sec{padding:46px 0}
.sec-head{text-align:center;max-width:700px;margin:0 auto 38px}
.sec-head h2{font-size:clamp(26px,3.4vw,34px);font-weight:800;letter-spacing:-.5px}
.sec-head p{color:var(--dim);margin-top:12px;font-size:16px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fcard{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px}
.fcard .fic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}
.fcard h3{font-size:17px;font-weight:700;margin-bottom:8px}
.fcard p{font-size:14px;color:var(--dim);line-height:1.6}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:34px 0}
.feat-row .fr-text h2{font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.5px;margin-bottom:14px}
.feat-row .fr-text p{color:var(--dim);font-size:16px;margin-bottom:14px}
.feat-row ul{list-style:none}
.feat-row li{display:flex;gap:11px;align-items:flex-start;font-size:15px;color:#3a4660;padding:7px 0}
.feat-row li [data-lucide]{color:var(--accent);font-size:18px;flex:none;margin-top:2px}
.fr-media{background:linear-gradient(160deg,var(--panel2),var(--bg2));border:1px solid var(--line);border-radius:22px;min-height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.fr-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.fr-media .fr-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,16,.2),rgba(7,9,16,.7))}
.fr-media .fr-ic{position:relative;z-index:2;font-size:64px;color:var(--accent);opacity:.9}

/* cta band */
.cta-band{text-align:center;padding:64px 24px;margin:56px 0 0;background:linear-gradient(160deg,rgba(94,234,212,.07),var(--panel));border:1px solid var(--line);border-radius:28px}
.cta-band h2{font-size:clamp(28px,4vw,38px);font-weight:800;letter-spacing:-.6px}
.cta-band p{color:var(--dim);margin:14px auto 24px;max-width:520px}
.cta-band .btn{margin:0 auto}

/* footer */
footer{border-top:1px solid var(--line);padding:46px 0 40px;margin-top:60px}
.foot-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px}
.foot-cols{display:flex;gap:60px;flex-wrap:wrap}
.foot-col h5{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--dim);font-weight:700;margin-bottom:14px}
.foot-col a{display:block;font-size:13.5px;color:var(--dim);margin-bottom:10px}
.foot-col a:hover{color:var(--text)}
.foot-copy{font-size:12.5px;color:var(--dim);margin-top:26px;line-height:1.7}

@media(max-width:780px){.feat-grid{grid-template-columns:1fr}.feat-row{grid-template-columns:1fr;gap:24px}.feat-row .fr-media{order:-1;min-height:220px}}
