/* PlayWest — page blocks: hero, swiper, meetings, banners, shared. BEM (pw-). */

.pw-pagehead { max-width: var(--pw-reading-max); margin: var(--pw-sp-6) auto 0; text-align: center; }
.pw-pagehead h1 { font-size: var(--pw-fs-xl); margin: var(--pw-sp-3) 0; font-weight: 600; letter-spacing: 0; }
.pw-pagehead__sub { color: var(--pw-fg-100); }

/* Image banner head (sports / racing) — Carbon flat overlay over photography */
.pw-pagebanner { position: relative; max-width: var(--pw-content-max); margin: var(--pw-sp-6) auto 0; padding: var(--pw-sp-8) var(--pw-sp-6); text-align: center;
    border: 1px solid var(--pw-bg-300); border-top: 3px solid var(--pw-amber); border-radius: var(--pw-r-lg);
    background-size: cover; background-position: center; }
.pw-pagebanner h1 { font-size: var(--pw-fs-xl); margin: var(--pw-sp-3) 0; font-weight: 300; letter-spacing: 0; }
.pw-pagebanner__sub { color: var(--pw-fg-100); max-width: 62ch; margin: 0 auto; }
.pw-pagebanner--sports { background-image: linear-gradient(rgba(22,22,22,.72), rgba(22,22,22,.82)), url('/assets/img/sports.jpg'); }
.pw-pagebanner--racing { background-image: linear-gradient(rgba(22,22,22,.70), rgba(22,22,22,.82)), url('/assets/img/racing.jpg'); }

/* ---- Hero ---- */
.pw-hero { text-align: center; max-width: var(--pw-reading-max); margin: var(--pw-sp-7) auto 0; }
.pw-hero__kicker { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); letter-spacing: .24em; text-transform: uppercase; color: var(--pw-amber); }
.pw-hero__title { font-size: var(--pw-fs-2xl); font-weight: 300; line-height: var(--pw-lh-tight); margin: var(--pw-sp-4) 0; letter-spacing: 0; }
.pw-hero__title em { font-style: normal; color: var(--pw-amber); }
.pw-hero__sub { font-size: var(--pw-fs-md); color: var(--pw-fg-100); max-width: 56ch; margin: 0 auto; }
.pw-hero__actions { display: flex; gap: var(--pw-sp-3); justify-content: center; margin-top: var(--pw-sp-5); flex-wrap: wrap; }
.pw-hero__rule { width: 1px; height: 56px; background: linear-gradient(var(--pw-amber), transparent); margin: var(--pw-sp-6) auto 0; }

/* ---- Fade swiper / meetings ---- */
.pw-swiper { position: relative; }
.pw-swiper--fade { max-width: 620px; margin: 0 auto; min-height: 320px; }
.pw-swiper--fade .pw-swiper__track { position: relative; }
.pw-swiper--fade.is-fade [data-swiper-slide] { position: absolute; inset: 0; transition: opacity var(--pw-t-slow) var(--pw-ease); }
.pw-swiper--fade [data-swiper-slide]:first-child { position: relative; }
.pw-swiper__dots { display: flex; gap: 8px; justify-content: center; margin-top: var(--pw-sp-4); }
.pw-swiper__dots button { width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--pw-line-warm); background: transparent; cursor: pointer; padding: 0; }
.pw-swiper__dots button[aria-current="true"] { background: var(--pw-amber); border-color: var(--pw-amber); }
.pw-swiper__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--pw-line-warm); background: var(--pw-bg-050); color: var(--pw-amber); cursor: pointer; }
.pw-swiper__arrow--prev { left: -8px; } .pw-swiper__arrow--next { right: -8px; }

