/* P2 native hero compositions. Every selector stays inside package markup. */
.pb-p2{container-type:inline-size;--p2-radius:min(var(--pb-radius,10px),1rem);--p2-shadow:none;--p2-gap:clamp(1rem,3vw,3rem);padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,3rem);color:var(--pb-sec-text,var(--pb-text));background:inherit;overflow-wrap:normal}
.pb-p2 *{box-sizing:border-box}.pb-p2 [hidden]{display:none!important}.pb-p2__wrap{max-width:var(--pb-content-width,80rem);margin-inline:auto;min-width:0}.pb-p2 .pb-p2__copy .pb-hero-title{font-size:clamp(2.25rem,1.4rem + 4vw,6.5rem);line-height:1.03;letter-spacing:-.035em;margin:.4em 0}.pb-p2 h2{font-size:clamp(1.5rem,1rem + 2vw,3rem);line-height:1.15;margin:.5em 0}.pb-p2 p{line-height:1.6}.pb-p2__lead{font-size:clamp(1.05rem,1rem + .5vw,1.4rem);max-width:48ch}.pb-p2__eyebrow{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.pb-p2__copy{min-width:0;align-self:center}.pb-p2__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.pb-p2 .pb-btn,.pb-p2 button{min-height:44px;min-width:44px}.pb-p2 .pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.75rem 1.2rem;border:1px solid currentColor;border-radius:var(--p2-radius,0);color:inherit;text-decoration:none}.pb-p2 :is(a,button,input,video,[tabindex]):focus-visible{outline:3px solid currentColor;outline-offset:4px}.pb-p2 button{font:inherit;color:inherit;background:var(--pb-surface,var(--pb-bg));border:1px solid var(--pb-border);padding:.6rem;cursor:pointer;border-radius:var(--p2-radius,0)}
.pb-p2__media{position:relative;align-self:stretch;min-width:0;overflow:hidden;background:var(--pb-surface);border-radius:var(--p2-radius,0)}.pb-p2__media:before{content:'';display:block;aspect-ratio:4/5}.pb-p2__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.pb-p2__split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:var(--p2-gap)}.pb-p2__slide{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:var(--p2-gap);margin-bottom:1rem}.pb-p2__slide-copy{min-width:0;padding-block:1rem}.pb-p2__controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.pb-p2__controls button[aria-pressed=true]{border:2px solid currentColor;font-weight:700}.pb-p2__controls button img{width:4rem;height:2.5rem;object-fit:cover;display:block}.pb-p2__status{font-size:.875rem}.pb-p2__controls progress{max-width:10rem;accent-color:var(--pb-primary)}
.pb-p2__centerpiece{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.75fr);align-items:center;gap:var(--p2-gap)}.pb-p2--centerpiece .pb-p2__copy .pb-hero-title{font-size:clamp(2rem,1.2rem + 3vw,4.5rem)}.pb-p2__aside{align-self:center;min-width:0}.pb-theme .pb-p2 .pb-p2__masthead{font-size:clamp(3.25rem,1rem + 9vw,9rem)!important;line-height:1.12!important;letter-spacing:-.055em;margin:0;border-block:2px solid currentColor;padding-block:.18em .25em}.pb-p2__issue{border-bottom:1px solid var(--pb-border);padding-bottom:.6rem}.pb-p2__cover{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--p2-gap);align-items:center}.pb-p2__cover>.pb-p2__media{grid-row:span 2}.pb-p2__cover-lines{padding-left:1.2rem;line-height:1.8;border-top:1px solid var(--pb-border);padding-top:1rem}.pb-p2--magazine_cover .pb-p2__copy .pb-hero-title{font-size:clamp(2rem,4vw,4rem)}
.pb-p2__bento{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr);gap:1rem;align-items:stretch}.pb-p2__bento>.pb-p2__copy{grid-column:span 2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.25rem,3vw,3rem);background:var(--pb-surface);border-radius:var(--p2-radius,0)}.pb-p2__bento>.pb-p2__media:last-child{grid-column:span 2}.pb-p2__bento .pb-p2__media:before{aspect-ratio:16/9}.pb-p2__number{container-type:inline-size;padding:1.5rem;border:1px solid var(--pb-border);border-radius:var(--p2-radius,0);display:flex;flex-direction:column;justify-content:center}.pb-p2__number strong{font-size:clamp(1.75rem,15cqi,5rem);line-height:1.1;white-space:nowrap;overflow-wrap:normal}
.pb-p2__marquee{overflow:hidden;border-block:1px solid var(--pb-border);margin-block:2rem}.pb-p2__marquee p{font-size:clamp(2rem,6vw,7rem);line-height:1.2;margin:.3em 0}.pb-p2__strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-block:1rem}.pb-p2__strip>.pb-p2__media{flex:0 0 clamp(14rem,30vw,26rem);scroll-snap-align:start}.pb-p2__strip>.pb-p2__media:nth-child(even){margin-block:2rem}.pb-p2__strip .pb-p2__media:before{aspect-ratio:4/3}.pb-p2--title_photo_strip .pb-p2__copy{max-width:65rem}.pb-p2--marquee_hero .pb-p2__strip{max-width:55rem;margin-left:auto}
.pb-p2__doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.pb-p2__doors article{position:relative;display:grid;grid-template-columns:1fr}.pb-p2__doors article>.pb-p2__media:before{aspect-ratio:4/3}.pb-p2__doors article>div:last-child{padding:1.5rem;background:var(--pb-surface);border:1px solid var(--pb-border);border-radius:var(--p2-radius,0)}.pb-p2__doors article:nth-child(2){border-top:4px solid var(--pb-text)}
.pb-p2__stack{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(6,minmax(2rem,1fr));align-self:stretch;min-width:0}.pb-p2__stack>.pb-p2__media:nth-child(1){grid-area:1/1/6/6}.pb-p2__stack>.pb-p2__media:nth-child(2){grid-area:2/2/7/7;transform:rotate(3deg);border:6px solid var(--pb-bg)}.pb-p2__stack>.pb-p2__media:nth-child(3){grid-area:3/1/7/5;transform:rotate(-4deg);border:6px solid var(--pb-bg)}.pb-p2__stack .pb-p2__media:before{aspect-ratio:4/5}.pb-p2--layered_stack{overflow:hidden}
.pb-p2--showcase .pb-p2__copy{max-width:56rem}.pb-p2__device{margin:2rem auto 0;max-width:68rem;border:1px solid var(--pb-border);border-radius:var(--p2-radius,0);overflow:hidden;background:var(--pb-surface);box-shadow:var(--p2-shadow,none)}.pb-p2__device-bar{padding:.75rem 1rem;border-bottom:1px solid var(--pb-border);font-size:.7rem;letter-spacing:.3rem}.pb-p2__device img{display:block;width:100%;height:auto}.pb-p2__device figcaption{padding:1rem}.pb-p2__video{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.pb-p2__video video{display:block;width:100%;height:100%;min-height:20rem;max-height:none;object-fit:cover;background:var(--pb-surface)}.pb-p2__video>.pb-p2__media{flex:1}
.pb-p2__action-bar{position:relative;margin:2rem 0 0 8%;background:var(--pb-surface);border:1px solid var(--pb-border);border-radius:var(--p2-radius,0);box-shadow:var(--p2-shadow,none)}.pb-p2__fallback{padding:clamp(1.25rem,3vw,3rem)}.pb-p2--headline_card{padding:1rem}.pb-p2--headline_card .pb-p2__wrap{padding:clamp(1rem,3vw,3rem);border:1px solid var(--pb-border);border-radius:var(--p2-radius,0);background:var(--pb-surface)}.pb-p2--headline_card .pb-p2__slide{display:block}.pb-p2--headline_card .pb-p2__media:before{aspect-ratio:21/9}.pb-p2--headline_card .pb-p2__controls{border-top:1px solid var(--pb-border);padding-top:1rem}
.pb-p2__plaque-photo{position:relative;padding:3rem 0}.pb-p2__plaque-photo>.pb-p2__media{position:absolute;inset:0}.pb-p2__plaque{position:relative;width:min(100%,36rem);margin:10rem 2rem 0 auto;padding:clamp(1.25rem,3vw,3rem);color:var(--pb-text);background:var(--pb-bg);border:1px solid var(--pb-border);border-radius:var(--p2-radius,0)}.pb-p2__plaque .pb-p2__copy .pb-hero-title{font-size:clamp(2rem,4vw,4rem)}.pb-p2__plaque dl>div{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid var(--pb-border);padding-block:.75rem}.pb-p2__plaque dd{margin:0;font-weight:600}
@keyframes p2-drift{from{transform:translateX(0)}to{transform:translateX(-1.5rem)}}
@media(prefers-reduced-motion:no-preference){.pb-p2--moving .pb-p2__marquee p,.pb-p2--moving .pb-p2__strip>.pb-p2__media{animation:p2-drift 12s ease-in-out infinite alternate}.pb-p2--moving:hover .pb-p2__marquee p,.pb-p2--moving:focus-within .pb-p2__marquee p,.pb-p2--moving:hover .pb-p2__strip>.pb-p2__media,.pb-p2--moving:focus-within .pb-p2__strip>.pb-p2__media{animation-play-state:paused}}
@media(prefers-reduced-motion:reduce){.pb-p2 *{animation:none!important;transition:none!important;scroll-behavior:auto!important;scroll-snap-type:none!important}}
@container(max-width:48rem){.pb-p2__split,.pb-p2__slide,.pb-p2__centerpiece,.pb-p2__cover,.pb-p2__doors{grid-template-columns:minmax(0,1fr)}.pb-p2__cover>.pb-p2__media{grid-row:auto}.pb-p2__bento{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-p2__bento>.pb-p2__copy{grid-column:1/-1}.pb-p2__bento>.pb-p2__media:last-child{grid-column:auto}.pb-p2__action-bar{margin-left:0}.pb-p2__plaque-photo{padding:0}.pb-p2__plaque-photo>.pb-p2__media{position:relative}.pb-p2__plaque-photo>.pb-p2__media:before{aspect-ratio:4/3}.pb-p2__plaque{width:100%;margin:0}.pb-p2 .pb-p2__copy .pb-hero-title{font-size:clamp(2rem,8cqi,4rem)}}
@container(max-width:25rem){.pb-p2__bento{grid-template-columns:minmax(0,1fr)}.pb-p2__number strong{font-size:clamp(2rem,14cqi,4rem)}.pb-p2__plaque dl>div{flex-wrap:wrap}.pb-p2__strip>.pb-p2__media{flex-basis:85%}}

.pb-corners-sharp .pb-p2{--p2-radius:0px}.pb-shadow-soft .pb-p2{--p2-shadow:0 14px 36px -10px color-mix(in srgb,var(--pb-text) 16%,transparent)}.pb-shadow-hard .pb-p2{--p2-shadow:5px 5px 0 0 var(--pb-secondary)}

/* Split media stretches when copy grows; its spacer supplies the photo minimum. */
.pb-p2__media:before{max-height:min(70svh,560px)}
.pb-p2__video{position:relative;min-height:min(70svh,560px)}
.pb-p2__video:has(video){align-self:stretch}
.pb-p2__video video{position:absolute;inset:0;width:100%;height:100%}
@container(max-width:48rem){
.pb-p2__split>.pb-p2__media,.pb-p2__split>.pb-p2__video,.pb-p2__slide>.pb-p2__media,.pb-p2__centerpiece>.pb-p2__media,.pb-p2__cover>.pb-p2__media{order:2}
.pb-p2__centerpiece>.pb-p2__aside,.pb-p2__cover>.pb-p2__cover-lines{order:3}
.pb-p2__media:before{aspect-ratio:4/3;max-height:min(60svh,420px)}
}

.pb-p2 [data-p2-motion]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;margin-top:1rem;border:1px solid currentColor;border-radius:var(--pb-radius);background:var(--pb-bg);color:var(--pb-text);font:inherit;font-size:.875rem;cursor:pointer}
.pb-p2 [data-p2-motion][hidden]{display:none}

/* The plaque background fills the desktop overlay as well as the phone ratio box. */
.pb-p2__plaque-photo>.pb-p2__media img{width:100%;height:100%;object-fit:cover}
