/* Frosted surfaces sit over existing layers. Text and artwork retain their own contrast. */
:root {
  --pmg-panel: #faf9ff;
  --pmg-panel-tint: rgb(249 248 255 / .91);
  --pmg-header-tint: rgb(244 243 250 / .86);
  --pmg-edge: #7767ac40;
  --pmg-rim: #fffdfde6;
  --pmg-shadow: 0 30px 70px -27px #29254c68, 0 10px 25px -19px #20173a50;
  --pmg-pane-front: linear-gradient(137deg,#fff9 4%,#f9f6ff32 43%,#bcaafa2b 78%,#f7f3ff8c);
  --pmg-pane-back: linear-gradient(145deg,#fff5,#b6a2f328 68%,#fff8);
  --pmg-pane-edge: #9e87d367;
  --pmg-pane-shadow: 0 30px 49px -26px #5442a745, 0 3px 7px #6c59aa12;
}

:root[data-theme="dark"] {
  --pmg-panel: #1b1d31;
  --pmg-panel-tint: rgb(22 24 43 / .92);
  --pmg-header-tint: rgb(13 16 32 / .87);
  --pmg-edge: #bda9fa38;
  --pmg-rim: #e4d9ff3b;
  --pmg-shadow: 0 31px 74px -24px #000b, 0 8px 23px -12px #08051493;
  --pmg-pane-front: linear-gradient(139deg,#ded5ff24 0%,#9275e90e 41%,#5c4bac28 75%,#c1a9ff3d);
  --pmg-pane-back: linear-gradient(151deg,#9684db2b,#3933591f 64%,#bba8f431);
  --pmg-pane-edge: #c3adff48;
  --pmg-pane-shadow: 0 29px 63px -23px #05040bbd, 0 5px 28px -17px #8b5ef180;
}

.site-header.pm-header {
  --pmg-header-base: var(--paper);
  --pmg-header-layer: var(--pmg-header-tint);
  background: var(--pmg-header-base);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body[class*="pmx-season--"] .site-header.pm-header {
  --pmg-header-base: var(--pmxs-hero);
  --pmg-header-layer: color-mix(in srgb,var(--pmxs-hero) 93%,transparent);
  background: var(--pmg-header-base);
}

.pm-header :is(.pm-desktop-nav .pm-mega-panel,.pm-mobile-menu>nav,.pm-theme-picker>div) {
  background: var(--pmg-panel);
  border-color: var(--pmg-edge);
  box-shadow: inset 0 1px 0 var(--pmg-rim), var(--pmg-shadow);
}

.pm-header .pm-mobile-menu .pm-mega-panel { background: transparent; }
.catalog-section-header { background: var(--pmg-panel); }

body:has(.pm-header :is(.pm-mobile-menu,.pm-service-menu)[open]) #pm-desk {
  visibility: hidden;
  pointer-events: none;
}

/* Place the header's blur on its own layer so open menus can sample the page. */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body .site-header.pm-header.is-scrolled,
  body[class*="pmx-season--"] .site-header.pm-header.is-scrolled { background: transparent; }

  .site-header.pm-header.is-scrolled::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: var(--pmg-header-layer);
    box-shadow: inset 0 -1px 0 var(--pmg-rim);
    -webkit-backdrop-filter: blur(16px) saturate(118%);
    backdrop-filter: blur(16px) saturate(118%);
  }

  .pm-header :is(.pm-desktop-nav .pm-mega-panel,.pm-mobile-menu>nav,.pm-theme-picker>div) {
    background: linear-gradient(143deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 47%),var(--pmg-panel-tint);
    -webkit-backdrop-filter: blur(18px) saturate(120%);
    backdrop-filter: blur(18px) saturate(120%);
  }

  .catalog-section-header {
    background: var(--pmg-header-tint);
    -webkit-backdrop-filter: blur(13px) saturate(115%);
    backdrop-filter: blur(13px) saturate(115%);
  }
}

/* Two etched plates support the floating mark without touching the copy column. */
.home-page .pm-brand-scene--hero .pm-brand-stage::before,
.home-page .pm-brand-scene--hero .pm-brand-stage::after {
  content: '';
  position: absolute;
  border: 1px solid var(--pmg-pane-edge);
  border-radius: clamp(15px,2vw,29px);
  pointer-events: none;
}

.home-page .pm-brand-scene--hero .pm-brand-stage::before {
  inset: 22% 13% 19% 26%;
  z-index: 0;
  transform: rotate(13deg) skewY(-4deg);
  background: var(--pmg-pane-back);
  box-shadow: inset 1px 1px 0 var(--pmg-rim),0 13px 34px -24px #53438d55;
}

.home-page .pm-brand-scene--hero .pm-brand-stage::after {
  inset: 23% 25% 19% 14%;
  z-index: 0;
  transform: rotate(-13deg) skewY(3deg);
  background: var(--pmg-pane-front);
  box-shadow: inset 1px 1px 0 var(--pmg-rim),inset -1px -1px 0 #fff2,var(--pmg-pane-shadow);
  -webkit-backdrop-filter: blur(5px) saturate(117%);
  backdrop-filter: blur(5px) saturate(117%);
}

.home-page .pmh-hero--manifest .pmh-manifest-foot {
  background: var(--pmg-pane-front);
  border-color: var(--pmg-edge);
  border-bottom: 1px solid var(--pmg-edge);
  border-radius: 12px;
  padding: 15px clamp(8px,2vw,24px);
  box-shadow: inset 0 1px 0 var(--pmg-rim);
}

:is(.site-contact .contact-layout>div,.contact-band .contact-layout>.contact-details) {
  --pmg-contact-surface: linear-gradient(144deg,#f6efff24,#cec4fe0e 66%,#a799f019);
  min-width: 0;
  padding: clamp(19px,3vw,39px);
  border: 1px solid #e6dbff38;
  border-radius: clamp(16px,2vw,26px);
  background: var(--pmg-contact-surface);
  box-shadow: inset 0 1px 0 #fcf4ff35,0 26px 48px -31px #050317a0;
}

.contact-band .contact-layout :is(.contact-email,.contact-phone,.contact-email a,.contact-phone a) { color: #f0e9ff; overflow-wrap: anywhere; white-space: normal; }

.pmx-season-contact-link,
.pmx-season-hero .pmx-snow-toggle:not([hidden]) {
  background: linear-gradient(150deg,color-mix(in srgb,currentColor 12%,transparent),color-mix(in srgb,currentColor 5%,transparent));
  border-color: color-mix(in srgb,currentColor 43%,transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb,currentColor 16%,transparent);
}

@media (max-width: 740px) {
  .site-header.pm-header .pm-mobile-menu>nav { -webkit-backdrop-filter: blur(12px) saturate(115%); backdrop-filter: blur(12px) saturate(115%); }
  .home-page .pm-brand-scene--hero .pm-brand-stage::after { -webkit-backdrop-filter: none; backdrop-filter: none; }
  :is(.site-contact .contact-layout>div,.contact-band .contact-layout>.contact-details) { padding: 19px 17px; }
}

@media (prefers-reduced-transparency: reduce),(forced-colors: active) {
  body .site-header.pm-header.is-scrolled,
  body[class*="pmx-season--"] .site-header.pm-header.is-scrolled { background: var(--pmg-header-base); }
  .site-header.pm-header.is-scrolled::before,
  .home-page .pm-brand-scene--hero .pm-brand-stage::before,
  .home-page .pm-brand-scene--hero .pm-brand-stage::after { display: none; }
  .site-header.pm-header :is(.pm-desktop-nav .pm-mega-panel,.pm-mobile-menu>nav,.pm-theme-picker>div),.catalog-section-header {
    background: var(--pmg-panel);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .home-page .pmh-hero--manifest .pmh-manifest-foot { background: var(--pmg-panel); }
  :is(.site-contact .contact-layout>div,.contact-band .contact-layout>.contact-details) { background: #272044; }
}

@media (forced-colors: active) {
  .site-header.pm-header :is(.pm-desktop-nav .pm-mega-panel,.pm-mobile-menu>nav,.pm-theme-picker>div),.catalog-section-header { background: Canvas; border-color: CanvasText; }
}

@media print {
  .home-page .pm-brand-scene--hero .pm-brand-stage::before,
  .home-page .pm-brand-scene--hero .pm-brand-stage::after { display: none; }
}