/* ---- Message banner ---- */
.pw-banner { text-align: center; max-width: var(--pw-reading-max); margin: 0 auto; padding: var(--pw-sp-8) var(--pw-sp-6); border: 1px solid var(--pw-line-warm); border-radius: var(--pw-r-xl); background: linear-gradient(180deg, var(--pw-amber-soft), transparent); }
.pw-banner h3 { font-size: var(--pw-fs-lg); font-weight: 600; margin: var(--pw-sp-2) 0 var(--pw-sp-3); letter-spacing: 0; }
.pw-banner p { color: var(--pw-fg-100); max-width: 56ch; margin: 0 auto var(--pw-sp-5); }
.pw-banner__actions { display: flex; gap: var(--pw-sp-3); justify-content: center; flex-wrap: wrap; }

/* ---- Virtues ---- */
.pw-virtues { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pw-sp-6); max-width: var(--pw-reading-max); margin: 0 auto; }
.pw-virtues article { text-align: left; padding: var(--pw-sp-5); background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-radius: var(--pw-r-lg); }
.pw-virtues__n { font-family: var(--pw-font-display); font-weight: 300; font-size: var(--pw-fs-lg); color: var(--pw-amber); }
.pw-virtues h4 { font-size: var(--pw-fs-md); font-weight: 600; margin: var(--pw-sp-2) 0; }
.pw-virtues p { color: var(--pw-fg-300); font-size: var(--pw-fs-sm); }

/* ---- Chip filter ---- */
.pw-chiprow { display: flex; flex-wrap: wrap; gap: var(--pw-sp-2); margin: var(--pw-sp-5) auto; justify-content: center; max-width: var(--pw-reading-max); }
.pw-chip { background: transparent; border: 1px solid var(--pw-bg-300); color: var(--pw-fg-100); padding: 7px 16px; border-radius: var(--pw-r-pill); font-family: var(--pw-font-body); font-size: var(--pw-fs-sm); cursor: pointer; transition: var(--pw-t-fast); }
.pw-chip:hover { border-color: var(--pw-amber); color: var(--pw-amber); }
.pw-chip.is-on { background: var(--pw-amber); color: var(--pw-ink); border-color: var(--pw-amber); }
.pw-chiprow a.pw-chip { text-decoration: none; }
.pw-market-block { max-width: var(--pw-reading-max); margin: var(--pw-sp-6) auto 0; }
.pw-market__legend { display: none; }

/* ---- Partner / approval badges (Sports & Racing) ---- */
.pw-partners { display: flex; flex-wrap: wrap; gap: var(--pw-sp-3); justify-content: center; max-width: var(--pw-content-max); margin: var(--pw-sp-5) auto 0; }
.pw-badge { display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px; border: 1px solid var(--pw-bg-300); border-left: 3px solid var(--pw-amber); background: var(--pw-bg-100); }
.pw-badge .pw-ic { width: 1.5em; height: 1.5em; color: var(--pw-amber); flex: none; }
.pw-badge__t { display: flex; flex-direction: column; line-height: 1.18; }
.pw-badge__t b { font-family: var(--pw-font-display); font-weight: 600; font-size: var(--pw-fs-sm); color: var(--pw-fg-000); }
.pw-badge__t span { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-fg-300); letter-spacing: .03em; }

/* ---- Racing ---- */
.pw-racegrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: var(--pw-sp-4); max-width: var(--pw-content-max); margin: var(--pw-sp-5) auto 0; }
.pw-racecard { background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-radius: var(--pw-r-lg); padding: var(--pw-sp-5); }
.pw-racecard__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--pw-sp-3); }
.pw-racecard__track { font-family: var(--pw-font-display); font-weight: 600; font-size: var(--pw-fs-md); color: var(--pw-fg-000); }
.pw-racecard__track small { color: var(--pw-fg-300); font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); font-weight: 400; }
.pw-racecard__next { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-amber); }
.pw-racecard__runners { list-style: none; }
.pw-racecard__runners li { display: grid; grid-template-columns: 26px 1fr auto; gap: var(--pw-sp-3); align-items: center; padding: var(--pw-sp-3) 0; border-top: 1px solid var(--pw-bg-300); }
.pw-runner__no { font-family: var(--pw-font-mono); width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--pw-line-warm); color: var(--pw-amber); border-radius: var(--pw-r-xs); font-size: var(--pw-fs-xs); }
.pw-runner__name { color: var(--pw-fg-000); font-size: var(--pw-fs-sm); }
.pw-runner__name small { color: var(--pw-fg-300); }
.pw-racecard__going { display: inline-block; margin-top: var(--pw-sp-3); font-size: var(--pw-fs-xs); color: var(--pw-fg-300); }

