.page-hero{padding:96px 0 104px;color:#fff;background-image:linear-gradient(90deg,rgba(0,0,0,0.55),rgba(0,0,0,0.15)),var(--hero-bg);background-size:cover;background-position:center;background-repeat:no-repeat}.page-hero--left{text-align:left}.page-hero--center{text-align:center}.page-hero__container--center{max-width:960px;margin-left:auto;margin-right:auto}.page-hero__title{margin:0 0 8px;font-size:2.4rem;font-weight:700}.page-hero__subtitle{margin:0;font-size:1.3rem;color:rgba(255,255,255,0.9)}.page-hero__area{color:var(--color-primary)}@media (max-width:767px){.page-hero{padding:72px 0}.page-hero__title{font-size:2.1rem}.page-hero__subtitle{font-size:1.15rem}}.promo-card{background:var(--color-bg,#fff);border-radius:var(--radius-lg,12px);overflow:hidden;box-shadow:var(--shadow-house-card)}.promo-card__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;padding:10px 20px;background-color:var(--clr-almost-black,#1a1a1a)}.promo-card__title{margin:0;flex:1 1 12rem;min-width:0;font-size:1.25rem;font-weight:600;color:var(--clr-white,#fff);line-height:1.3}.promo-card__badge{flex-shrink:0;font-size:0.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--clr-almost-black,#1a1a1a);background:var(--clr-yellow,var(--color-accent,#e6b422));padding:0.2rem 0.65rem;border-radius:var(--radius-sm,4px)}.promo-card__meta{flex-shrink:0;margin-left:auto;font-size:1.25rem;font-weight:700;color:var(--clr-yellow,var(--color-accent,#e6b422));white-space:nowrap}.promo-card__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch;gap:0}.promo-card__media{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;max-height:350px;min-height:0;align-self:start;background:#e8e8e4}.promo-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.promo-card__text{display:flex;flex-direction:column;justify-content:space-between;background:#f0f0ec;padding:16px 20px;box-sizing:border-box;min-height:350px;gap:10px}.promo-card__text p{margin:0;font-size:0.9375rem;line-height:1.55;color:var(--color-text-muted,#555);font-weight:500}.page-promo__buttons{display:flex;flex-direction:row;gap:10px}.promo-card__price-note{display:inline-block;flex:1;margin:0;font-size:1rem;color:var(--clr-almost-black);border:1px solid var(--clr-black);padding:0.55rem 1.75rem;border-radius:var(--radius-md)}.promo-card__cta{display:inline-block}@media (min-width:768px){.promo-card__media{align-self:stretch;aspect-ratio:auto;max-height:none;display:flex;flex-direction:column;min-height:200px}.promo-card__media img{position:static;flex:1 1 auto;width:100%;min-height:0;height:auto;object-fit:cover;object-position:center center}.promo-card__text{min-height:0;align-self:stretch}}@media (min-width:1024px){.promo-card__text{padding:18px 22px}.promo-card__text p{font-size:0.95rem;line-height:1.5}}@media (max-width:767px){.promo-card__body{grid-template-columns:minmax(0,1fr)}.promo-card__media{display:block;aspect-ratio:16 / 9;max-height:260px;align-self:stretch;min-height:0}.promo-card__media img{position:absolute;inset:0;width:100%;height:100%;flex:none;object-fit:cover}.promo-card__text{min-height:0;border-top:1px solid var(--color-border);padding:14px 16px 16px;align-items:flex-start;justify-content:flex-start}.promo-card__footer{flex-direction:column;align-items:stretch;gap:12px;padding:0 1.25rem 1.5rem;margin-top:0}.promo-card__price-note{flex:none;width:100%;text-align:center;box-sizing:border-box}.promo-card__cta{width:100%;box-sizing:border-box;text-align:center}}@media (max-width:480px){.promo-card__text{padding:12px 14px 14px}.promo-card__meta{margin-left:0}}.page-promo .promo-list__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;list-style:none;margin:0;padding:0}.page-promo .promo-list__intro{max-width:720px;margin:0 auto 32px;font-size:0.98rem;line-height:1.6;color:var(--color-text-muted);text-align:center}@media (min-width:900px){.page-promo .promo-list__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,640px),1fr))}}