/* 1.15 approved homepage concept. Scoped to the exact default hero replacement.
   The original full desktop composition stays intact. Only mobile uses the
   named crop derivative; its image and live text occupy separate rows. */
.hero.az-homepage-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    min-height: 0;
    isolation: isolate;
    background: #103e32;
    color: #fffaf0;
}
.hero.az-homepage-hero::after { display: none; }
.az-homepage-hero .az-homepage-hero-art,
.az-homepage-hero .az-homepage-hero-inner { grid-area: 1 / 1; min-width: 0; }
.az-homepage-hero .az-homepage-hero-art { display: block; width: 100%; }
.az-homepage-hero .az-homepage-hero-image {
    display: block;
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 1942 / 809;
    object-fit: contain;
}
.az-homepage-hero .az-homepage-hero-inner {
    width: min(1440px, calc(100% - 80px));
    padding-block: 36px;
    z-index: 1;
}
.az-homepage-hero .az-homepage-hero-copy { width: 42%; max-width: 540px; min-width: 0; }
.az-homepage-hero .eyebrow {
    margin: 0 0 18px;
    color: #b5d9c0;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: .13em;
    gap: 12px;
}
.az-homepage-hero .eyebrow::before { width: 28px; flex: 0 0 28px; background: #b5d9c0; }
.hero.az-homepage-hero h1 {
    margin: 0 0 20px;
    max-width: 100%;
    color: #fffaf0;
    font-size: clamp(38px, 3.5vw, 60px);
    line-height: 1.13;
    font-weight: 700;
    letter-spacing: -.025em;
    overflow-wrap: normal;
}
html[lang=zh-Hans] .hero.az-homepage-hero h1 { font-size: clamp(38px, 3.5vw, 56px); line-height: 1.2; letter-spacing: .01em; }
.az-homepage-hero .az-homepage-hero-subtitle { display: inline-block; margin-top: 8px; font-size: .58em; letter-spacing: .025em; }
.az-homepage-hero .hero-copy { max-width: 100%; margin: 0; color: #f0f4ec; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.7; }
.hero.az-homepage-hero .home-primary-actions { max-width: 100%; margin: 24px 0 0; gap: 12px; align-items: stretch; }
.hero.az-homepage-hero .home-primary-actions .button {
    display: inline-flex;
    min-height: 50px;
    padding: 12px 16px;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.5;
    border-color: #7bb4a5;
    background: #277b73;
    color: #fff;
}
.hero.az-homepage-hero .home-primary-actions .home-discount-action { background: #103e3273; border-color: #d0ddc4; }
.hero.az-homepage-hero .home-primary-actions .button:hover { background: #205f59; border-color: #b5d9c0; }
.hero.az-homepage-hero .home-primary-actions .home-discount-action:hover { background: #103e32e0; border-color: #fffaf0; }
.az-homepage-hero .button:focus-visible { outline: 3px solid #fffaf0; outline-offset: 4px; }
.az-homepage-hero .button > span { flex: 0 0 auto; }
@media (min-width: 1101px) and (max-width: 1280px) {
    .az-homepage-hero .az-homepage-hero-inner { width: calc(100% - 64px); padding-block: 30px; }
    .az-homepage-hero .eyebrow { font-size: 10px; letter-spacing: .1em; }
    .hero.az-homepage-hero .home-primary-actions { gap: 10px; margin-top: 20px; }
    .hero.az-homepage-hero .home-primary-actions .button { font-size: 13px; padding-inline: 13px; gap: 8px; }
}
@media (max-width: 1100px) {
    .hero.az-homepage-hero { display: block; }
    .az-homepage-hero .az-homepage-hero-image { aspect-ratio: 1142 / 809; }
    .az-homepage-hero .az-homepage-hero-inner { width: min(680px, calc(100% - 64px)); padding-block: 34px 40px; }
    .az-homepage-hero .az-homepage-hero-copy { width: 100%; max-width: none; }
    .az-homepage-hero .eyebrow { font-size: 11px; margin-bottom: 16px; }
    .hero.az-homepage-hero h1,
    html[lang=zh-Hans] .hero.az-homepage-hero h1 { font-size: clamp(32px, 5.5vw, 46px); line-height: 1.2; margin-bottom: 20px; }
    .az-homepage-hero .hero-copy { font-size: 17px; line-height: 1.75; }
    .hero.az-homepage-hero .home-primary-actions { margin-top: 26px; }
    .hero.az-homepage-hero .home-primary-actions .home-discount-action { background: transparent; }
}
@media (max-width: 640px) {
    .az-homepage-hero .az-homepage-hero-inner { width: calc(100% - 40px); padding-block: 30px 34px; }
    .az-homepage-hero .eyebrow { font-size: 10px; gap: 9px; letter-spacing: .08em; }
    .az-homepage-hero .eyebrow::before { width: 20px; flex-basis: 20px; }
    .hero.az-homepage-hero h1,
    html[lang=zh-Hans] .hero.az-homepage-hero h1 { font-size: clamp(29px, 7vw, 38px); }
    .az-homepage-hero .hero-copy { font-size: 16px; line-height: 1.75; }
    .hero.az-homepage-hero .home-primary-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .hero.az-homepage-hero .home-primary-actions .button { width: 100%; padding: 12px 13px; font-size: 14px; min-height: 50px; }
}
@media (max-width: 380px) {
    .az-homepage-hero .az-homepage-hero-inner { width: calc(100% - 32px); }
    .hero.az-homepage-hero h1,
    html[lang=zh-Hans] .hero.az-homepage-hero h1 { font-size: 28px; }
    .az-homepage-hero .eyebrow { display: block; font-size: 10px; letter-spacing: .04em; }
    .az-homepage-hero .eyebrow::before { display: none; }
}