/* ---- Promotions ---- */
.pw-promogrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px,1fr)); gap: var(--pw-sp-4); max-width: var(--pw-content-max); margin: var(--pw-sp-5) auto 0; }
.pw-promo { background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-radius: var(--pw-r-lg); padding: var(--pw-sp-5); display: flex; flex-direction: column; gap: var(--pw-sp-3); align-items: flex-start; }
.pw-promo--gold { border-top: 3px solid var(--pw-amber); }
.pw-promo--sand { border-top: 3px solid var(--pw-sand); }
.pw-promo__tag { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); text-transform: uppercase; letter-spacing: .16em; color: var(--pw-amber); }
.pw-promo h2 { font-size: var(--pw-fs-md); font-weight: 600; }
.pw-promo p { color: var(--pw-fg-100); font-size: var(--pw-fs-sm); }

/* ---- CTA strip ---- */
.pw-ctastrip { display: flex; gap: var(--pw-sp-5); align-items: center; justify-content: space-between; flex-wrap: wrap; max-width: var(--pw-reading-max); margin: var(--pw-sp-6) auto 0; padding: var(--pw-sp-6); border: 1px solid var(--pw-bg-300); border-left: 3px solid var(--pw-amber); border-radius: var(--pw-r-xl); background: var(--pw-bg-100); }
.pw-ctastrip h3 { font-size: var(--pw-fs-md); font-weight: 600; margin-bottom: var(--pw-sp-2); }
.pw-ctastrip p { color: var(--pw-fg-100); }

/* ---- FAQ ---- */
.pw-faq { display: flex; flex-direction: column; gap: var(--pw-sp-2); max-width: var(--pw-reading-max); margin: var(--pw-sp-5) auto 0; }
.pw-faq__item { border-bottom: 1px solid var(--pw-bg-300); padding: var(--pw-sp-4) 0; }
.pw-faq__item summary { cursor: pointer; font-family: var(--pw-font-display); font-weight: 600; font-size: var(--pw-fs-md); color: var(--pw-fg-000); list-style: none; display: flex; justify-content: space-between; gap: var(--pw-sp-3); }
.pw-faq__item summary::after { content: "+"; color: var(--pw-amber); }
.pw-faq__item[open] summary::after { content: "–"; }
.pw-faq__item p { margin-top: var(--pw-sp-3); color: var(--pw-fg-100); }

