/* CamBanana public landing page. Scoped so existing dashboard styles remain untouched. */
:root { color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:clip; }
body.cb-home { margin:0; min-height:100vh; background:#0c1019; color:#eff2f8; font:16px/1.5 "Segoe UI",system-ui,-apple-system,sans-serif; overflow-x:hidden; }
.cb-home a { color:inherit; text-decoration:none; }
.cb-home a:focus-visible { outline:2px solid #f5ca68; outline-offset:5px; }
.cb-home .site-wrap { max-width:1190px; margin:0 auto; padding:0 35px; position:relative; }
.cb-home .ambient { pointer-events:none; position:fixed; border-radius:50%; filter:blur(80px); opacity:.2; z-index:0; }
.cb-home .ambient-one { width:430px; height:400px; background:#e4aa39; left:-270px; top:140px; }
.cb-home .ambient-two { width:570px; height:510px; background:#5e4cc0; right:-330px; top:230px; opacity:.14; }
.cb-home .site-header { position:relative; z-index:3; border-bottom:1px solid #263245; background:#0c1019d9; }
.cb-home .nav-wrap { min-height:86px; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.cb-home .brand { display:inline-flex; align-items:center; gap:12px; font-size:24px; line-height:1.05; font-weight:850; letter-spacing:-1.2px; }
.cb-home .brand > span:last-child > span { color:#f5c862; }
.cb-home .brand-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; border:1px solid #39425b; background:#1c2535; font-size:26px; }
.cb-home .brand small { display:block; margin-top:6px; font-size:8px; font-weight:800; letter-spacing:2.2px; color:#8391a6; }
.cb-home nav { display:flex; gap:30px; align-items:center; font-size:13px; font-weight:650; }
.cb-home nav a { color:#bac5d5; }
.cb-home nav a:hover { color:#f4cf7a; }
.cb-home .nav-status { display:flex; align-items:center; gap:9px; padding:9px 13px; color:#b5c2d2; border:1px solid #2b3647; border-radius:30px; background:#151e2b; font-size:11px; white-space:nowrap; }
.cb-home .status-dot { width:7px; height:7px; border-radius:50%; background:#6dcfa8; box-shadow:0 0 0 3px #6dcfa81a; }
.cb-home .hero { padding-top:103px; padding-bottom:105px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:62px; }
.cb-home .hero-copy { position:relative; z-index:1; }
.cb-home .eyebrow,.cb-home .overline { font-size:11px; letter-spacing:2px; font-weight:850; color:#e7ba5d; }
.cb-home .eyebrow-mark { margin-right:8px; color:#fae5a3; }
.cb-home h1 { margin:22px 0 23px; font-size:clamp(38px,4.35vw,62px); line-height:1.13; font-weight:830; letter-spacing:-2.2px; max-width:700px; }
.cb-home h1 em { color:#f5c762; font-style:normal; }
.cb-home .hero-copy p { margin:0; max-width:510px; color:#adbacc; font-size:18px; line-height:1.7; }
.cb-home .hero-actions { margin-top:35px; display:flex; align-items:center; flex-wrap:wrap; gap:21px; }
.cb-home .primary-link { background:#f0c25d; color:#19180f; border-radius:10px; padding:14px 19px; font-size:13px; font-weight:800; box-shadow:0 7px 34px #c68f3550; transition:transform .2s,background .2s; }
.cb-home .primary-link:hover { background:#ffda82; transform:translateY(-2px); }
.cb-home .primary-link span { margin-left:14px; font-size:17px; }
.cb-home .microcopy { color:#79899d; font-size:12px; }
.cb-home .hero-art { height:345px; border:1px solid #36465d; border-radius:18px; background:#141e2c; position:relative; box-shadow:0 35px 75px #0008,0 0 85px #6751351a; transform:rotate(1deg); }
.cb-home .art-header { height:47px; display:flex; align-items:center; justify-content:space-between; padding:0 17px; border-bottom:1px solid #293749; }
.cb-home .art-cam { display:flex; gap:8px; align-items:center; color:#aab9cd; letter-spacing:2px; font-weight:800; font-size:9px; }
.cb-home .live-indicator { width:8px; height:8px; background:#ec6981; border-radius:50%; box-shadow:0 0 10px #ed657c80; }
.cb-home .art-dots { color:#6e8098; font-size:11px; letter-spacing:4px; }
.cb-home .art-display { height:236px; overflow:hidden; position:relative; display:grid; place-items:center; }
.cb-home .art-backdrop { position:absolute; inset:0; background:radial-gradient(circle at 50% 57%,#664c60 0,#30253e 28%,#1b2337 55%,#131d2b 100%); }
.cb-home .art-halo { position:absolute; width:235px; height:235px; border:1px solid #c19c6c4f; border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 45px #d3a66207,0 0 0 95px #d3a66204; }
.cb-home .art-ray { position:absolute; bottom:0; height:140%; width:65px; background:linear-gradient(0deg,#f5c66a28,transparent 70%); transform-origin:bottom; }
.cb-home .ray-1 { left:19%; transform:rotate(-30deg); }.cb-home .ray-2 { left:50%; transform:rotate(0); }.cb-home .ray-3 { left:82%; transform:rotate(30deg); }
.cb-home .art-center { text-align:center; position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:10px; }
.cb-home .art-large-icon { background:#f8cf7730; border:1px solid #fbd27b66; border-radius:25px; padding:12px 22px; font-size:60px; transform:rotate(-9deg); box-shadow:0 12px 35px #0006; }
.cb-home .art-center span { color:#ffe0a1; font-size:13px; font-weight:900; letter-spacing:3.1px; text-shadow:0 2px 12px #000; }
.cb-home .art-strip { height:60px; display:flex; flex-direction:column; justify-content:center; gap:7px; padding:0 20px; }
.cb-home .strip-label { color:#8095ae; font-weight:800; letter-spacing:1.8px; font-size:9px; }
.cb-home .strip-dots { display:flex; gap:8px; align-items:center; }
.cb-home .strip-dots i { width:7px; height:7px; flex:none; background:#61a9bb; border-radius:50%; }
.cb-home .strip-dots .chat { background:#48bfcf; }.cb-home .strip-dots .enter { background:#6bd7a2; }.cb-home .strip-dots .tip { background:#f0c260; border-radius:2px; width:9px; height:9px; }.cb-home .strip-dots .tip.big { width:13px;height:13px;box-shadow:0 0 13px #ffd074; }.cb-home .strip-dots .fan { background:#b793e3; }
.cb-home .art-float { position:absolute; z-index:2; display:flex; gap:9px; align-items:center; padding:12px 15px; border:1px solid #43516c; background:#202e41; border-radius:11px; box-shadow:0 15px 30px #0008; font-size:17px; }
.cb-home .art-float span { color:#e1e9f4; font-size:10px; font-weight:850; letter-spacing:1px; }
.cb-home .float-top { right:-30px; top:64px; transform:rotate(5deg); }.cb-home .float-bottom { left:-27px; bottom:60px; transform:rotate(-5deg); }
.cb-home .section-projects { position:relative; z-index:1; background:#111a27; padding:68px 0 88px; border-top:1px solid #253044; border-bottom:1px solid #253044; }
.cb-home .section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.cb-home h2 { font-size:35px; line-height:1.2; letter-spacing:-1px; margin:10px 0 0; }
.cb-home .section-heading p { max-width:300px; color:#99a9be; font-size:13px; margin:0 0 4px; }
.cb-home .project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.cb-home .project-card { padding:28px 25px 25px; background:#172334; border:1px solid #2d3b50; border-radius:15px; box-shadow:0 8px 32px #0002; min-height:275px; display:flex; flex-direction:column; }
.cb-home .project-icon { display:grid; place-items:center; width:52px; height:52px; font-size:26px; border-radius:12px; background:#2b354b; margin-bottom:24px; }
.cb-home .project-card.studio .project-icon { background:#4b3c29; }.cb-home .project-card.bus .project-icon { background:#2c4c45; }.cb-home .project-card.racing .project-icon { background:#49334a; }
.cb-home .project-kicker { font-size:10px; color:#bdc5d6; letter-spacing:1.7px; font-weight:850; }
.cb-home h3 { font-size:21px; letter-spacing:-.5px; margin:8px 0; }
.cb-home .project-card p { font-size:13px; line-height:1.65; color:#9fadc0; margin:0 0 20px; }
.cb-home .project-state { color:#e9c67a; margin-top:auto; font-size:11px; font-weight:700; }
.cb-home .about-section { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:27px; align-items:center; padding-top:87px; padding-bottom:96px; }
.cb-home .about-symbol { width:78px; height:78px; display:grid; place-items:center; font-size:48px; color:#e9bd65; border-radius:23px; background:#2a2b32; border:1px solid #4b443c; }
.cb-home .about-section p { font-size:14px; color:#9eafc3; max-width:600px; line-height:1.75; margin:14px 0 0; }
.cb-home .about-note { white-space:nowrap; font-size:14px; color:#e4b95f; padding:11px 15px; border:1px solid #615038; border-radius:30px; }
.cb-home .site-footer { border-top:1px solid #253347; padding:25px 0; background:#0a0f17; }
.cb-home .footer-inner { display:flex; align-items:center; gap:20px; justify-content:space-between; font-size:12px; color:#8090a7; }
.cb-home .footer-brand { font-size:16px; font-weight:850; color:#f0c96f!important; }
@media (max-width:1100px) { .cb-home .hero { gap:30px; } .cb-home h1 { font-size:clamp(38px,5vw,54px); } .cb-home .hero-art { transform:none; }.cb-home .float-top { right:-12px; } .cb-home .float-bottom { left:-12px; } }
@media (max-width:850px) { .cb-home .hero { padding-top:62px; padding-bottom:65px; grid-template-columns:1fr; gap:55px; }.cb-home .hero-copy { max-width:650px; }.cb-home .hero-art { width:min(100%,610px); justify-self:center; }.cb-home .project-grid {grid-template-columns:1fr;}.cb-home .project-card { min-height:0; }.cb-home .section-heading {align-items:flex-start;flex-direction:column;}.cb-home .about-section {grid-template-columns:70px minmax(0,1fr);}.cb-home .about-note {grid-column:2;justify-self:start;} }
@media (max-width:560px) { .cb-home .site-wrap { padding-left:20px; padding-right:20px; }.cb-home .nav-wrap { min-height:72px; }.cb-home .brand {font-size:20px;}.cb-home .brand small {letter-spacing:1.4px;font-size:7px;}.cb-home .brand-icon { width:41px;height:41px; }.cb-home nav { gap:13px; }.cb-home nav a {display:none;}.cb-home .nav-status {font-size:9px;padding:8px;}.cb-home .hero { padding-top:51px; }.cb-home h1 { font-size:39px; letter-spacing:-1.4px; }.cb-home .eyebrow {font-size:9px;letter-spacing:1.3px;}.cb-home .hero-copy p {font-size:16px;}.cb-home .hero-art {height:294px;}.cb-home .art-display {height:185px;}.cb-home .art-float {padding:8px 10px;}.cb-home .float-top {right:-6px;}.cb-home .float-bottom {left:-5px;}.cb-home .section-projects {padding:55px 0;}.cb-home h2 {font-size:29px;}.cb-home .project-card {padding:22px;}.cb-home .about-section {padding-top:55px;padding-bottom:60px;grid-template-columns:1fr;gap:14px;}.cb-home .about-note {grid-column:1;}.cb-home .footer-inner {flex-wrap:wrap;gap:12px;}.cb-home .footer-inner > span:nth-child(2) {flex-basis:100%;order:3;} }
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .cb-home .primary-link {transition:none;} }
