.page-hero {
    padding: 95px 0 70px;
    background: linear-gradient(135deg, #f4efe6, #fff);
    border-bottom: 1px solid var(--line)
}

.page-hero-inner {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px
}

.page-hero h1 {
    margin: .2rem 0 0
}

.editorial {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 30px
}

.editorial .big {
    min-height: 650px
}

.editorial .small {
    min-height: 310px
}

.editorial-card {
    position: relative;
    border-radius: 28px;
    overflow: hidden
}

.editorial-card img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.editorial-card:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, .55), transparent 55%)
}

.editorial-text {
    position: absolute;
    z-index: 2;
    left: 28px;
    bottom: 24px;
    color: #fff
}

.story-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px
}

.story-grid .s1 {
    grid-column: span 7
}

.story-grid .s2 {
    grid-column: span 5
}

.story-grid .s3 {
    grid-column: span 5
}

.story-grid .s4 {
    grid-column: span 7
}

.story-item {
    border-radius: 28px;
    overflow: hidden;
    min-height: 360px;
    position: relative
}

.story-item img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.story-item .editorial-text h3 {
    font-family: var(--font-family);
    font-size: 2.3rem;
    margin: 0
}

@media(max-width:800px) {
    .page-hero-inner {
        display: block
    }

    .editorial {
        grid-template-columns: 1fr
    }

    .editorial .big,
    .editorial .small {
        min-height: 430px
    }

    .story-grid {
        grid-template-columns: 1fr
    }

    .story-grid .s1,
    .story-grid .s2,
    .story-grid .s3,
    .story-grid .s4 {
        grid-column: auto
    }
}

/* Distinct collection layouts */
.deal-hero {
    padding: 88px 0 56px;
    background: radial-gradient(circle at 85% 20%, rgba(187, 145, 67, .18), transparent 28%), linear-gradient(120deg, #17130f, #2a2118);
    color: #fff
}

.deal-hero .section-title {
    color: #fff
}

.deal-hero .section-copy {
    color: rgba(255, 255, 255, .72)
}

.deal-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 22px;
    align-items: stretch
}

.deal-feature {
    min-height: 520px;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    background: #111
}

.deal-feature img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.deal-feature:after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, .75), transparent 60%)
}

.deal-copy {
    position: absolute;
    z-index: 2;
    left: 34px;
    right: 34px;
    bottom: 30px;
    color: #fff
}

.deal-side {
    display: grid;
    gap: 22px
}

.deal-panel {
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 34px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.deal-panel.dark {
    background: #18140f;
    color: #fff;
    border-color: #18140f
}

.deal-panel h3 {
    font-family: var(--font-family);
    font-size: 2.4rem;
    margin: .2rem 0 .6rem
}

.deal-ribbon {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid rgba(255, 255, 255, .3);
    padding: 8px 14px;
    border-radius: 999px;
    font-size: .75rem;
    letter-spacing: .12em;
    text-transform: uppercase
}

.deal-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.gift-hero {
    padding: 90px 0 70px;
    background: #f5eee5
}

.gift-intro {
    max-width: 900px;
    margin: auto;
    text-align: center
}

.gift-intro h1 {
    font-family: var(--font-family);
    font-size: clamp(3.5rem, 8vw, 7rem);
    line-height: .86;
    margin: 16px 0
}

.gift-intro p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--muted)
}

.gift-bands {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 45px
}

.gift-band {
    padding: 30px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid var(--line);
    min-height: 190px
}

.gift-band:nth-child(2) {
    background: #17130f;
    color: #fff
}

.gift-band:nth-child(3) {
    background: #e8dccb
}

.gift-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px
}

.gift-product {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 22px;
    align-items: center;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 28px;
    background: #fff
}

.gift-product img {
    width: 180px;
    height: 220px;
    object-fit: cover;
    border-radius: 20px
}

.gift-note {
    padding: 45px;
    border-radius: 32px;
    background: linear-gradient(135deg, #1b1712, #3a2d1e);
    color: #fff;
    text-align: center
}

.gift-note h2 {
    color: #fff;
    font-family: var(--font-family);
    font-size: 3rem;
    margin: .3rem 0
}

.collection-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 25px;
    margin-bottom: 28px
}

.collection-heading .section-title {
    margin: .2rem 0 0
}

@media(max-width:900px) {
    .deal-grid {
        grid-template-columns: 1fr
    }

    .deal-products {
        grid-template-columns: repeat(2, 1fr)
    }

    .gift-bands {
        grid-template-columns: 1fr
    }

    .gift-products {
        grid-template-columns: 1fr
    }

    .gift-product {
        grid-template-columns: 120px 1fr
    }

    .gift-product img {
        width: 120px;
        height: 160px
    }
}

@media(max-width:600px) {
    .deal-products {
        grid-template-columns: 1fr
    }

    .gift-product {
        grid-template-columns: 1fr
    }

    .gift-product img {
        width: 100%;
        height: 260px
    }

    .deal-feature {
        min-height: 430px
    }
}

/* Contact page responsive layout */
.contact-story-section{padding-block:clamp(54px,7vw,92px)}
.contact-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch;gap:clamp(18px,3vw,30px)}
.contact-story-card{display:flex;flex-direction:column;min-width:0;padding:clamp(24px,4vw,42px)}
.contact-story-card .section-title{font-size:clamp(2.5rem,4.5vw,4.25rem)}
.contact-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,18px);margin-top:clamp(22px,3vw,30px)}
.contact-benefits .feature{min-width:0;padding:clamp(18px,2.5vw,26px)}
.contact-benefits .feature p{margin-bottom:0}
.contact-grid .map{min-width:0;min-height:430px;aspect-ratio:auto}
.contact-details-section{padding-top:0;padding-bottom:clamp(58px,8vw,92px)}
.contact-details-card{padding:clamp(24px,4vw,38px)}
.contact-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,34px);align-items:center}
.contact-detail{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:8px}
.contact-detail-value{font-family: var(--font-family);font-size:clamp(1.65rem,2.5vw,2.15rem);font-weight:600;line-height:1.1;overflow-wrap:anywhere;transition:color .2s ease}
.contact-detail-value:hover{color:var(--gold-deep)}
.contact-email{font-size:clamp(1.25rem,2vw,1.65rem)}
.contact-order .btn{width:100%;min-height:48px;text-align:center}

@media(max-width:900px){
 .contact-grid{grid-template-columns:1fr}
 .contact-grid .map{aspect-ratio:16/10;min-height:360px}
 .contact-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-order{grid-column:1/-1}
 .contact-order .btn{width:auto;min-width:240px}
}

@media(max-width:640px){
 .contact-story-section{padding-block:42px}
 .contact-story-card{padding:22px 18px}
 .contact-story-card .section-title{font-size:clamp(2.35rem,12vw,3.35rem)}
 .contact-benefits{gap:10px}
 .contact-benefits .feature{padding:17px 14px;border-radius:16px}
 .contact-benefits .feature h3{font-size:1.55rem}
 .contact-grid .map{width:100%;height:300px;min-height:0;aspect-ratio:auto;border-radius:22px}
 .contact-details-card{padding:24px 20px}
 .contact-details-grid{grid-template-columns:1fr;gap:0}
 .contact-detail{padding-block:18px;border-bottom:1px solid var(--line)}
 .contact-detail:first-child{padding-top:0}
 .contact-order{grid-column:auto;padding-bottom:0;border-bottom:0}
 .contact-order .btn{width:100%;min-width:0}
}

@media(max-width:380px){
 .contact-benefits{grid-template-columns:1fr}
 .contact-grid .map{height:260px}
}