/* ---- Auth ---- */
.pw-auth { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pw-sp-7); max-width: var(--pw-content-max); margin: var(--pw-sp-6) auto 0; align-items: start; }
.pw-auth--narrow { grid-template-columns: minmax(0, 460px); justify-content: center; }
.pw-auth__intro h1 { font-size: var(--pw-fs-xl); font-weight: 600; margin: var(--pw-sp-3) 0; letter-spacing: 0; }
.pw-auth__form { padding: var(--pw-sp-6); background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-radius: var(--pw-r-lg); }
.pw-auth__form h1 { font-size: var(--pw-fs-lg); font-weight: 600; margin: var(--pw-sp-2) 0 var(--pw-sp-4); }
.pw-auth__alt { font-size: var(--pw-fs-sm); color: var(--pw-fg-300); margin-top: var(--pw-sp-4); }
.pw-ticklist { list-style: none; margin-top: var(--pw-sp-4); display: flex; flex-direction: column; gap: var(--pw-sp-2); }
.pw-ticklist li { padding-left: 24px; position: relative; color: var(--pw-fg-100); }
.pw-ticklist li::before { content: "✓"; position: absolute; left: 0; color: var(--pw-amber); font-weight: 600; }
.pw-reset { margin-top: var(--pw-sp-4); }
.pw-reset > summary { cursor: pointer; color: var(--pw-amber); font-size: var(--pw-fs-sm); list-style: none; }
.pw-reset > summary::-webkit-details-marker { display: none; }
.pw-reset[open] > summary { margin-bottom: var(--pw-sp-3); }
.pw-reset .pw-card { padding: var(--pw-sp-5); }
.pw-reset__lead { font-size: var(--pw-fs-sm); color: var(--pw-fg-300); margin-bottom: var(--pw-sp-3); }
.pw-betstop-note { margin-top: var(--pw-sp-4); padding: var(--pw-sp-3) var(--pw-sp-4); border-left: 3px solid var(--pw-amber); background: var(--pw-bg-100); font-size: var(--pw-fs-sm); color: var(--pw-fg-100); }
.pw-collection-notice { border: 1px solid var(--pw-bg-300); border-left: 3px solid var(--pw-amber); background: var(--pw-bg-150); padding: var(--pw-sp-4); margin-bottom: var(--pw-sp-5); font-size: var(--pw-fs-sm); color: var(--pw-fg-100); line-height: 1.55; }
.pw-limitset { border: 1px solid var(--pw-bg-300); border-radius: 0; padding: var(--pw-sp-4); margin-bottom: var(--pw-sp-4); }
.pw-limitset legend { font-size: var(--pw-fs-sm); font-weight: 600; color: var(--pw-fg-000); padding: 0 var(--pw-sp-2); }
.pw-limitset__hint { font-size: var(--pw-fs-xs); color: var(--pw-fg-300); margin-bottom: var(--pw-sp-3); }
.pw-limitset__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pw-sp-3); }
.pw-limitset__row .pw-field { margin-bottom: 0; }
@media (max-width: 480px){ .pw-limitset__row { grid-template-columns: 1fr; } }

/* ---- Contact / account ---- */
.pw-contact { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--pw-sp-6); max-width: var(--pw-content-max); margin: var(--pw-sp-6) auto 0; align-items: start; }
.pw-contact__info { display: grid; gap: var(--pw-sp-4); }
.pw-contact__tile, .pw-acct__tile { padding: var(--pw-sp-5); }
.pw-contact__tile h3, .pw-acct__tile h3 { font-size: var(--pw-fs-md); font-weight: 600; margin-bottom: var(--pw-sp-2); }
.pw-contact__form { padding: var(--pw-sp-6); }
.pw-acct { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: var(--pw-sp-4); max-width: var(--pw-content-max); margin: var(--pw-sp-5) auto 0; }
.pw-acct__tile { display: flex; flex-direction: column; gap: var(--pw-sp-3); align-items: flex-start; }
.pw-acct__big { font-size: var(--pw-fs-xl); color: var(--pw-amber); }

/* ---- Prose / legal ---- */
.pw-prose { padding: var(--pw-sp-6); max-width: var(--pw-reading-max); margin: var(--pw-sp-5) auto 0; }
.pw-prose h2 { font-size: var(--pw-fs-md); font-weight: 600; margin: var(--pw-sp-5) 0 var(--pw-sp-2); color: var(--pw-amber); }
.pw-prose p { color: var(--pw-fg-100); margin-bottom: var(--pw-sp-3); }
.pw-legal { max-width: var(--pw-reading-max); margin: 0 auto; }
.pw-crumbs { font-size: var(--pw-fs-xs); color: var(--pw-fg-300); margin-bottom: var(--pw-sp-4); text-align: center; }
.pw-legal__head { text-align: center; }
.pw-legal__head h1 { font-size: var(--pw-fs-xl); font-weight: 600; margin: var(--pw-sp-3) 0; letter-spacing: 0; }
.pw-legal__lead { color: var(--pw-fg-100); }
.pw-legal__updated { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-fg-300); margin-top: var(--pw-sp-2); }
.pw-legal__body { margin-top: var(--pw-sp-6); display: flex; flex-direction: column; gap: var(--pw-sp-5); }
.pw-legal__section h2 { font-size: var(--pw-fs-md); font-weight: 600; margin-bottom: var(--pw-sp-2); color: var(--pw-amber); }
.pw-legal__section p { color: var(--pw-fg-100); }
.pw-legal__rg { margin: var(--pw-sp-6) auto 0; max-width: var(--pw-reading-max); background: var(--pw-sand-soft); border: 1px solid var(--pw-line-warm); border-radius: var(--pw-r-lg); padding: var(--pw-sp-4) var(--pw-sp-5); font-size: var(--pw-fs-sm); color: var(--pw-fg-000); }

