.public-home {
    --public-accent: #c62828;
    --public-accent-light: #e53935;
    background:
        radial-gradient(ellipse at 8% 14%, rgba(227, 38, 46, .13), transparent 32rem),
        radial-gradient(ellipse at 94% 48%, rgba(42, 78, 118, .16), transparent 34rem),
        linear-gradient(180deg, #080c12 0%, #0c121a 52%, #080c12 100%);
    color: #f8fafc;
}
.public-header { position: sticky; }
.public-auth-links { display: flex; align-items: center; gap: 10px; flex: none; }
.public-login-link { padding: 9px 12px; color: #d2d7df; font-size: 10px; font-weight: 700; }
.public-login-link:hover { color: var(--public-accent-light); }
.public-register-link { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 13px; border-radius: 8px; background: var(--public-accent); color: #fff; font-size: 10px; font-weight: 800; transition: transform .18s ease, background .18s; }
.public-register-link:hover { transform: translateY(-2px); background: #a61b1b; }
.public-container { margin-top: 34px; }
.public-hero { min-height: 370px; padding: 42px 50px; scroll-margin-top: 100px; background: linear-gradient(90deg, rgba(8, 12, 18, .92) 0%, rgba(8, 12, 18, .72) 42%, rgba(8, 12, 18, .08) 100%), url('../images/public-home-hero.png') center 54% / cover no-repeat; }
body.public-home .portal-container .welcome-banner.public-hero { background: linear-gradient(90deg, rgba(8, 12, 18, .92) 0%, rgba(8, 12, 18, .72) 42%, rgba(8, 12, 18, .08) 100%), url('../images/public-home-hero.png') center 54% / cover no-repeat !important; }
.public-hero .dashboard-hero-visual { width: 100%; background: none; clip-path: none; pointer-events: none; }
.public-hero .dashboard-hero-visual::after { background: linear-gradient(90deg, rgba(8, 12, 18, .24), transparent 72%); }
.public-hero .dashboard-hero-orbit,
.public-hero .dashboard-hero-car { display: none; }
.public-cars, .public-about { scroll-margin-top: 100px; }
.public-cars .section-heading { align-items: end; }
.public-cars .section-heading h2 { margin-top: 5px; font-size: 25px; }
.public-vehicle-card .vehicle-photo img { transition: transform .35s ease; }
.public-vehicle-card:hover .vehicle-photo img { transform: scale(1.05); }
.public-vehicle-card .vehicle-photo { height: 190px; }
.public-about { margin-top: 58px; }
.public-footer { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 22px; margin-top: 64px; padding: 18px max(24px, calc((100vw - 1240px) / 2)); border-top: 1px solid #e5e7eb; background: #fff; color: #64748b; font-size: 9px; }
.public-footer-brand { display: grid; gap: 5px; }
.public-footer-brand strong, .public-footer-contact > strong { color: #1f2937; font-size: 11px; }
.public-footer-brand span { color: #64748b; }
.public-footer-contact { display: grid; grid-template-columns: auto auto; gap: 5px 16px; align-items: center; }
.public-footer-contact > strong { grid-column: 1 / -1; }
.public-footer-contact a { color: #4b5563; font-size: 10px; transition: color .18s; }
.public-footer-contact .public-footer-phone { grid-column: 1 / -1; color: #a61b1b; font-size: 12px; font-weight: 800; }
.public-footer-contact a:hover, .public-back-top { color: #a61b1b; font-weight: 700; }
.public-back-top { white-space: nowrap; }

@media (max-width: 900px) {
    .public-header .user-nav { order: 3; }
    .public-hero { min-height: 350px; padding: 36px 30px; }
}

@media (max-width: 620px) {
    .public-container { margin-top: 24px; }
    .public-hero { min-height: 430px; padding: 28px 22px; background-position: 62% center; }
    .public-hero .dashboard-hero-visual { inset: 0; height: 100%; padding: 0; }
    .public-header { gap: 8px; }
    .public-header .user-brand { gap: 7px; }
    .public-header .user-brand img { width: 32px; height: 32px; }
    .public-header .user-brand strong { font-size: 10px; }
    .public-header .user-brand span { font-size: 8px; }
    .public-auth-links { gap: 3px; }
    .public-login-link { padding: 8px 6px; font-size: 9px; }
    .public-register-link { min-height: 34px; gap: 5px; padding: 0 8px; font-size: 8px; }
    .public-cars .section-heading { align-items: start; }
    .public-cars .section-heading h2 { font-size: 21px; }
    .public-footer { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 16px; padding: 20px 15px; text-align: center; }
    .public-footer-contact { justify-items: center; }
}
