/* Seasonal artwork lives inside the homepage composition, never on the wordmark or copy. */
body.pmx-season--christmas{--pmx-hero-art:url('seasons/hero-christmas.svg');--pmx-hero-color:#6e91cb}
body.pmx-season--easter{--pmx-hero-art:url('seasons/hero-easter.svg');--pmx-hero-color:#688a71}
body.pmx-season--summer{--pmx-hero-art:url('seasons/hero-summer.svg');--pmx-hero-color:#cf865d}
body.pmx-season--blackweek{--pmx-hero-art:url('seasons/hero-blackweek.svg');--pmx-hero-color:#916bf2;--pmx-hero-plate:#161226}
body.pmx-season--newyear{--pmx-hero-art:url('seasons/hero-newyear.svg');--pmx-hero-color:#b39056}

body[class*="pmx-season--"] .home-page .hero,
body[class*="pmx-season--"] .pmh-hero--studio{
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  gap:clamp(24px,4.7vw,72px);
}
body[class*="pmx-season--"] :is(.pmh-copy,.hero-copy,.pmh-actions,.pmh-button){min-inline-size:0}
body[class*="pmx-season--"] :is(.pmh-hero h1,.home-page .hero h1,.pmh-button,.home-page .hero-links .wp-block-button__link){overflow-wrap:anywhere}
body[class*="pmx-season--"] :is(.pmh-button,.home-page .hero-links .wp-block-button__link){max-inline-size:100%}
body[class*="pmx-season--"] .home-page .hero::before{display:none}

body[class*="pmx-season--"] .home-page .pm-brand-scene--hero{max-inline-size:620px;margin-block:0!important}
body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-stage{
  inline-size:100%;min-block-size:0;aspect-ratio:1.44;margin:0;
  border:1px solid color-mix(in srgb,var(--pmx-hero-color) 25%,var(--line));
  border-radius:clamp(16px,2.4vw,30px);overflow:clip;
  background-color:var(--pmx-hero-plate,color-mix(in srgb,var(--pmx-hero-color) 9%,var(--surface)));
  background-image:var(--pmx-hero-art),radial-gradient(ellipse 66% 70% at 50% 50%,color-mix(in srgb,var(--pmx-hero-color) 22%,transparent),transparent 100%);
  background-position:center;background-repeat:no-repeat;background-size:100% 100%;
}
body[class*="pmx-season--"] .home-page .pm-brand-scene--hero :is(.pm-hero-object,.pm-brand-haze,.pm-brand-grid,.pm-brand-orbit,.pm-brand-ground,.pm-brand-coordinate){display:none}
body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-symbol-scroll{
  inset:50% auto auto 50%;z-index:2;inline-size:31%;translate:-50% -50%;rotate:none;transform:none;will-change:auto;
}
body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-float{animation:none;opacity:1;transform:none}
body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-symbol{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 18px #160e3c28)}
body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-scroll-hint>span{animation:none}

/* The manifesto keeps its typography first; the seasonal hue stays in the backdrop. */
body[class*="pmx-season--"] .pmh-hero--manifest{
  border:1px solid color-mix(in srgb,var(--pmx-hero-color) 25%,var(--line));
  border-radius:clamp(18px,2.5vw,30px);padding-inline:clamp(16px,3vw,48px);
  background:var(--paper);
}
body[class*="pmx-season--"] .pmh-hero--manifest .pmh-manifest-art{
  animation:none;background:radial-gradient(ellipse 64% 67% at 50% 50%,color-mix(in srgb,var(--pmx-hero-color) 14%,transparent),transparent 100%);
}
body[class*="pmx-season--"] .pmh-manifest-art>img{opacity:.045}
body[class*="pmx-season--"] .pmh-manifest-ring{border-color:color-mix(in srgb,var(--pmx-hero-color) 22%,transparent)}

/* The decorative stage has its own cell, clear of text and portfolio photographs. */
.pmx-hero-weather-pocket{display:none}
body[class*="pmx-season--"] .pmx-hero-weather-pocket{
  position:relative;isolation:isolate;overflow:clip;display:grid;place-items:center;grid-column:1/-1;
  min-block-size:clamp(112px,14vw,168px);border-radius:15px;
  border:1px solid color-mix(in srgb,var(--pmx-hero-color) 22%,var(--line));
  background-color:var(--pmx-hero-plate,color-mix(in srgb,var(--pmx-hero-color) 9%,var(--surface)));
  background-image:var(--pmx-hero-art),radial-gradient(ellipse 52% 110% at center,color-mix(in srgb,var(--pmx-hero-color) 24%,transparent),transparent);
  background-position:center;background-repeat:no-repeat;background-size:min(100%,640px) auto,100% 100%;
}
body[class*="pmx-season--"] .pmx-hero-weather-pocket>img{
  position:relative;z-index:2;display:block;inline-size:auto;block-size:clamp(55px,7vw,94px);
  filter:drop-shadow(0 6px 10px #160e3c28);
}
body[class*="pmx-season--"] .pmh-hero--manifest .pmx-hero-weather-pocket{
  inline-size:min(100%,720px);margin:clamp(24px,3vw,42px) auto 0;
}

/* Keep projects and campaign imagery in their own cells, including with long labels. */
body[class*="pmx-season--"] .pmh-hero--portfolio{grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr)}
body[class*="pmx-season--"] .pmh-hero--portfolio .pmh-projects{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.2vw,18px);
  height:auto;min-width:0;padding:clamp(10px,1.5vw,20px);margin:0;
  background:color-mix(in srgb,var(--pmx-hero-color) 9%,var(--surface));
  border:1px solid color-mix(in srgb,var(--pmx-hero-color) 22%,var(--line));border-radius:24px;
}
body[class*="pmx-season--"] .pmh-projects>.pmh-project{
  position:relative;inset:auto;display:flex;flex-direction:column;inline-size:auto;min-inline-size:0;
  rotate:none;translate:none;animation:none;z-index:auto;border-radius:14px;box-shadow:none;
  transition:border-color .25s ease,box-shadow .25s ease;
}
body[class*="pmx-season--"] .pmh-projects>.pmh-project:hover{border-color:var(--accent);box-shadow:0 8px 20px #12142b12}
body[class*="pmx-season--"] .pmh-projects>.pmh-project:only-of-type{grid-column:1/-1}
body[class*="pmx-season--"] .pmh-projects>.pmh-project>picture,
body[class*="pmx-season--"] .pmh-projects>.pmh-project img{display:block;width:100%}
body[class*="pmx-season--"] .pmh-projects>.pmh-project img{height:auto;aspect-ratio:1.6;object-fit:contain}
body[class*="pmx-season--"] .pmh-projects>.pmh-project>span{flex:1;min-width:0;gap:10px;padding:13px 12px}
body[class*="pmx-season--"] .pmh-projects:has(:is(.pmh-project,.pmx-hero-weather-pocket))>.pmh-project-symbol{display:none}
body[class*="pmx-season--"] .pmh-projects:not(:has(:is(.pmh-project,.pmx-hero-weather-pocket)))>.pmh-project-symbol{position:static;grid-column:1/-1;justify-self:center;margin:30px}

body[class*="pmx-season--"] .pmh-hero--campaign{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;
  min-height:0;gap:clamp(20px,4vw,62px);overflow:visible;padding:clamp(22px,4.2vw,64px);
  border-color:color-mix(in srgb,var(--pmx-hero-color) 26%,var(--line));
  background:radial-gradient(ellipse at 100% 50%,color-mix(in srgb,var(--pmx-hero-color) 11%,transparent),transparent 70%),var(--paper);
}
body[class*="pmx-season--"] .pmh-hero--campaign .pmh-copy{grid-area:1/1;width:auto;max-width:none}
body[class*="pmx-season--"] .pmh-hero--campaign .pmh-campaign-media{
  position:relative;inset:auto;grid-area:1/2;aspect-ratio:1.35;display:grid;place-items:center;
  grid-template:minmax(0,1fr)/minmax(0,1fr);min-inline-size:0;min-block-size:0;
  border-radius:clamp(13px,2vw,24px);border:1px solid color-mix(in srgb,var(--pmx-hero-color) 22%,var(--line));
  overflow:clip;background:color-mix(in srgb,var(--pmx-hero-color) 12%,var(--surface));
}
body[class*="pmx-season--"] .pmh-campaign-media>picture{display:block;width:100%;height:100%}
body[class*="pmx-season--"] .pmh-campaign-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;transform:none}
body[class*="pmx-season--"] .pmh-hero--campaign .pmh-campaign-media{
  background-color:var(--pmx-hero-plate,color-mix(in srgb,var(--pmx-hero-color) 12%,var(--surface)));
  background-image:var(--pmx-hero-art);background-size:100% 100%;background-position:center;background-repeat:no-repeat;
}
body[class*="pmx-season--"] .pmh-campaign-media:not(.pmh-campaign-media--brand){padding:clamp(8px,1.65vw,23px)}
body[class*="pmx-season--"] .pmh-campaign-media--brand>img{position:relative;z-index:2;width:31%;height:auto}
body[class*="pmx-season--"] :is(.pmh-campaign-shade,.pmh-campaign-signature){display:none}

@media(max-width:760px){
  body[class*="pmx-season--"] .home-page .hero{display:flex;flex-direction:column;align-items:stretch;padding-block:28px;gap:22px}
  body[class*="pmx-season--"] .home-page .hero-copy{display:block}
  body[class*="pmx-season--"] .home-page .hero h1{font-size:clamp(40px,10.5vw,62px);line-height:1.08}
  body[class*="pmx-season--"] .home-page .pm-brand-scene--hero{margin-inline:auto!important}
  body[class*="pmx-season--"] .pmh-hero--campaign{grid-template-columns:minmax(0,1fr)}
  body[class*="pmx-season--"] .pmh-hero--campaign .pmh-campaign-media{grid-area:2/1}
}
@media(max-width:460px){
  body[class*="pmx-season--"] .home-page .hero-links{grid-template-columns:minmax(0,1fr)}
  body[class*="pmx-season--"] .pmh-hero--portfolio .pmh-projects{grid-template-columns:minmax(0,1fr)}
  body[class*="pmx-season--"] .pmh-manifest-foot{flex-wrap:wrap;gap:8px 15px}
}
@media(prefers-reduced-motion:reduce){
  body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-symbol-scroll{translate:-50% -50%!important}
  body[class*="pmx-season--"] .pmh-projects>.pmh-project{transition:none}
}
@media print,(forced-colors:active){
  body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-stage,
  body[class*="pmx-season--"] .pmh-hero--campaign .pmh-campaign-media{background-image:none}
  body[class*="pmx-season--"] .pmx-hero-weather-pocket{display:none}
  body[class*="pmx-season--"] .home-page .pm-brand-scene--hero .pm-brand-symbol-scroll{translate:-50% -50%!important}
}

.pmx-is-preview #pm-desk,.pmx-is-preview .pm-consent{display:none!important}.pmx-is-preview form[aria-disabled=true]{pointer-events:none}.pmx-is-preview form[aria-disabled=true] button{opacity:.5}

/* The floating contact shortcut must not cover the open menu on a small screen. */
body[class*="pmx-season--"]:has(.pm-header :is(.pm-mobile-menu,.pm-service-menu,.pm-theme-picker)[open]) #pm-desk{visibility:hidden;pointer-events:none}

body:has(.pmp-case-design) #pm-desk{display:none}