/* ---- Error ---- */
.pw-errpage { text-align: center; padding: var(--pw-sp-9) 0; }
.pw-errpage__code { font-family: var(--pw-font-display); font-weight: 300; font-size: clamp(4rem,12vw,8rem); color: var(--pw-amber); display: block; letter-spacing: 0; }
.pw-errpage h1 { font-size: var(--pw-fs-lg); font-weight: 600; margin: var(--pw-sp-3) 0; }

@media (max-width: 820px) {
    .pw-virtues { grid-template-columns: 1fr; }
    .pw-auth, .pw-contact { grid-template-columns: 1fr; }
    .pw-swiper__arrow { display: none; }
}

/* ===== Imagery slots (flat Carbon overlay over photography) ===== */
.pw-hero { position: relative; border-radius: var(--pw-r-lg); padding: var(--pw-sp-8) var(--pw-sp-6);
    background-image: linear-gradient(rgba(22,22,22,.72), rgba(22,22,22,.78)), url('/assets/img/hero.jpg');
    background-size: cover; background-position: center; }
.pw-banner { background-image: linear-gradient(rgba(22,22,22,.80), rgba(22,22,22,.80)), url('/assets/img/feature.jpg'); background-size: cover; background-position: center; }

/* ===== empty state + footer payments ===== */
.pw-empty { padding: var(--pw-sp-6); text-align: center; color: var(--pw-fg-300); }
.pw-empty p { margin: var(--pw-sp-2) 0; }
.pw-footer__pay { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pw-sp-3); margin: var(--pw-sp-5) 0; }
.pw-footer__pay-label { font-size: var(--pw-fs-xs); color: var(--pw-fg-300); }
.pw-footer__pay-logos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pw-footer__pay-logos img { height: 22px; background: #fff; padding: 5px 8px; border-radius: 6px; }

/* ===== Category grid, fact bar ===== */
.pw-catgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px,1fr)); gap: var(--pw-sp-4); max-width: var(--pw-content-max); margin: 0 auto; }
.pw-catbox { display: flex; flex-direction: column; gap: 4px; padding: var(--pw-sp-5); background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-radius: var(--pw-r-lg); transition: var(--pw-t-fast); }
.pw-catbox:hover { border-color: var(--pw-line-warm); transform: translateY(-2px); text-decoration: none; box-shadow: var(--pw-sh-2); }
.pw-catbox__ico { font-size: 1.6rem; }
.pw-catbox__name { font-family: var(--pw-font-display); font-weight: 600; font-size: var(--pw-fs-md); color: var(--pw-fg-000); }
.pw-catbox__meta { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-amber); }
.pw-factbar { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--pw-bg-300); border: 1px solid var(--pw-bg-300); border-radius: var(--pw-r-lg); overflow: hidden; max-width: var(--pw-content-max); margin: 0 auto; }
.pw-factbar div { background: var(--pw-bg-100); padding: var(--pw-sp-5); text-align: center; }
.pw-factbar b { display: block; font-family: var(--pw-font-display); font-weight: 300; font-size: var(--pw-fs-lg); color: var(--pw-amber); }
.pw-factbar span { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-fg-300); text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 700px){ .pw-factbar { grid-template-columns: 1fr 1fr; } }

