/* Home page details, using the site's red, gold and charcoal palette. */
.home-page { background: #fffaf4; }
.home-page .cat_simple_hero { min-height: 620px; }
.home-page .cat_simple_hero_overlay {
    background: linear-gradient(90deg, rgba(20, 8, 5, .86), rgba(20, 8, 5, .5) 60%, rgba(20, 8, 5, .2)) !important;
}
.home-page .cat_simple_hero_text { max-width: 640px !important; }
.home-page .cat_simple_hero_text > span { color: #f6c477 !important; }
.home-page .cat_simple_hero_text h1 { font-size: clamp(32px, 4vw, 56px) !important; }
.home-page .cat_simple_hero_text p { max-width: 570px; }
.home-page .cat_simple_hero_text a,
.home-page .cat-btn { border-radius: 7px !important; transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease; }
.home-page .cat_service_wrapper { background: #fffaf4; }
.home-page .cat_service_wrapper .cat_section_headings h4,
.home-page .cat_testi_wrapper .cat_section_headings h4,
.home-page .cat_count_box h5 { color: #281b16; }
.home-page .cat_service_wrapper .row > div:has(> .cat_service_box) { display: flex; }
.home-page .cat_service_box { flex: 1; text-align: left; }
.home-page .cat_service_box h5 a { color: #922626; }
.home-page .cat_service_box h5 a:hover { color: #cd3131; }
.home-page .cat_section_headings { max-width: 760px; margin-left: auto; margin-right: auto; float: none; }
.home-page .cat_section_headings h4 { line-height: 1.2; letter-spacing: -.5px; }
.home-page .cat_section_headings p { max-width: 620px; margin: 16px auto 0; line-height: 1.8; }
.home-page .cat_border { width: 64px; border-radius: 4px; }
.home-page .cat_service_box { background: #fff; border: 1px solid #eee2d4; border-radius: 14px; overflow: hidden; padding-bottom: 24px; box-shadow: 0 5px 18px rgba(55, 28, 10, .04); }
.home-page .cat_service_box h5 { padding: 20px 16px 10px; margin: 0; }
.home-page .cat_service_box p { padding: 0 18px; margin: 0; line-height: 1.7; }
.home-page .cat_service_img { overflow: hidden; }
.home-page .cat_service_img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.home-page .cat_dish_img_wrapper > .row:first-child { margin: 0 -6px; }
.home-page .cat_dish_img_wrapper > .row:first-child > div { padding: 6px; }
.home-page .cat_dish_img { border-radius: 12px; overflow: hidden; margin: 0; }
.home-page .cat_dish_img > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.home-page .cat_dish_img .cat_dish_name { position: static; width: 100%; padding: 16px; display: flow-root; background: #fffaf4; }
.home-page .cat_dish_img .cat_dish_img_caption { display: none; }
.home-page .cat_dish_title a { color: #922626; font-weight: 600; }
.home-page .cat_testi_wrapper { background: #fffaf4; }
.home-page .cat_testi_img img, .home-page .cat_video_img_wrapper { border-radius: 14px; overflow: hidden; }
.home-page .cat_news_wrapper { background: radial-gradient(ellipse at top right, #49201b, #1a0808 70%) !important; }
.home-page .cat_counter_wrapper { background: #fffaf4; }
.home-page .cat_count_box { border: 1px solid #eadaca; border-radius: 14px; background: #fff; padding: 24px 12px; }
.home-page .cat_subs_wrapper { border-top: 2px solid #bb854b; padding: 58px 0; }
.home-page .cat_subs_heading h2 { color: #fff; font-size: clamp(30px, 3vw, 42px); line-height: 1.2; }
.home-page .cat_subs_heading p { color: #e9ded3; line-height: 1.8; }
.home-page .cat_subs_text { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.home-page .cat_subs_text a { margin: 0 !important; }
.home-page a:focus-visible { outline: 2px solid #c99552; outline-offset: 4px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .home-page .cat_simple_hero_text a:hover, .home-page .cat-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
    .home-page .cat_service_box:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(55, 28, 10, .12); }
    .home-page .cat_service_box:hover img, .home-page .cat_dish_img:hover > img { transform: scale(1.035); }
}
@media (max-width: 991px) {
    .home-page .cat_simple_hero { min-height: 460px; }
    .home-page .cat_subs_text { margin-top: 20px; }
}
@media (max-width: 767px) {
    .home-page .cat_simple_hero { min-height: 440px; }
    .home-page .cat_simple_hero_text { max-width: 100% !important; }
    .home-page .cat_service_box { margin-bottom: 24px; }
    .home-page .cat_counter_wrapper .row { row-gap: 16px; }
    .home-page .cat_counter_wrapper .row > div { flex: 0 0 50%; max-width: 50%; }
    .home-page .cat_count_box { height: 100%; margin: 0; padding: 18px 8px; }
    .home-page .cat_count_box h5 { font-size: 16px; line-height: 1.3; }
    .home-page .cat_count_icon i:before { font-size: 40px; }
    .home-page .cat_subs_wrapper { padding: 40px 0; }
}
@media (prefers-reduced-motion: reduce) {
    .home-page *, .home-page *:before, .home-page *:after { animation: none !important; transition: none !important; }
}
