:root {
    --cs-green: #064f36;
    --cs-green-dark: #043b29;
    --cs-orange: #f5661f;
    --cs-gray: #f4f6f5;
    --cs-text: #202523;
    --cs-border: #d8e0dc;
}

html { scroll-behavior: smooth; }
body { color: var(--cs-text); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
a { color: var(--cs-green); }
a:hover { color: var(--cs-orange); }

.site-logo { width: 210px; height: auto; }
.footer-logo { width: min(270px, 100%); height: auto; }
.nav-link { font-weight: 700; color: #24322c; }
.nav-link.active, .nav-link:hover { color: var(--cs-orange) !important; }

.btn-brand {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--cs-orange);
    --bs-btn-border-color: var(--cs-orange);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d95313;
    --bs-btn-hover-border-color: #d95313;
    font-weight: 800;
}
.btn-outline-brand {
    color: var(--cs-green);
    border: 2px solid var(--cs-green);
    font-weight: 800;
}
.btn-outline-brand:hover { background: var(--cs-green); color: #fff; }

.hero {
    background: linear-gradient(135deg, rgba(4,79,54,.97), rgba(4,59,41,.93));
    color: #fff;
    padding: clamp(4rem, 8vw, 7rem) 0;
}
.hero-logo-card { background: #fff; border-radius: 1.25rem; padding: 1.5rem; box-shadow: 0 1.25rem 3rem rgba(0,0,0,.22); }
.hero-logo-card img { width: 100%; height: auto; }
.eyebrow { color: var(--cs-orange); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.display-title { font-weight: 900; line-height: 1.05; }

.section-pad { padding: 5rem 0; }
.bg-soft { background: var(--cs-gray); }
.section-title { font-weight: 900; color: var(--cs-green); }
.card-clean { border: 1px solid var(--cs-border); border-radius: 1rem; height: 100%; box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.05); }
.icon-mark { width: 3rem; height: 3rem; border-radius: .85rem; display: inline-grid; place-items: center; background: #fff0e8; color: var(--cs-orange); font-size: 1.4rem; font-weight: 900; }

.page-hero { background: var(--cs-green); color: #fff; padding: 4rem 0; }
.price-card.featured { border: 3px solid var(--cs-orange); transform: translateY(-.35rem); }
.price { font-size: 2.3rem; font-weight: 900; color: var(--cs-green); }
.check-list { padding-left: 0; list-style: none; }
.check-list li { margin-bottom: .65rem; }
.check-list li::before { content: '✓'; color: var(--cs-orange); font-weight: 900; margin-right: .55rem; }

.cta-band { background: linear-gradient(135deg, var(--cs-green), var(--cs-green-dark)); color: #fff; border-radius: 1.25rem; }
.form-control:focus, .form-select:focus { border-color: var(--cs-orange); box-shadow: 0 0 0 .25rem rgba(245,102,31,.15); }
.required::after { content: ' *'; color: var(--cs-orange); }

.site-footer { background: var(--cs-green-dark); color: #fff; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--cs-orange); }
.footer-links li { margin-bottom: .45rem; }
.footer-bottom { background: #032f21; font-size: .9rem; }

.portfolio-image-link {
    display: block;
    overflow: hidden;
    background: #f5f5f5;
}

.portfolio-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: top;
    transition: transform 0.3s ease;
}

.portfolio-image-link:hover .portfolio-image,
.portfolio-image-link:focus .portfolio-image {
    transform: scale(1.03);
}

.portfolio-image-link:focus-visible {
    outline: 3px solid var(--cs-orange, #f26622);
    outline-offset: -3px;
}

@media (max-width: 991.98px) {
    .site-logo { width: 180px; }
    .navbar-nav { padding-top: 1rem; padding-bottom: 1rem; }
    .price-card.featured { transform: none; }
}
