/* Секция «Новогодний корпоратив»: тот же лес и чайный цвет, те же скругления и шрифты, что у шеф-боксов.
   Премиум крупнее и светлее остальных, поэтому композиция асимметрична, а не три одинаковые карточки. */
.newyear { position: relative; isolation: isolate; padding-top: 40px; --surface-pattern-opacity: .2; --surface-pattern-filter: none; }
.newyear::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: url('assets/brand-extra-01.png') center top / max(100%, 1500px) auto repeat-y;
  opacity: var(--surface-pattern-opacity); filter: var(--surface-pattern-filter);
}
.newyear > * { position: relative; z-index: 1; }

.newyear-grid {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px;
  grid-template-areas: "featured standard" "featured lux";
}
.newyear-standard { grid-area: standard; }
.newyear-featured { grid-area: featured; }
.newyear-lux { grid-area: lux; }

.newyear-card {
  display: flex; flex-direction: column; min-width: 0; padding: 30px;
  border: 1px solid #607153; border-radius: var(--radius); background: #35432e;
}
.newyear-card h3 { font-size: 22px; line-height: 1.4; letter-spacing: -.02em; }
.newyear-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 14px; }
.newyear-price strong {
  display: inline-flex; align-items: baseline; font: 400 clamp(30px, 3.2vw, 40px)/1.2 var(--display);
  letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--tea); white-space: nowrap;
}
.newyear-price span:not(.currency) { font-size: 13px; color: var(--muted); }
.newyear-total { margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.newyear-total strong { color: var(--paper); font-variant-numeric: tabular-nums; white-space: nowrap; }
.newyear-list { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.newyear-list li { display: flex; justify-content: space-between; gap: 18px; font-size: 14px; line-height: 1.5; }
.newyear-list b { flex: 0 0 auto; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--tea); }

.newyear-featured { background: var(--tea); border-color: var(--tea); color: var(--forest); padding: 36px; }
.newyear-featured h3 { font-size: clamp(26px, 2.6vw, 32px); }
.newyear-featured .newyear-price strong { font-size: clamp(38px, 4.4vw, 56px); color: var(--forest); }
.newyear-featured .newyear-price span:not(.currency), .newyear-featured .newyear-total { color: #3d4b35; }
.newyear-featured .newyear-total strong, .newyear-featured .newyear-list b { color: var(--forest); }
.newyear-featured .newyear-list { margin-top: 30px; gap: 13px; }
.newyear-featured .newyear-list li { font-size: 15px; }
.newyear-badge {
  align-self: flex-start; margin: 0 0 16px; padding: 6px 14px; border-radius: 999px;
  background: var(--forest); color: var(--tea); font-size: 12px; font-weight: 700; line-height: 1.4;
}

.newyear-offer {
  margin-top: 20px; padding: 36px 40px; border: 1px solid var(--tea); border-radius: var(--radius);
  background: var(--forest);
}
.newyear-offer-title { max-width: 760px; font: 400 clamp(20px, 2.4vw, 30px)/1.4 var(--display); letter-spacing: -.02em; color: var(--tea); text-wrap: balance; }
.newyear-offer p:not(.newyear-offer-title) { margin-top: 14px; max-width: 640px; font-size: 15px; line-height: 1.65; color: var(--muted); }
.newyear-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.newyear-actions .button { white-space: nowrap; }

@media (max-width: 1000px) {
  .newyear-card { padding: 24px; }
  .newyear-featured { padding: 28px; }
  .newyear-offer { padding: 30px; }
}
@media (max-width: 850px) {
  .newyear-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "standard" "featured" "lux"; }
}
@media (max-width: 700px) {
  .newyear { padding-top: 35px; }
  .newyear::before { background-size: 1050px; }
  .newyear-offer { padding: 24px 20px; }
  .newyear-actions { flex-direction: column; }
  .newyear-actions .button { width: 100%; white-space: normal; justify-content: center; text-align: center; }
}
