.public-main { min-height:calc(100vh - 132px); }
.public-brand { flex-shrink:0; white-space:nowrap; }
.public-brand-name { color:#f4edce; font-family:"Trebuchet MS",Arial,sans-serif; font-size:clamp(1.2rem,2.4vw,1.5rem); font-weight:400; letter-spacing:.035em; line-height:1; }
.home-hero { text-align:center; padding:86px 20px 80px; }
.home-hero-content { max-width:1050px; }
.home-eyebrow { display:inline-block; background:#e6ebf1; border:1px solid #d9e0e8; border-radius:24px; padding:8px 16px; font-size:.9rem; margin-bottom:20px; }
.home-hero h1 { font-size:clamp(2.5rem,5.5vw,4.2rem); line-height:1.12; letter-spacing:-.035em; font-weight:800; margin:0 0 24px; }
.home-hero p { font-size:1.15rem; line-height:1.8; color:#46505b; margin-bottom:30px; }
.home-actions { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.home-actions .btn { border-radius:8px; padding:12px 22px; }
.home-about { padding-bottom:54px; scroll-margin-top:24px; }
.about-card { background:#fff; border:1px solid #dce0e5; border-radius:12px; padding:30px; height:100%; }
.about-eyebrow { color:#687583; font-weight:600; font-size:.75rem; letter-spacing:.08em; }
.about-card h2 { font-size:1.5rem; margin:14px 0 18px; font-weight:650; }
.about-card p { color:#52606c; line-height:1.7; }
.auth-modal { border:0; border-radius:14px; box-shadow:0 12px 50px #0003; }
.auth-modal .modal-header { padding:24px 28px 12px; border:0; }
.auth-modal .modal-body { padding:12px 28px 26px; }
.auth-switch { display:block; margin:10px auto 0; color:#495057; font-size:.9rem; text-decoration:none; }
.reset-card { max-width:460px; margin:60px auto; background:#fff; border:1px solid #dee2e6; border-radius:14px; padding:32px; }
.reset-card h1 { font-size:1.7rem; font-weight:650; margin-bottom:20px; }
@media(max-width:600px) { .home-hero { padding:54px 12px; } .public-header-content { gap:12px; } .public-nav { gap:14px; } .home-hero p { font-size:1rem; } .about-card { padding:24px; } .reset-card { margin:30px 12px; width:auto; } }
