:root {
    --holding-font: "Noto Sans", system-ui, sans-serif;
    --holding-logo-font: "Great Vibes", cursive;

    /* Palette derived from stackhouses_houses.png */
    --holding-cream: #f5ebe0;
    --holding-sand: #e8dcc8;
    --holding-stone: #d4b484;
    --holding-tan: #cc9c5c;
    --holding-brown: #94643c;
    --holding-brown-dark: #5c4a38;
    --holding-green: #5c645c;
    --holding-green-dark: #4a5248;
    --holding-slate: #5c747c;
    --holding-muted: #66584a;
}

.holding-page {
    font-family: var(--holding-font);
    background: linear-gradient(160deg, var(--holding-cream) 0%, var(--holding-sand) 45%, #dcc8a8 100%);
    color: var(--holding-brown-dark);
    letter-spacing: 0.02em;
    min-height: 100vh;
}

.holding-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.holding-logo {
    max-width: min(22rem, 85vw);
    height: auto;
    filter: drop-shadow(0 6px 20px rgba(92, 74, 56, 0.15));
    z-index: 100;
}

.holding-wordmark {
    font-family: var(--holding-logo-font);
    font-size: clamp(3rem, 12vw, 4.5rem);
    color: var(--holding-brown-dark);
    margin-top: -10px;
    text-shadow: 0 2px 12px rgba(92, 74, 56, 0.12);
    z-index: 200;
}

.holding-page h1 {
    color: var(--holding-brown-dark);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.holding-page .lead {
    color: var(--holding-muted) !important;
}

.holding-card {
    border-radius: 1rem;
    background: rgba(255, 252, 248, 0.85);
    border: 1px solid rgba(204, 156, 92, 0.25) !important;
    box-shadow: 0 8px 32px rgba(92, 74, 56, 0.1) !important;
}

.holding-page .btn-primary {
    --bs-btn-bg: var(--holding-green);
    --bs-btn-border-color: var(--holding-green);
    --bs-btn-hover-bg: var(--holding-green-dark);
    --bs-btn-hover-border-color: var(--holding-green-dark);
    --bs-btn-active-bg: var(--holding-green-dark);
    --bs-btn-active-border-color: var(--holding-green-dark);
    --bs-btn-focus-shadow-rgb: 92, 100, 92;
}

.holding-page .text-muted {
    color: var(--holding-muted) !important;
}

.holding-accent {
    color: var(--holding-tan);
}

.holding-tagline {
    color: #7a5632;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.18em;
}

.holding-product-card h2 {
    color: var(--holding-brown);
}

.holding-product-text {
    color: var(--holding-muted);
    line-height: 1.65;
}

.holding-usps {
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.holding-usps li {
    position: relative;
    padding-left: 1.75rem;
    margin-bottom: 0.65rem;
    color: var(--holding-brown-dark);
    font-size: 0.95rem;
}

.holding-usps li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--holding-green);
}

.holding-cta-card {
    max-width: 36rem;
}

.holding-btn-outline {
    --bs-btn-color: var(--holding-brown-dark);
    --bs-btn-border-color: rgba(92, 74, 56, 0.35);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--holding-brown);
    --bs-btn-hover-border-color: var(--holding-brown);
    --bs-btn-active-bg: var(--holding-brown-dark);
    --bs-btn-active-border-color: var(--holding-brown-dark);
    --bs-btn-focus-shadow-rgb: 92, 74, 56;
}

.holding-footer-note {
    color: var(--holding-muted);
    font-style: italic;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}

.holding-contact a {
    color: #7a5632;
    text-decoration: none;
}

.holding-contact a:hover {
    color: var(--holding-brown-dark);
    text-decoration: underline;
}

.holding-contact-sep {
    margin: 0 0.35rem;
}
