.page-hero { position: relative; display: flex; min-height: clamp(22rem, 45vw, 34rem); align-items: flex-end; overflow: hidden; background-position: center; background-size: cover; }
.page-hero:not(.page-hero--editorial)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, color-mix(in srgb, var(--dark-background-color) 84%, transparent)); }
.page-hero-content { position: relative; z-index: 1; width: min(100%, var(--site-max-width, 1400px)); margin: 0 auto; padding: clamp(2rem, 5vw, 5rem) var(--section-gutter); }
.page-hero h1, .page-hero h2, .page-hero p { max-width: 18ch; color: #fff; }
app-hero .page-hero--editorial { display: block; background: var(--walnut-cream) !important; }
app-hero .page-hero--editorial .page-hero-overlay { position: relative !important; inset: auto !important; display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); background: var(--walnut-cream) !important; }
app-hero .page-hero--editorial .page-hero-media { position: relative; grid-column: 2; min-height: inherit; background-position: center; background-repeat: no-repeat; background-size: cover; }
app-hero .page-hero--editorial .page-hero-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--walnut-cream) 0, color-mix(in srgb, var(--walnut-cream) 55%, transparent) 7%, transparent 18%); }
app-hero .page-hero--editorial .page-hero-copy { grid-column: 1; grid-row: 1; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: min(100%, 720px); padding: clamp(3rem, 6vw, 6rem) clamp(1.5rem, 5vw, 5rem); }
app-hero .page-hero--editorial .page-hero-eyebrow { margin: 0 0 1rem; color: var(--accent-color); font: 700 .88rem/1.2 var(--primary-font, Lato, sans-serif); letter-spacing: .16em; text-transform: uppercase; }
app-hero .page-hero--editorial .page-hero-message { position: static !important; inset: auto !important; width: auto; max-width: 12ch; padding: 0; color: var(--walnut-heading) !important; font-size: clamp(3rem, 5vw, 5.2rem) !important; line-height: .98; text-align: left; text-shadow: none; transform: none !important; }
app-hero .page-hero--editorial .page-hero-description { max-width: 42rem; margin-top: 1.4rem; color: var(--walnut-body); font-size: clamp(1rem, 1.2vw, 1.16rem); line-height: 1.65; }
app-hero .page-hero--editorial .page-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
app-hero .page-hero--editorial .page-hero-button { display: inline-flex; min-height: 3.1rem; align-items: center; justify-content: center; padding: .8rem 1.25rem; border: 1px solid var(--primary-color); border-radius: .35rem; font: 700 .9rem/1 var(--primary-font, Lato, sans-serif); text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
app-hero .page-hero--editorial .page-hero-button:hover { transform: translateY(-1px); }
app-hero .page-hero--editorial .page-hero-button--primary { background: var(--primary-color); color: var(--button-text-color, #fff); }
app-hero .page-hero--editorial .page-hero-button--secondary { background: transparent; color: var(--primary-color); }
@media(max-width:800px){app-hero .page-hero--editorial,app-hero .page-hero--editorial .page-hero-overlay{height:auto!important;min-height:0!important;max-height:none!important}app-hero .page-hero--editorial .page-hero-overlay{grid-template-columns:1fr;grid-template-rows:auto auto}app-hero .page-hero--editorial .page-hero-media{grid-column:1;grid-row:2;min-height:clamp(18rem,70vw,30rem)}app-hero .page-hero--editorial .page-hero-media::after{inset:0;background:linear-gradient(180deg,var(--walnut-cream),transparent 22%)}app-hero .page-hero--editorial .page-hero-copy{grid-column:1;grid-row:1;width:auto;padding:3.5rem 1.25rem 2.5rem}app-hero .page-hero--editorial .page-hero-message{font-size:clamp(2.7rem,12vw,4.2rem)!important}}
