.page {
    line-height: 1.45;
}

.page .hero-h1 {
    font-size: 2.875rem;
}

.page .hero-sub {
    font-size: 1.35rem;
    color: #C95000;
    font-weight: 700;
    margin-bottom: 15px;
}

.page .hero-text {
    font-size: 1rem;
    color: #3E4756;
    font-size: 1.25rem;
}

.page .hero-btn-brown {
    display: inline-block;
    align-items: center;
    padding: 16px 24px;
    background: #C95000;
    color: #FFFFFF;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
}

.page .hero-btn-brown:hover {
    background: #B04000;
}

.page .hero-btn-light {
    display: inline-block;
    align-items: center;
    padding: 16px 24px;
    background: #FFFFFF;
    border: 2px solid #C95000;
    color: #C95000;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
}

.page .hero-btn-light:hover {
    background: #FFF;
}

.page .hero-img {
    position: relative;
}

.page .hero-ing-tag {
    position: absolute;
    left: 12px;
    bottom: 12px;
}

.page .hero-ing-tag span {
    background-color: #FFF;
    padding: 7px 12px;
    border-radius: 15px;
    font-size: 0.882rem;
}

/* page card */
.page .page-card {}

.page .page-card-header {
    margin-bottom: 12px;
}

.page .page-card-title {
    font-size: 2rem;
    font-weight: 700;
}

.page .page-card-content {}

.page .page-card-content-header {
    -webkit-border-top-left-radius: 20px;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-topright: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background-color: #3E4756;
    color: #FFF;
    padding: 15px;
    font-size: 1.313rem;
    font-weight: 750;
}

.page .page-card-content-header span {
    font-size: 1rem;
    font-weight: normal;
}

/* Price Card  */
/* Card (variables are scoped here instead of :root) */
.p-card {
    --p-card-navy: #12294a;
    --p-card-ink: #1b2a41;
    --p-card-muted: #5f6b7a;
    --p-card-line: #e6eaf0;
    --p-card-head-bg: #f3f6fa;
    --p-card-btn-bg: #eef1f6;
    --p-card-badge-bg: #fde8da;
    --p-card-badge-ink: #c4601a;

    color: var(--p-card-ink);
    background: #fff;
    border: 1px solid var(--p-card-line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(18, 41, 74, .06);
    margin-bottom: 50px;
}

.p-card__head {
    background: var(--p-card-navy);
    color: #fff;
    padding: 1.5rem 2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .25rem 1rem;
}

.p-card__head h2 {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
}

.p-card__head p {
    margin: 0;
    color: #c7d2e3;
    font-size: 1rem;
}

/* Column header row */
.p-card__cols {
    background: var(--p-card-head-bg);
    color: var(--p-card-muted);
    font-weight: 500;
    font-size: .95rem;
    padding: 1rem 2rem;
}

/* Item row */
.p-card__row {
    padding: 1.1rem 2rem;
    border-top: 1px solid var(--p-card-line);
    align-items: center;
}

.p-card__row:first-of-type {
    border-top: 0;
}

.p-card__thumb {
    display: block;
    width: 155px;
    height: 105px;
    object-fit: cover;
    border-radius: 14px;
    flex-shrink: 0;
}

.p-card__name {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0;
}

.p-card__sub {
    color: var(--p-card-muted);
    margin: .25rem 0 0;
    font-size: 1rem;
}

.p-card__badge {
    background: var(--p-card-badge-bg);
    color: var(--p-card-badge-ink);
    font-size: .8rem;
    font-weight: 600;
    border-radius: 999px;
    padding: .3rem .8rem;
    vertical-align: middle;
    margin-left: .4rem;
}

.p-card__price {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--p-card-navy);
}

.p-card__btn {
    background: var(--p-card-btn-bg);
    color: var(--p-card-navy);
    font-weight: 700;
    border: 0;
    border-radius: 12px;
    padding: .85rem 1.6rem;
    white-space: nowrap;
}

.p-card__btn:hover {
    background: var(--p-card-navy);
    color: #fff;
}

/* Mobile labels */
.p-card__label {
    display: block;
    font-size: .78rem;
    color: var(--p-card-muted);
    margin-bottom: .15rem;
}

/* Tablet / mobile */
@media (max-width: 991.98px) {
    .p-card__head {
        padding: 1.25rem 1.25rem;
    }

    .p-card__head h2 {
        font-size: 1.35rem;
    }

    .p-card__row {
        padding: 1.1rem 1.25rem;
    }
}

@media (max-width: 575.98px) {
    .p-card__thumb {
        width: 110px;
        height: 78px;
    }

    .p-card__name {
        font-size: 1.1rem;
    }

    .p-card__price {
        font-size: 1.35rem;
    }
}