/* BWC's website palette. Dark brand shades keep controls readable. */
:root {
    --brand-terracotta: #c69581;
    --brand-cream: #f9f4eb;
    --brand-plum: #605e69;
    --brand-brown: #624436;
    --bs-body-font-family: 'Baloo 2', sans-serif;
    --bs-body-color: var(--brand-plum);
    --bs-primary: var(--brand-brown);
    --bs-link-color: var(--brand-brown);
    --bs-link-hover-color: #494750;
}

body { font-family: 'Baloo 2', sans-serif; }
h1, h2, h3, button, input, select, textarea { font-family: inherit; }
a { color: var(--brand-brown); }

.brand-logo {
    display: block;
    width: 290px;
    max-width: 100%;
    height: auto;
}
.logo { flex-direction: column; align-items: flex-start; gap: 4px; }
.logo h1 { margin: 0; font-size: 0.75rem; letter-spacing: 0.08em; }
.brand-logo-auth { width: 320px; margin: 0 auto 16px; }
.logo-subtitle { color: var(--brand-plum); font-size: 14px; }

.hero { background: var(--brand-cream); }
.hero-content .brand-eyebrow {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--brand-brown);
    margin-bottom: 0.8rem;
}
.hero-content h2 {
    font-family: 'Abhaya Libre', Georgia, serif;
    font-weight: 600;
    font-size: clamp(2.4rem, 4vw, 3.7rem);
    line-height: 1.08;
    color: var(--brand-plum);
}
.hero-content p { color: var(--brand-plum); }
.hero-image img {
    aspect-ratio: 1.25;
    object-fit: cover;
    object-position: center;
    border-radius: 48% 48% 12px 12px;
    box-shadow: none;
}

.login-container, .register-container {
    background: var(--brand-cream) url('../images/bwc/quotation.png') no-repeat right bottom / min(35vw, 400px);
    padding: 32px 16px;
}
.login-card, .register-card {
    border: 1px solid #e5d6cd;
    border-top: 5px solid var(--brand-terracotta);
    box-shadow: 0 12px 36px rgba(96, 94, 105, 0.09);
}
.login-card h2, .register-card h2 {
    font-family: 'Abhaya Libre', Georgia, serif;
    font-size: 2.3rem;
    color: var(--brand-plum);
}
.btn-login, .btn-register { color: white; }
.btn-login:hover, .btn-register:hover { background: #494750; color: white; }
.form-control:focus { border-color: var(--brand-terracotta); }
input[type='checkbox'], input[type='radio'] { accent-color: var(--brand-plum); }
:focus-visible { outline-color: var(--brand-brown); }
.brand-contact-grid { margin-bottom: 3rem; }
footer { background-color: var(--brand-plum); color: var(--brand-cream); }
footer .disclaimer { color: var(--brand-cream); }
.navbar .navbar-brand { white-space: normal; font-size: 1.1rem; max-width: 100%; }
.navbar .btn-logout:hover { background-color: #494750; }

@media (max-width: 600px) {
    .brand-logo { width: 260px; }
    .logo { align-items: center; }
    .login-card, .register-card { padding: 28px 20px; }
    .hero { padding: 2rem 0; }
    .hero-image img { max-height: 300px; }
}
