.home-hero {
    position: relative;
    overflow: hidden;
    background: #980003;
    color: #fff;
    padding: 105px 0 95px
}

.home-hero:before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border: 1px solid #d94a4c;
    border-radius: 50%;
    left: -230px;
    bottom: -230px
}

.home-hero-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 40%, #e20d10 0, transparent 45%)
}

.home-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center
}

.home-hero-copy h1 {
    font-size: clamp(4rem, 6.4vw, 7rem);
    line-height: .88;
    margin: 20px 0 28px;
    letter-spacing: -.05em
}

.home-hero-copy h1 span {
    color: var(--gold)
}

.home-hero-copy>p {
    max-width: 620px;
    color: #ffe0da;
    font-size: 1.08rem;
    line-height: 1.75;
    margin-bottom: 30px
}

.home-hero-copy {
    position: relative
}

.heritage-stamp {
    position: absolute;
    right: -40px;
    bottom: -55px;
    width: 145px;
    height: 145px;
    border: 1px solid #ee7778;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transform: rotate(-8deg);
    background: #ab0003
}

.heritage-stamp strong {
    font-size: 2.2rem;
    color: var(--gold)
}

.heritage-stamp span {
    font-size: .72rem;
    line-height: 1.3;
    text-transform: uppercase;
    font-weight: 700
}

.image-accent {
    position: relative;
    margin: 0
}

.image-accent img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 1
}

.home-hero-image {
    height: 560px;
    border: 10px solid #b70003;
    box-shadow: 0 35px 70px #35000055
}

.corner {
    position: absolute;
    z-index: 2;
    width: 80px;
    height: 80px
}

.corner:before,
.corner:after {
    content: "";
    position: absolute;
    background: var(--gold)
}

.corner:before {
    width: 100%;
    height: 4px
}

.corner:after {
    width: 4px;
    height: 100%
}

.corner-one {
    left: -18px;
    top: -18px
}

.corner-two {
    right: -18px;
    bottom: -18px;
    transform: rotate(180deg)
}

.home-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    margin-bottom: 42px
}

.home-section-head h2 {
    font-size: clamp(2.7rem, 4.5vw, 4.8rem);
    line-height: 1;
    margin: 17px 0 0
}

.home-section-head>p {
    max-width: 420px;
    color: var(--muted);
    line-height: 1.7
}

.home-menu {
    background: #fff8e9
}

.home-menu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.home-menu-card {
    background: #fff;
    border: 1px solid #eadccf;
    overflow: hidden;
    transition: .25s
}

.home-menu-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 45px #510b0018
}

.home-menu-image {
    height: 260px;
    background-image: url('/assets/home-menu-sprite.png');
    background-size: 300% 200%;
    background-position: calc(var(--mcol)*50%) calc(var(--mrow)*100%);
    background-repeat: no-repeat
}

.home-menu-copy {
    position: relative;
    padding: 26px
}

.home-menu-copy>span {
    position: absolute;
    right: 22px;
    top: 18px;
    color: #b7000320;
    font-size: 2.8rem;
    font-weight: 800
}

.home-menu-copy h3 {
    font-size: 1.55rem;
    margin: 0 0 12px
}

.home-menu-copy p {
    color: var(--muted);
    line-height: 1.65;
    min-height: 80px
}

.home-menu-copy a {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: var(--red);
    font-weight: 800;
    border-bottom: 1px solid #dd9c9d;
    padding-bottom: 4px
}

.home-menu-copy a b {
    transition: .2s
}

.home-menu-card:hover a b {
    transform: translateX(5px)
}

.home-catering {
    background: #0b0403;
    color: #fff;
    padding: 105px 0
}

.home-catering-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 80px;
    align-items: center
}

.catering-image {
    height: 520px;
    border: 8px solid #25100d
}

.catering-copy h2 {
    font-size: clamp(3rem, 5vw, 5.4rem);
    line-height: .95;
    margin: 20px 0 26px
}

.catering-copy>p {
    color: #d8c6bd;
    font-size: 1.08rem;
    line-height: 1.8;
    margin-bottom: 30px
}

.catering-notes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px
}

.catering-notes span {
    border: 1px solid #573d36;
    padding: 9px 13px;
    color: #e7d6ce;
    font-size: .85rem
}

.home-catering .eyebrow {
    color: var(--gold)
}

@media(max-width:980px) {

    .home-hero-grid,
    .home-catering-grid {
        grid-template-columns: 1fr
    }

    .home-hero-copy {
        max-width: 720px
    }

    .home-hero-image {
        height: 520px
    }

    .heritage-stamp {
        right: 5px
    }

    .home-menu-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .home-catering-grid {
        gap: 55px
    }
}

@media(max-width:700px) {
    .home-hero {
        padding: 80px 0 75px
    }

    .home-hero-grid {
        gap: 75px
    }

    .home-hero-copy h1 {
        font-size: 3.8rem
    }

    .home-hero-image {
        height: 400px
    }

    .heritage-stamp {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 35px 0 -35px
    }

    .home-section-head {
        align-items: flex-start;
        flex-direction: column
    }

    .home-menu-grid {
        grid-template-columns: 1fr
    }

    .home-menu-image {
        height: 300px
    }

    .home-catering {
        padding: 75px 0
    }

    .catering-image {
        height: 400px
    }

    .corner {
        width: 58px;
        height: 58px
    }
}

/* Satvik homepage section */
.home-menu-image {
    background-size: 300% auto;
    background-color: #f1e2cf
}

.home-trust {
    padding: 0 0 95px;
    background: #f4ead5
}

.trust-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.trust-card-grid article {
    position: relative;
    background: #b70003;
    color: #fff;
    padding: 24px 25px;
    border-bottom: 4px solid var(--gold);
    overflow: hidden
}

.trust-card-grid h3 {
    position: relative;
    font-size: 1.15rem;
    margin: 0 0 9px;
    color: var(--gold)
}

.trust-card-grid p {
    position: relative;
    margin: 0;
    color: #ffe3df;
    line-height: 1.55;
    font-size: .94rem
}

@media(max-width:700px) {
    .home-trust {
        padding-bottom: 70px
    }

    .trust-card-grid {
        grid-template-columns: 1fr
    }
}

.home-satvik {
    padding: 105px 0;
    background: #f4ead5;
    overflow: hidden
}

.home-satvik-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 80px;
    align-items: center
}

.satvik-copy h2 {
    font-size: clamp(3rem, 5vw, 5.2rem);
    line-height: .95;
    margin: 20px 0 25px;
    color: var(--red)
}

.satvik-copy p {
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.8
}

.satvik-link {
    display: inline-block;
    margin-top: 15px;
    color: var(--red);
    font-weight: 800;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 5px
}

.satvik-image {
    height: 480px;
    border: 8px solid #fff;
    box-shadow: 0 28px 60px #4b000022
}

@media(max-width:980px) {
    .home-satvik-grid {
        grid-template-columns: 1fr;
        gap: 55px
    }
}

@media(max-width:700px) {
    .home-satvik {
        padding: 75px 0
    }

    .satvik-image {
        height: 400px
    }
}
/* Published CMS slides reuse complete, authored homepage hero markup. */
.home-hero-controls { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 16px; padding-top: 16px; }
.home-hero-controls[hidden] { display: none !important; }
.home-hero-controls .btn { min-width: 40px; min-height: 40px; }