/* ===== Betting board: compact hero, coupon, sport tabs ===== */
.pw-hero--compact { padding: var(--pw-sp-6) var(--pw-sp-5) var(--pw-sp-4); }
.pw-hero--compact .pw-hero__title { font-size: var(--pw-fs-lg); margin: var(--pw-sp-2) 0 var(--pw-sp-3); }
.pw-hero--compact .pw-hero__sub { font-size: var(--pw-fs-base); }
.pw-coupon { max-width: var(--pw-content-max); margin: 0 auto; background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-top: 3px solid var(--pw-amber); border-radius: var(--pw-r-lg); padding: var(--pw-sp-6); box-shadow: none; }
.pw-coupon__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--pw-sp-4); }
.pw-coupon__tag { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--pw-amber); }
.pw-coupon__meta { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-fg-300); }
.pw-coupon__teams { display: flex; align-items: center; justify-content: center; gap: var(--pw-sp-4); font-family: var(--pw-font-display); font-weight: 600; font-size: var(--pw-fs-lg); color: var(--pw-fg-000); text-align: center; margin-bottom: var(--pw-sp-5); letter-spacing: 0; }
.pw-coupon__vs { color: var(--pw-amber); font-size: var(--pw-fs-sm); text-transform: uppercase; letter-spacing: .08em; }
.pw-coupon__odds { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pw-sp-3); }
.pw-coupon__odds .pw-odds { padding: 14px; }
.pw-coupon__odds .pw-odds__price { font-size: var(--pw-fs-md); }
.pw-coupon__note { text-align: center; font-size: var(--pw-fs-xs); color: var(--pw-fg-300); margin-top: var(--pw-sp-3); }
.pw-sporttabs { display: flex; flex-wrap: wrap; gap: var(--pw-sp-1); max-width: var(--pw-content-max); margin: var(--pw-sp-7) auto 0; border-bottom: 1px solid var(--pw-bg-300); padding-bottom: var(--pw-sp-2); }
.pw-sporttab { font-family: var(--pw-font-body); font-weight: 600; font-size: var(--pw-fs-sm); color: var(--pw-fg-100); padding: 9px 16px; border-radius: var(--pw-r-sm) var(--pw-r-sm) 0 0; }
.pw-sporttab:hover { background: var(--pw-bg-150); color: var(--pw-amber); text-decoration: none; }
.pw-market { max-width: var(--pw-content-max); margin: 0 auto var(--pw-sp-4); }
.pw-market__caption { display: flex; justify-content: space-between; align-items: center; }
.pw-market__cols { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); color: var(--pw-fg-500); font-weight: 400; letter-spacing: 0; }
.pw-section__head { max-width: var(--pw-content-max); margin-left: auto; margin-right: auto; }
@media (max-width: 560px){ .pw-coupon__odds { grid-template-columns: 1fr 1fr 1fr; } .pw-coupon__teams { font-size: var(--pw-fs-md); } }

/* ===== Highlights trio ===== */
.pw-highlights { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--pw-sp-4); max-width: var(--pw-content-max); margin: 0 auto; }
.pw-hl { background: var(--pw-bg-100); border: 1px solid var(--pw-bg-300); border-top: 3px solid var(--pw-amber); border-radius: var(--pw-r-lg); padding: var(--pw-sp-5); }
.pw-hl__tag { font-family: var(--pw-font-mono); font-size: var(--pw-fs-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--pw-amber); }
.pw-hl h3 { font-size: var(--pw-fs-md); font-weight: 600; margin: var(--pw-sp-2) 0; }
.pw-hl p { color: var(--pw-fg-100); font-size: var(--pw-fs-sm); }
@media (max-width: 760px){ .pw-highlights { grid-template-columns: 1fr; } }
