/* Consumer page layouts; approved theme and component tokens remain authoritative. */
.hp-content { max-width: 1120px; margin: auto; padding: 0 32px 56px; }
.hp-section { padding: 64px 0; border-bottom: 1px solid var(--md-border); overflow-wrap: anywhere; }
.hp-section:last-child { border-bottom: 0; }
.hp-section h2 { white-space: pre-line; }
.hp-hero-heading { max-width: 850px; margin: 0 0 24px; font: 400 clamp(36px, 4.8vw, 62px)/1.15 var(--md-heading-font); }
.hp-description { max-width: 640px; white-space: pre-line; }
.hp-hero-detail { margin: 32px 0 0; font: 400 14px/1.5 var(--md-ui-font); color: var(--md-muted-text); }
.hp-layout--center { text-align: center; }
.hp-layout--center :is(h2, .hp-description) { margin-inline: auto; }
.hp-section-head { display: grid; gap: 12px; margin-bottom: 28px; }
.hp-section-head .mdc-eyebrow { margin: 0; }
.hp-catalog { display: grid; gap: 24px; }
.hp-catalog--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hp-app { display: flex; flex-direction: column; gap: 24px; }
.hp-app-copy { display: grid; align-content: center; gap: 16px; min-width: 0; }
.hp-app-copy .mdc-eyebrow { margin: 0; }
.hp-catalog--list .hp-app { display: grid; grid-template-columns: minmax(200px, 1fr) 2fr; }
.hp-catalog--featured .hp-app { display: grid; grid-template-columns: 1fr 1fr; padding: 32px; }
.hp-catalog.hp-image--right:not(.hp-catalog--grid) .hp-placeholder { order: 2; }
.hp-catalog.hp-image--right:not(.hp-catalog--grid) .hp-screenshot { order: 2; }
.hp-screenshot { margin: 0; min-width: 0; display: grid; place-items: center; background: var(--md-warm-beige); border: 1px solid var(--md-border); border-radius: var(--md-radius-control); overflow: hidden; }
.hp-screenshot img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; }
.hp-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 210px; margin: 0; padding: 24px 16px; border: 1px solid var(--md-border); border-radius: var(--md-radius-control); background: var(--md-warm-beige); gap: 24px; }
.hp-placeholder figcaption { color: var(--md-muted-text); font: 500 10px/1.5 var(--md-ui-font); letter-spacing: .07em; text-align: center; }
.hp-placeholder-art { position: relative; width: 150px; height: 98px; border: 1px solid var(--md-sage); background: var(--md-off-white); }
.hp-placeholder-art span { position: absolute; inset: 12px 28px 24px 12px; border: 2px solid var(--md-red); }
.hp-placeholder-art i { position: absolute; width: 44px; height: 2px; background: var(--md-red); transform: rotate(-40deg); right: 3px; bottom: 23px; }
.hp-placeholder-art b { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--md-sage); left: 25px; top: 25px; }
.hp-launch { display: grid; gap: 8px; justify-items: start; margin-top: 8px; }
.hp-section--custom.hp-layout--split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.hp-section--custom h2 { font-size: 32px; }
.hp-contact-detail { font: 500 16px/1.6 var(--md-ui-font); margin: 24px 0 0; }
@media (max-width: 767px) {
  .hp-content { padding: 0 6vw 32px; }
  .hp-section { padding: 40px 0; }
  .hp-catalog--grid, .hp-catalog--list .hp-app, .hp-catalog--featured .hp-app, .hp-section--custom.hp-layout--split { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hp-catalog.hp-image--right:not(.hp-catalog--grid) .hp-placeholder { order: 0; }
  .hp-catalog.hp-image--right:not(.hp-catalog--grid) .hp-screenshot { order: 0; }
  .hp-catalog--featured .hp-app { padding: 16px; }
  .hp-section--custom h2 { font-size: 28px; }
}
.hp-text { min-width:0; max-width:100%; box-sizing:border-box; white-space:pre-wrap; overflow-wrap:anywhere; }
.hp-text-flow { display:flex; flex-direction:column; min-width:0; gap:0; }
.hp-text-flow .hp-description { max-width:100%; }
.hp-section--custom.hp-layout--split { display:block; }
.hp-elements-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
.hp-app[hidden],.hp-no-results[hidden] { display:none; }
.hp-filter { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:end; }
.hp-filter-chips { display:flex; flex-wrap:wrap; gap:8px; grid-column:1/-1; }
.hp-filter-chips .mdc-button[aria-pressed="true"] { border-color:var(--md-red); outline:2px solid var(--md-red); outline-offset:1px; font-weight:700; }
.hp-filter-chips .mdc-button { max-width:100%; overflow-wrap:anywhere; }
.hp-filter [data-catalog-count] { grid-column:1/-1; }
.hp-app-tags { overflow-wrap:anywhere; }
@media(max-width:767px){.hp-elements-split,.hp-filter{grid-template-columns:minmax(0,1fr)}.hp-elements-split{gap:16px}}
.hp-content { max-width:none; margin:0; padding:0; }
.hp-section { border:0; padding-top:var(--hp-pad-top,64px); padding-bottom:var(--hp-pad-bottom,64px); }
.hp-section-inner { box-sizing:border-box; width:100%; max-width:1120px; margin-inline:auto; padding-inline:32px; }
.hp-rich-layout { width:100%; min-width:0; }
.hp-rich-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
.hp-rich { min-width:0; max-width:100%; min-height:120px; font:400 16px/1.6 var(--md-ui-font); overflow-wrap:anywhere; white-space:pre-wrap; }
.hp-rich p { margin:0 0 16px; }
.hp-rich p:last-child { margin-bottom:0; }
.hp-layout--center .hp-rich-layout:not(.hp-rich-columns) { max-width:800px; margin-inline:auto; text-align:center; }
.hp-filter-accordion > summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; cursor:pointer; min-height:48px; font:400 24px/1.3 var(--md-heading-font); }
.hp-filter-accordion > summary::before { content:'▸'; }
.hp-filter-accordion[open] > summary::before { content:'▾'; }
.hp-filter-accordion > summary:focus-visible { outline:3px solid var(--md-text); outline-offset:4px; }
.hp-filter-accordion[open] > summary { margin-bottom:24px; }
.hp-device-filter { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; }
.hp-device-filter [aria-pressed="true"] { outline:2px solid var(--md-red); outline-offset:1px; font-weight:700; }
.hp-filter-accordion .hp-text-flow { margin-top:16px; }
@media(max-width:767px){.hp-section{padding-top:var(--hp-mobile-pad-top,40px);padding-bottom:var(--hp-mobile-pad-bottom,40px)}.hp-section-inner{padding-inline:6vw}.hp-rich-columns{grid-template-columns:minmax(0,1fr);gap:24px}}
