/* Physio-WG website. Shared typography and colors come from Design & Schriften.
   Marketing blocks stay editable; editor.css is generated from these sources. */
body.pwg-site {
  margin: 0;
  background: var(--pwg-bg, #fff);
  color: var(--pwg-ink, #202323);
  font: 400 var(--pwg-body-size, 17px) / 1.65 var(--pwg-font, system-ui);
  --theme-font-family: var(--pwg-font);
  --theme-font-size: var(--pwg-body-size);
  --theme-text-color: var(--pwg-ink);
  --theme-headings-color: var(--pwg-ink);
  --theme-content-spacing: 20px;
  --theme-link-initial-color: var(--pwg-accent);
  --theme-link-hover-color: var(--pwg-accent);
}
.pwg-site .pwg-main {
  max-width: var(--pwg-width);
  width: calc(100% - 80px);
  margin: 0 auto;
  padding: 44px 0 88px;
  min-height: 60vh;
}
.pwg-site .pwg-main :is(h1, h2, h3, h4) {
  font-family: var(--pwg-heading-font, var(--pwg-font));
  font-weight: var(--pwg-heading-weight, 700);
  letter-spacing: var(--pwg-tracking);
  color: var(--pwg-ink);
  text-wrap: balance;
}
.pwg-site .pwg-main h1 {
  font-size: clamp(38px, 5vw, var(--pwg-heading-size, 64px));
  line-height: 1.1;
  margin: 0 0 24px;
}
.pwg-site .pwg-main h2 {
  line-height: 1.18;
}
.pwg-site .pwg-main p {
  font-family: var(--pwg-font);
  color: var(--pwg-muted);
}
.pwg-site .pwg-main .pwg-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pwg-accent);
  margin-bottom: 20px;
}

/* Compact navigation, with a usable menu on small screens. */
.pwg-header {
  background: var(--pwg-bg);
  border-bottom: 1px solid var(--pwg-line);
}
.pwg-header-inner {
  max-width: calc(var(--pwg-width) + 80px);
  padding: 16px 40px;
  min-height: 86px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 32px;
}
.pwg-logo {
  display: block;
  flex-shrink: 0;
  width: 162px;
}
.pwg-logo img {
  display: block;
  width: 100%;
  height: auto;
}
.pwg-navigation {
  margin-left: auto;
}
.pwg-menu {
  display: flex;
  align-items: center;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pwg-menu a {
  position: relative;
  color: var(--pwg-muted);
  font-size: 13px;
  text-decoration: none;
  font-weight: 600;
  padding-block: 12px;
  transition: color var(--pwg-duration);
}
.pwg-menu a:hover,
.pwg-menu .current-menu-item > a {
  color: var(--pwg-ink);
}
.pwg-menu .current-menu-item > a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--pwg-accent);
}
.pwg-login {
  display: flex;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--pwg-line);
  border-radius: 8px;
  padding: 11px 16px;
  color: var(--pwg-ink);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--pwg-duration);
}
.pwg-login:hover {
  background: var(--pwg-neutral);
  color: var(--pwg-ink);
}
.pwg-menu-toggle {
  display: none;
  border: 0;
  background: none;
  color: var(--pwg-ink);
  padding: 10px;
  min-width: 44px;
  min-height: 44px;
}
.pwg-skip {
  position: fixed;
  top: 10px;
  left: 20px;
  background: #fff;
  padding: 15px;
  z-index: 10000;
}
.pwg-skip:not(:focus) {
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
}

/* The home hero meets the header; spacing belongs inside its illuminated area. */
.pwg-site .pwg-main:has(> .pwg-home-hero) {
  padding-top: 0;
}
/* Confident type first; one generous photographic surface underneath. */
.pwg-site .pwg-home-hero {
  display: grid;
  gap: 42px;
  padding: 64px 0 0;
}
.pwg-hero-copy {
  max-width: 920px;
  margin: auto;
  text-align: center;
}
.pwg-site .pwg-home-hero h1 {
  max-width: 880px;
  margin-inline: auto;
}
.pwg-home-hero h1 em {
  font-style: normal;
  color: var(--pwg-accent);
}
.pwg-site .pwg-hero-copy > p:not(.pwg-kicker) {
  max-width: 570px;
  font-size: 18px;
  line-height: 1.65;
  margin: 0 auto 26px;
}
.pwg-hero-copy .wp-block-buttons {
  justify-content: center;
}
.pwg-hero-media {
  position: relative;
  min-width: 0;
}
.pwg-hero-media figure {
  margin: 0;
}
.pwg-hero-media img {
  display: block;
  width: 100%;
  aspect-ratio: 2.65;
  object-fit: cover;
  object-position: center 56%;
  border-radius: var(--pwg-radius);
}
.pwg-site .pwg-hero-media .pwg-image-note {
  margin: 10px 0 0;
  text-align: right;
  font-size: 11px;
  color: var(--pwg-muted);
}
.pwg-image-note:empty {
  display: none;
}
.pwg-site .wp-block-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 26px;
}
.pwg-site .wp-block-button__link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  background: var(--pwg-accent);
  color: var(--pwg-on-accent);
  font: 600 14px/1.4 var(--pwg-font);
  border: 1px solid var(--pwg-accent);
  padding: 15px 23px;
  border-radius: calc(var(--pwg-radius) * 0.6);
  min-height: 52px;
  text-decoration: none;
  box-shadow: none;
  transition:
    transform var(--pwg-duration) var(--pwg-ease),
    background var(--pwg-duration),
    box-shadow var(--pwg-duration);
}
.pwg-site .wp-block-button__link:hover {
  background: var(--pwg-accent-hover);
  color: var(--pwg-on-accent);
  transform: translateY(-2px);
  box-shadow: var(--pwg-shadow);
}
body.pwg-site
  .pwg-main
  .wp-block-button.is-style-outline
  > .wp-block-button__link {
  background: var(--pwg-surface);
  color: var(--pwg-ink);
  border: 1px solid var(--pwg-line);
}
body.pwg-site
  .pwg-main
  .wp-block-button.is-style-outline
  > .wp-block-button__link:hover {
  background: var(--pwg-neutral);
}

/* Editorial sections: whitespace carries hierarchy instead of nested boxes. */
.pwg-site .pwg-search-strip {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
  align-items: center;
  padding: 28px 0 34px;
  border-bottom: 1px solid var(--pwg-line);
  margin: 0 0 84px;
}
.pwg-search-strip h2 {
  font-size: 21px;
  margin: 0 0 6px;
}
.pwg-search-strip p {
  font-size: 14px;
  margin: 0;
}
.pwg-strip-links {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}
.pwg-strip-links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 16px;
  background: var(--pwg-neutral);
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--pwg-ink);
  text-decoration: none;
  transition:
    border-color var(--pwg-duration),
    background var(--pwg-duration);
}
.pwg-strip-links a:hover {
  background: var(--pwg-surface);
  border-color: var(--pwg-line);
}
.pwg-site .pwg-intro {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
  padding: 0 0 64px;
  align-items: start;
}
.pwg-intro h2 {
  max-width: 430px;
  font-size: clamp(30px, 3.2vw, 42px);
}
.pwg-intro p {
  max-width: 620px;
}
.pwg-site .pwg-intro-copy > p:first-child {
  font-size: 21px;
  line-height: 1.55;
  color: var(--pwg-ink);
}
.pwg-site .pwg-connect {
  font-size: 15px;
  font-weight: 700;
  color: var(--pwg-accent);
  margin-bottom: 0;
}
.pwg-site .pwg-pathways {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
  margin: 0 0 90px;
}
.pwg-site .pwg-pathways > .pwg-pathway {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 42px;
  border: 1px solid var(--pwg-line);
  border-radius: var(--pwg-radius);
  background: color-mix(in srgb, var(--pwg-sun) 19%, var(--pwg-surface));
  transition:
    border-color var(--pwg-duration),
    transform var(--pwg-duration);
}
.pwg-site .pwg-pathway:last-child {
  background: var(--pwg-accent);
  border-color: var(--pwg-accent);
}
.pwg-site .pwg-pathway:last-child :is(h2, p) {
  color: var(--pwg-on-accent);
}
.pwg-pathway h2 {
  font-size: 32px;
  max-width: 410px;
  margin: 0 0 18px;
}
.pwg-pathway p {
  max-width: 420px;
  font-size: 15px;
}
.pwg-site .pwg-pathway .pwg-path-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--pwg-accent);
  margin-bottom: 34px;
}
.pwg-pathway .wp-block-buttons {
  margin-top: auto;
  padding-top: 22px;
}
.pwg-site .pwg-pathway:last-child .wp-block-button__link {
  background: var(--pwg-surface);
  border-color: var(--pwg-surface);
  color: var(--pwg-ink);
}
.pwg-site .pwg-how {
  padding: 0 0 90px;
}
.pwg-section-heading {
  max-width: 660px;
  margin-bottom: 36px;
}
.pwg-section-heading h2 {
  font-size: clamp(30px, 3.2vw, 42px);
  margin-bottom: 14px;
}
.pwg-how .pwg-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
}
.pwg-step {
  border-top: 1px solid var(--pwg-line);
  padding-top: 24px;
}
.pwg-site .pwg-main .pwg-step-number {
  font-size: 13px;
  font-weight: 700;
  color: var(--pwg-accent);
  margin-bottom: 26px;
}
.pwg-step h3 {
  font-size: 21px;
  margin-bottom: 12px;
}
.pwg-step p {
  font-size: 15px;
}
.pwg-site .pwg-map-section {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
  gap: 64px;
  padding: 62px 0;
  border-block: 1px solid var(--pwg-line);
}
.pwg-map-section h2 {
  font-size: clamp(30px, 3.2vw, 42px);
}
.pwg-map-section .pwg-region-links {
  grid-template-columns: repeat(2, 1fr);
  margin-top: 28px;
}
.pwg-map-section .pwg-region-links a {
  padding: 18px;
  background: var(--pwg-surface);
  border-radius: 10px;
}
.pwg-map-section .pwg-region-links strong {
  font-size: 26px;
}
.pwg-site .pwg-map-hint {
  font-size: 13px;
  margin: 24px 0 0;
  line-height: 1.6;
}
.pwg-site .pwg-main > .pwg-app + .wp-block-buttons {
  margin-top: 32px;
}
.pwg-site .pwg-final-cta {
  display: flex;
  gap: 36px;
  align-items: center;
  justify-content: space-between;
  margin: 64px 0 0;
  padding: 40px;
  background: color-mix(in srgb, var(--pwg-sun) 23%, var(--pwg-surface));
  border-radius: var(--pwg-radius);
}
/* Audience pages offer an entry at the start and an invitation after the steps. */
.pwg-site .pwg-audience-cta {
  margin-top: 32px;
  padding: 48px;
  background:
    radial-gradient(
      ellipse at 75% 10%,
      color-mix(in srgb, var(--pwg-sun) 28%, transparent),
      transparent 75%
    ),
    var(--pwg-soft);
}
.pwg-site .pwg-how.pwg-audience-steps {
  padding-bottom: 0;
}
.pwg-site .pwg-audience-hero .wp-block-buttons {
  margin-top: 32px;
}
.pwg-cta-action .wp-block-button__link::after {
  content: "→" / "";
  display: inline-block;
  transition: transform var(--pwg-duration) var(--pwg-ease);
}
@media (prefers-reduced-motion: no-preference) {
  .pwg-motion-expressive
    .pwg-cta-action
    .wp-block-button__link:is(:hover, :focus-visible)::after {
    transform: translateX(4px);
  }
}
.pwg-final-cta h2 {
  font-size: 30px;
  margin: 0 0 10px;
}
.pwg-final-cta p {
  margin: 0;
  font-size: 15px;
}
.pwg-final-cta .wp-block-buttons {
  margin: 0;
  flex-shrink: 0;
}
.pwg-site .pwg-audience-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: 64px;
  margin-bottom: 60px;
  max-width: none;
  border-radius: var(--pwg-radius-lg);
  background: color-mix(in srgb, var(--pwg-sun) 19%, var(--pwg-surface));
}
.pwg-audience-hero h1 {
  max-width: 810px;
}
.pwg-audience-hero p:not(.pwg-kicker) {
  max-width: 660px;
  font-size: 18px;
}
.pwg-site .pwg-audience-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 70px;
}
.pwg-benefit-panel {
  padding: 36px;
  background: color-mix(in srgb, var(--pwg-soft) 75%, var(--pwg-surface));
  border: 1px solid var(--pwg-line);
  border-radius: var(--pwg-radius);
}
.pwg-benefit-panel h2 {
  font-size: 27px;
}
.pwg-benefit-panel ul {
  padding-left: 20px;
  margin: 0;
  display: grid;
  gap: 18px;
  font-size: 15px;
}
.pwg-benefit-panel li::marker {
  color: var(--pwg-accent);
}
.pwg-audience-copy {
  padding-top: 24px;
}
.pwg-audience-copy h2 {
  font-size: 32px;
}
.pwg-site .pwg-prose {
  max-width: 780px;
  margin: 30px auto;
}
.pwg-prose h1 {
  margin-bottom: 35px;
}
.pwg-prose h2 {
  font-size: 28px;
  margin-top: 32px;
}

.pwg-footer {
  border-top: 1px solid var(--pwg-line);
  background: var(--pwg-neutral);
  padding: 52px 40px 24px;
}
.pwg-footer-inner {
  max-width: var(--pwg-width);
  margin: auto;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: 50px;
}
.pwg-footer-brand .pwg-logo {
  width: 145px;
}
.pwg-footer p {
  font-size: 13px;
  color: var(--pwg-muted);
  line-height: 1.7;
  margin: 20px 0 0;
}
.pwg-footer strong {
  font-size: 13px;
  display: block;
  margin: 10px 0 20px;
}
.pwg-footer-inner > div > a:not(.pwg-logo) {
  display: block;
  font-size: 13px;
  color: var(--pwg-muted);
  text-decoration: none;
  margin-bottom: 12px;
}
.pwg-footer a:hover {
  color: var(--pwg-accent);
}
.pwg-footer-bottom {
  max-width: var(--pwg-width);
  margin: 38px auto 0;
  border-top: 1px solid var(--pwg-line);
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
  color: var(--pwg-muted);
}

/* Solar accents retain the clear type hierarchy and derive from operator colors. */
.pwg-audience-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  aspect-ratio: 1;
  right: -160px;
  bottom: -245px;
  border-radius: 50%;
  background: var(--pwg-sun);
  box-shadow:
    0 0 0 42px color-mix(in srgb, var(--pwg-sun) 24%, transparent),
    0 0 0 84px color-mix(in srgb, var(--pwg-sun) 12%, transparent);
  pointer-events: none;
}
.pwg-home-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
}
.pwg-home-hero::before {
  content: none;
  position: absolute;
  inset: -64px 0 35%;
  z-index: -1;
  background: radial-gradient(
    ellipse at 50% 0%,
    color-mix(in srgb, var(--pwg-sun) 20%, transparent),
    transparent 72%
  );
  pointer-events: none;
}
.pwg-hero-media figure {
  overflow: clip;
  border-radius: var(--pwg-radius);
}
.pwg-site .pwg-pathway:last-child .pwg-path-label {
  color: var(--pwg-on-accent);
}
.pwg-step {
  border-top-color: color-mix(in srgb, var(--pwg-sun) 65%, var(--pwg-line));
}
.pwg-site .pwg-main .pwg-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--pwg-sun) 24%, var(--pwg-surface));
}
.pwg-site .pwg-audience-hero.pwg-map-heading {
  padding: 20px 0 36px;
  margin: 0;
  background: transparent;
  border-radius: 0;
}
.pwg-map-heading::after {
  display: none;
}
.pwg-site .pwg-map-heading h1 {
  max-width: none;
}
.pwg-site .pwg-map-browser {
  display: grid;
  grid-template-columns: minmax(250px, 0.38fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
.pwg-map-sidebar {
  padding-top: 12px;
  min-width: 0;
}
.pwg-site .pwg-map-sidebar h2 {
  font-size: 19px;
  margin: 0 0 20px;
}
.pwg-map-browser .pwg-region-links {
  grid-template-columns: 1fr;
  gap: 10px;
}
.pwg-map-browser .pwg-region-links a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 22px 46px 22px 22px;
  border-radius: calc(var(--pwg-radius) * 0.7);
}
.pwg-map-browser .pwg-region-links a strong {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: 28px;
}
.pwg-map-browser .pwg-region-links a small {
  font-size: 12px;
  color: var(--pwg-muted);
}
.pwg-map-browser .pwg-region-links a svg {
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
}
.pwg-map-browser .pwg-map-wrap {
  max-width: none;
}
.pwg-map-browser .pwg-map {
  height: 700px;
}
.pwg-map-browser .pwg-atlas {
  max-width: none;
}
.pwg-map-browser .pwg-region-links--states {
  gap: 0;
  border-top: 1px solid var(--pwg-line);
}
.pwg-map-browser .pwg-region-links--states a {
  border: 0;
  border-bottom: 1px solid var(--pwg-line);
  border-radius: 0;
  padding: 12px 46px 12px 12px;
}
.pwg-map-browser .pwg-region-links--states a span {
  font-size: 13px;
}
.pwg-map-browser .pwg-region-links--states a strong {
  font-size: 16px;
}
.pwg-map-browser .pwg-region-links--states a small {
  display: none;
}
.pwg-map-browser .pwg-map-wrap {
  position: sticky;
  top: 24px;
}
.pwg-map-section .pwg-region-links--states {
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}
.pwg-map-section .pwg-region-links--states a {
  padding: 10px 38px 10px 12px;
  border: 0;
  border-bottom: 1px solid var(--pwg-line);
  border-radius: 0;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pwg-map-section .pwg-region-links--states a span {
  font-size: 12px;
}
.pwg-map-section .pwg-region-links--states a strong {
  font-size: 16px;
}
.pwg-map-section .pwg-region-links--states a small {
  display: none;
}
.pwg-map-section .pwg-region-links--states a svg {
  right: 12px;
  top: 12px;
  width: 14px;
}
@keyframes pwg-hero-arrive {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pwg-glow-drift {
  from {
    opacity: 0.75;
    transform: translateY(-24px);
  }
  to {
    opacity: 1;
    transform: translateY(50px);
  }
}
@keyframes pwg-solar-drift {
  from {
    transform: translateY(70px) rotate(-8deg);
  }
  to {
    transform: translateY(-50px) rotate(8deg);
  }
}
@keyframes pwg-photo-drift {
  from {
    transform: scale(1.12) translateY(-2%);
  }
  to {
    transform: scale(1.03) translateY(1%);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .pwg-motion-expressive :is(.pwg-hero-copy, .pwg-audience-hero) > * {
    animation: pwg-hero-arrive 0.95s var(--pwg-ease) backwards;
  }
  .pwg-motion-expressive
    :is(.pwg-hero-copy, .pwg-audience-hero)
    > :nth-child(2) {
    animation-delay: 0.1s;
  }
  .pwg-motion-expressive
    :is(.pwg-hero-copy, .pwg-audience-hero)
    > :nth-child(3) {
    animation-delay: 0.2s;
  }
  .pwg-motion-expressive
    :is(.pwg-hero-copy, .pwg-audience-hero)
    > :nth-child(4) {
    animation-delay: 0.3s;
  }
  @supports (animation-timeline: view()) {
    .pwg-motion-expressive .pwg-home-hero::before {
      animation: pwg-glow-drift linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .pwg-motion-expressive .pwg-hero-media img {
      animation: pwg-photo-drift linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    .pwg-motion-expressive .pwg-audience-hero::after {
      animation: pwg-solar-drift linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
  }
}
@media (max-width: 780px) {
  .pwg-audience-hero::after {
    width: 260px;
    right: -130px;
    bottom: -200px;
  }
  .pwg-site .pwg-audience-hero.pwg-map-heading {
    padding: 12px 0 28px;
  }
  .pwg-site .pwg-map-browser {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .pwg-map-browser > * {
    width: 100%;
  }
  .pwg-map-browser > .pwg-app {
    order: -1;
  }
  .pwg-map-browser .pwg-map {
    height: auto;
  }
  .pwg-map-browser .pwg-region-links {
    grid-template-columns: 1fr 1fr;
  }
  .pwg-map-browser .pwg-region-links a {
    padding: 14px 26px 14px 12px;
    gap: 0 6px;
  }
  .pwg-map-browser .pwg-region-links a svg {
    width: 12px;
    right: 8px;
  }
  .pwg-map-browser .pwg-region-links--states {
    column-gap: 12px;
  }
  .pwg-map-browser .pwg-region-links--states a span {
    font-size: 12px;
  }
  .pwg-map-browser .pwg-region-links--states a strong {
    font-size: 14px;
  }
}

/* Motion enhances actions; content never depends on an animation to be visible. */
@keyframes pwg-arrive {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .pwg-motion-subtle .pwg-hero-copy {
    animation: pwg-arrive 0.55s var(--pwg-ease) both;
  }
  .pwg-motion-subtle .pwg-revealed {
    animation: pwg-arrive 0.5s var(--pwg-ease) both;
  }
  .pwg-motion-subtle .pwg-navigation.is-open {
    animation: pwg-arrive 0.2s ease both;
  }
}
/* Anchor navigation also respects the operator and system motion preferences. */
html:has(> body.pwg-motion-off) {
  scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  html:has(> body.pwg-site) {
    scroll-behavior: auto !important;
  }
}
.pwg-motion-off * {
  animation: none !important;
  transition: none !important;
}
@media (max-width: 1050px) {
  .pwg-header-inner {
    gap: 20px;
    padding-inline: 30px;
  }
  .pwg-menu {
    gap: 20px;
  }
  .pwg-site .pwg-main {
    width: calc(100% - 60px);
  }
  .pwg-site .pwg-intro,
  .pwg-site .pwg-map-section,
  .pwg-site .pwg-audience-content {
    gap: 36px;
  }
  .pwg-site .pwg-pathways > .pwg-pathway {
    padding: 32px;
  }
  .pwg-site .pwg-final-cta {
    flex-wrap: wrap;
  }
}
@media (max-width: 780px) {
  .pwg-header-inner {
    padding: 12px 20px;
    min-height: 76px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .pwg-header-inner .pwg-logo {
    width: 135px;
    margin-right: auto;
  }
  .pwg-login {
    padding: 10px;
    font-size: 12px;
  }
  .pwg-login svg {
    width: 18px;
  }
  .pwg-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
  }
  .pwg-navigation {
    display: none;
    order: 4;
    width: 100%;
    margin: 0;
  }
  .pwg-navigation.is-open {
    display: block;
  }
  .pwg-menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 0;
  }
  .pwg-menu li a {
    display: block;
    padding: 12px;
  }
  .pwg-menu .current-menu-item > a::after {
    display: none;
  }
  .pwg-site .pwg-main {
    width: calc(100% - 40px);
    padding: 24px 0 48px;
  }
  .pwg-site .pwg-main h1 {
    font-size: clamp(34px, 8.8vw, 48px);
    line-height: 1.14;
  }
  .pwg-site .pwg-home-hero {
    gap: 28px;
    padding: 32px 0 0;
  }
  .pwg-hero-copy {
    text-align: left;
    margin: 0;
  }
  .pwg-hero-copy .wp-block-buttons {
    justify-content: flex-start;
  }
  .pwg-site .pwg-hero-copy > p:not(.pwg-kicker) {
    font-size: 16px;
    margin-inline: 0;
  }
  .pwg-hero-media img {
    aspect-ratio: 1.45;
  }
  .pwg-site .pwg-hero-media .pwg-image-note {
    font-size: 10px;
  }
  .pwg-site .wp-block-buttons {
    gap: 10px;
  }
  .pwg-site .wp-block-button__link {
    font-size: 13px;
    padding: 13px 16px;
    min-height: 48px;
  }
  .pwg-site .pwg-search-strip {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 0 28px;
    margin-bottom: 44px;
  }
  .pwg-strip-links {
    justify-content: flex-start;
    gap: 8px;
  }
  .pwg-strip-links a {
    padding: 12px;
    font-size: 12px;
  }
  .pwg-site .pwg-intro {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-bottom: 36px;
  }
  .pwg-intro h2 {
    font-size: 30px;
  }
  .pwg-site .pwg-intro-copy > p:first-child {
    font-size: 18px;
  }
  .pwg-site .pwg-pathways {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 48px;
  }
  .pwg-site .pwg-pathways > .pwg-pathway {
    padding: 28px;
    height: auto;
  }
  .pwg-pathway h2 {
    font-size: 28px;
  }
  .pwg-site .pwg-pathway .pwg-path-label {
    margin-bottom: 24px;
  }
  .pwg-site .pwg-how {
    padding-bottom: 40px;
  }
  .pwg-how .pwg-steps {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .pwg-step {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 16px;
  }
  .pwg-step .pwg-step-number {
    grid-row: 1/3;
    padding-top: 3px;
  }
  .pwg-step h3 {
    font-size: 20px;
  }
  .pwg-step > p:not(.pwg-step-number) {
    grid-column: 2;
    margin-bottom: 0;
  }
  .pwg-site .pwg-map-section {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 36px 0;
  }
  .pwg-site .pwg-final-cta {
    margin-top: 40px;
    padding: 28px;
    gap: 24px;
  }
  .pwg-final-cta h2 {
    font-size: 27px;
  }
  .pwg-site .pwg-audience-hero {
    padding: 32px 24px;
    margin-bottom: 32px;
  }
  .pwg-audience-hero p:not(.pwg-kicker) {
    font-size: 16px;
  }
  .pwg-site .pwg-audience-content {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 44px;
  }
  .pwg-site .pwg-audience-cta {
    padding: 28px;
    margin-top: 32px;
  }
  .pwg-site .pwg-audience-hero .wp-block-buttons {
    gap: 12px;
  }
  .pwg-site .pwg-audience-hero .wp-block-button {
    width: 100%;
  }
  .pwg-site .pwg-audience-hero .wp-block-button__link {
    width: 100%;
  }
  .pwg-benefit-panel {
    padding: 26px;
  }
  .pwg-audience-copy {
    padding: 0;
  }
  .pwg-audience-copy h2 {
    font-size: 28px;
  }
  .pwg-footer {
    padding: 35px 20px 22px;
  }
  .pwg-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
  .pwg-footer-brand {
    grid-column: 1/-1;
  }
  .pwg-footer-bottom {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 11px;
  }
}

/* A warm, continuous page atmosphere; all colors follow Design & Schriften. */
.pwg-site .pwg-main:has(> :is(.pwg-home-hero, .pwg-audience-hero, .pwg-hero-variant)) {
  position:relative;
  isolation:isolate;
}
.pwg-site .pwg-main:has(> :is(.pwg-home-hero, .pwg-audience-hero, .pwg-hero-variant))::before {
  content:"";
  position:absolute;
  inset:0 calc((100vw - 100%) / -2);
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse min(760px, 85vw) 560px at 50% 0%, color-mix(in srgb, var(--pwg-sun) 22%, transparent), transparent 78%),
    radial-gradient(ellipse 85% 34% at -8% 42%, color-mix(in srgb, var(--pwg-sun) 8%, transparent), transparent 82%),
    radial-gradient(ellipse 85% 34% at 108% 78%, color-mix(in srgb, var(--pwg-sun) 9%, transparent), transparent 82%),
    linear-gradient(180deg, transparent 8%, color-mix(in srgb, var(--pwg-sun) 2%, transparent) 38%, color-mix(in srgb, var(--pwg-sun) 2%, transparent) 85%, transparent);
  background-repeat:no-repeat;
}
.pwg-site .pwg-login {
  background:var(--pwg-accent);
  border-color:var(--pwg-accent);
  color:var(--pwg-on-accent);
}
.pwg-site .pwg-login:is(:hover,:focus-visible) {
  background:var(--pwg-accent-hover);
  color:var(--pwg-on-accent);
}
.pwg-site .pwg-pathways > .pwg-pathway--therapist {
  background:var(--pwg-accent);
  border-color:var(--pwg-accent);
}
.pwg-site .pwg-pathway--therapist :is(h2,p),
.pwg-site .pwg-pathway--therapist .pwg-path-label {
  color:var(--pwg-on-accent);
}

/* Six editorial concepts. Shared primitives; each layout has its own composition. */
.pwg-site .pwg-main:has(> .pwg-concept) { padding-top:0; }
.pwg-site .pwg-concept { position:relative; isolation:isolate; margin:0 0 64px; padding-top:54px; }
.pwg-site .pwg-concept h1 { font-size:clamp(42px,5.8vw,82px); line-height:1.04; letter-spacing:var(--pwg-tracking); margin:0 0 26px; max-width:none; }
.pwg-site .pwg-concept h1 em { font-style:normal; color:var(--pwg-accent); }
.pwg-site .pwg-concept-lead { font-size:18px; line-height:1.65; max-width:590px; margin:0; }
.pwg-concept-photo { position:relative; min-width:0; }
.pwg-concept-photo figure { height:100%; margin:0; overflow:clip; border-radius:var(--pwg-radius); }
.pwg-concept-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.pwg-site .pwg-concept .pwg-image-note { font-size:10px; margin:10px 0 0; text-align:right; }
.pwg-site .pwg-concept-photo .pwg-image-note { position:absolute; right:12px; bottom:12px; padding:5px 9px; border-radius:4px; background:var(--pwg-surface); color:var(--pwg-muted); margin:0; }
.pwg-concept .wp-block-buttons { margin:0; }
.pwg-site .pwg-concept :is(a,button,summary,input):focus-visible { outline:3px solid var(--pwg-accent); outline-offset:5px; }
/* Welcome: a panoramic entrance, with a usable choice rail crossing the photograph. */
.pwg-site .pwg-concept--welcome { padding-top:48px; margin-bottom:104px; }
.pwg-concept--welcome .pwg-concept-copy { text-align:center; }
.pwg-site .pwg-concept--welcome .pwg-concept-lead { margin:0 auto; }
.pwg-welcome-photo { height:390px; margin-top:34px; }
.pwg-site .pwg-concept .pwg-welcome-photo .pwg-image-note { position:absolute; right:12px; bottom:64px; padding:5px 9px; border-radius:4px; background:var(--pwg-surface); color:var(--pwg-muted); margin:0; }
.pwg-welcome-photo img { object-position:center 47%; }
.pwg-site .pwg-welcome-rail { position:relative; display:flex; align-items:center; justify-content:space-between; gap:32px; width:calc(100% - 96px); margin:-48px auto 0; padding:30px 36px; border:1px solid var(--pwg-line); border-radius:var(--pwg-radius); background:var(--pwg-surface); box-shadow:0 18px 50px #49331912; }
.pwg-site .pwg-concept .pwg-rail-title { font-size:22px; font-weight:700; color:var(--pwg-ink); margin:0 0 3px; }
.pwg-rail-intro p { font-size:13px; margin:0; }
/* Connect: two entrances with reversed image/text rhythm and a connecting joint. */
.pwg-site .pwg-concept--connect { padding-top:48px; }
.pwg-concept--connect .pwg-concept-copy { max-width:900px; margin-bottom:36px; }
.pwg-connect-choices { display:grid; grid-template-columns:1fr 1fr; gap:26px; position:relative; }
.pwg-site .pwg-connect-choice { display:flex; flex-direction:column; gap:22px; padding:28px; border-radius:var(--pwg-radius-lg); color:var(--pwg-ink); text-decoration:none; overflow:hidden; border:1px solid color-mix(in srgb,var(--pwg-sun) 65%,var(--pwg-line)); background:color-mix(in srgb,var(--pwg-sun) 29%,var(--pwg-surface)); transition:transform .35s var(--pwg-ease),box-shadow .35s; }
.pwg-site .pwg-connect-choice--seek { background:var(--pwg-surface); border-color:var(--pwg-line); }
.pwg-choice-top { display:flex; justify-content:space-between; font-size:13px; font-weight:600; }
.pwg-choice-top > span { font-size:28px; line-height:1; color:var(--pwg-accent); }
.pwg-choice-photo { display:block; height:168px; overflow:clip; border-radius:calc(var(--pwg-radius) * .6); }
.pwg-choice-photo img { width:100%; height:100%; object-fit:cover; object-position:center 44%; transition:transform .6s var(--pwg-ease); }
.pwg-connect-choice--seek .pwg-choice-photo img { object-position:left 20%; transform:scale(1.35); transform-origin:10% 10%; }
.pwg-connect-choice strong { font-size:clamp(27px,3vw,40px); line-height:1.15; letter-spacing:var(--pwg-tracking); }
.pwg-connect-choice > span:last-child { color:var(--pwg-accent); font-size:14px; font-weight:700; margin-top:auto; display:flex; justify-content:space-between; }
.pwg-connect-knot { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:66px; height:66px; display:grid; place-items:center; border-radius:50%; color:var(--pwg-on-accent); background:var(--pwg-accent); font-size:34px; border:7px solid var(--pwg-bg); z-index:1; }
/* Space: a title that bridges a photographic spread and a narrow editorial column. */
.pwg-site .pwg-concept--space { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:0 28px; padding-top:52px; }
.pwg-concept--space > .pwg-kicker { grid-column:1/-1; }
.pwg-site .pwg-concept--space > h1 { grid-column:1/10; grid-row:2; z-index:2; font-size:clamp(42px,4.5vw,62px); margin-bottom:32px; }
.pwg-space-photo { grid-column:5/-1; grid-row:3; height:430px; }
.pwg-space-photo img { object-position:60% center; }
.pwg-site .pwg-space-note { grid-column:1/5; grid-row:3; padding:16px 10px 20px 0; align-self:end; }
.pwg-site .pwg-concept .pwg-space-statement { font-size:25px; line-height:1.35; font-weight:600; color:var(--pwg-ink); margin-top:0; }
.pwg-space-note > p:not(.pwg-space-statement) { font-size:15px; }
.pwg-space-note .wp-block-buttons { margin-top:24px; }
.pwg-space-foot { grid-column:1/-1; display:flex; gap:32px; border-top:1px solid var(--pwg-line); margin-top:42px; padding-top:22px; font-size:13px; }
.pwg-site .pwg-space-foot > p { margin:0; font-size:13px; color:var(--pwg-ink); }
.pwg-space-foot :is(span,p)::before { content:'✓'; color:var(--pwg-accent); margin-right:10px; }
/* Invitation: an oversized title, a paper-like letter and a small architectural vignette. */
.pwg-site .pwg-concept--invitation { display:grid; grid-template-columns:1fr 1fr; gap:32px 64px; padding:64px 0 0; }
.pwg-invitation-heading { grid-column:1/-1; max-width:920px; }
.pwg-site .pwg-concept--invitation h1 { font-size:clamp(44px,6vw,86px); }
.pwg-site .pwg-invitation-letter { grid-column:2; grid-row:2; background:var(--pwg-surface); padding:36px; border:1px solid var(--pwg-line); border-radius:var(--pwg-radius); box-shadow:0 12px 40px #4933190a; }
.pwg-site .pwg-concept .pwg-letter-title { font-size:24px; line-height:1.35; color:var(--pwg-ink); font-weight:700; margin:0 0 16px; }
.pwg-invitation-letter > p:not(.pwg-letter-title) { font-size:15px; }
.pwg-invitation-photo { grid-column:1; grid-row:2; height:320px; align-self:center; transform:rotate(-3deg); margin:28px 14px; }
.pwg-invitation-photo::before { content:''; position:absolute; inset:-30px 25px; border:1px solid color-mix(in srgb,var(--pwg-accent) 20%,transparent); border-radius:var(--pwg-radius); transform:rotate(7deg); z-index:-1; }
.pwg-hero-questions { margin:26px 0; }
.pwg-hero-questions details { border-top:1px solid var(--pwg-line); }
.pwg-hero-questions details:last-child { border-bottom:1px solid var(--pwg-line); }
.pwg-hero-questions summary { position:relative; padding:18px 24px 18px 0; list-style:none; cursor:pointer; font-size:14px; font-weight:600; }
.pwg-hero-questions summary::-webkit-details-marker { display:none; }
.pwg-hero-questions summary::after { content:'+'; position:absolute; right:0; color:var(--pwg-accent); font-size:20px; }
.pwg-hero-questions details[open] summary::after { content:'−'; }
.pwg-site .pwg-hero-questions details p { margin:0 0 20px; font-size:14px; line-height:1.65; }
/* Therapist entrance: clear copy and one real treatment photograph. */
.pwg-site .pwg-concept--practice { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:64px; padding-top:60px; margin-bottom:88px; }
.pwg-site .pwg-concept.pwg-concept--practice h1 { font-size:clamp(38px,4.1vw,56px); line-height:1.13; }
.pwg-site .pwg-concept--practice .pwg-concept-lead { font-size:18px; max-width:510px; }
.pwg-practice-copy .wp-block-buttons { margin-top:30px; }
.pwg-practice-photo { min-width:0; }
.pwg-practice-photo figure { margin:0; height:550px; overflow:clip; border-radius:var(--pwg-radius); }
.pwg-practice-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.pwg-site .pwg-practice-photo .pwg-stock-credit { margin:10px 0 0; font-size:10px; text-align:right; }
.pwg-stock-credit a { color:inherit; text-underline-offset:3px; }
@media(max-width:1000px) {
 .pwg-site .pwg-concept--practice { gap:36px; }
 .pwg-practice-photo figure { height:480px; }
}
@media(max-width:780px) {
 .pwg-site .pwg-concept--practice { grid-template-columns:1fr; gap:32px; padding-top:36px; margin-bottom:60px; }
 .pwg-site .pwg-concept.pwg-concept--practice h1 { font-size:clamp(26px,8.2vw,46px); }
 .pwg-site .pwg-concept--practice .pwg-concept-lead { font-size:16px; }
 .pwg-practice-photo figure { height:380px; }
}
/* Finder: a working native GET form, using the platform's existing public room types. */
.pwg-site .pwg-concept--finder { padding-top:52px; }
.pwg-concept--finder .pwg-concept-copy { text-align:center; }
.pwg-site .pwg-concept--finder .pwg-concept-lead { margin-inline:auto; }
.pwg-hero-finder { position:relative; z-index:2; padding:30px; background:var(--pwg-surface); border:1px solid var(--pwg-line); border-radius:var(--pwg-radius); margin:36px auto 0; max-width:1050px; box-shadow:0 14px 40px #49331910; }
.pwg-hero-finder fieldset { margin:0 0 24px; padding:0; border:0; min-width:0; }
.pwg-hero-finder legend { font-size:14px; font-weight:600; padding:0 0 16px; }
.pwg-finder-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pwg-finder-options label { position:relative; display:flex; flex-direction:column; padding:18px; border:1px solid var(--pwg-line); border-radius:calc(var(--pwg-radius)*.65); cursor:pointer; transition:background .2s,border-color .2s; }
.pwg-finder-options label:has(input:checked) { background:color-mix(in srgb,var(--pwg-sun) 22%,var(--pwg-surface)); border-color:var(--pwg-accent); }
.pwg-finder-options input { position:absolute; right:18px; top:18px; margin:0; width:18px; height:18px; accent-color:var(--pwg-accent); }
.pwg-finder-number { color:var(--pwg-accent); font-size:12px; margin-bottom:22px; }
.pwg-finder-options strong { font-size:16px; margin-bottom:7px; }
.pwg-finder-options label > span:last-child { font-size:12px; color:var(--pwg-muted); line-height:1.55; }
.pwg-hero-finder > button { display:flex; margin-left:auto; }
.pwg-finder-bottom { position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; padding:0 48px; margin-top:-28px; }
.pwg-finder-photo { height:255px; }
.pwg-site .pwg-concept .pwg-finder-line { font-size:clamp(26px,3.4vw,44px); font-weight:600; letter-spacing:var(--pwg-tracking); line-height:1.25; color:var(--pwg-ink); }
.pwg-finder-line em { color:var(--pwg-accent); font-style:normal; }
@media(prefers-reduced-motion:no-preference) {
 .pwg-motion-expressive .pwg-concept-copy > *, .pwg-motion-expressive .pwg-invitation-heading > * { animation:pwg-hero-arrive .85s var(--pwg-ease) backwards; }
 .pwg-motion-expressive .pwg-concept-copy > :nth-child(2) { animation-delay:.1s; }
 .pwg-motion-expressive .pwg-concept-copy > :nth-child(3) { animation-delay:.2s; }
 .pwg-motion-expressive .pwg-connect-choice:is(:hover,:focus-visible) { transform:translateY(-6px); box-shadow:0 20px 45px #49331915; }
 .pwg-motion-expressive .pwg-connect-choice--offer:is(:hover,:focus-visible) img { transform:scale(1.04); }
 .pwg-motion-expressive .pwg-connect-choice--seek:is(:hover,:focus-visible) img { transform:scale(1.42); }
 @supports(animation-timeline:view()) {
  .pwg-motion-expressive .pwg-welcome-photo img { animation:pwg-photo-drift linear both; animation-timeline:view(); animation-range:entry 0% exit 100%; }
 }
}
@media(max-width:1000px) {
 .pwg-site .pwg-concept h1 { font-size:clamp(42px,6vw,72px); }
 .pwg-site .pwg-welcome-rail { width:calc(100% - 40px); padding:24px; gap:20px; }
 .pwg-welcome-rail .wp-block-buttons { gap:8px; }
 .pwg-welcome-rail .wp-block-button__link { padding:14px 16px; }
 .pwg-site .pwg-concept--invitation { gap:26px; }
 .pwg-site .pwg-invitation-letter { padding:26px; }
 .pwg-site .pwg-concept--daylight { gap:0 28px; }
}
@media(max-width:780px) {
 .pwg-site .pwg-concept { padding-top:36px; margin-bottom:40px; }
 .pwg-site .pwg-concept h1 { font-size:clamp(37px,9.5vw,54px); line-height:1.09; }
 .pwg-site .pwg-concept-lead { font-size:16px; }
 .pwg-site .pwg-concept .pwg-kicker { font-size:10px; margin-bottom:18px; }
 .pwg-site .pwg-concept--welcome { margin-bottom:64px; }
 .pwg-welcome-photo { height:240px; margin-top:26px; }
 .pwg-site .pwg-welcome-rail { width:calc(100% - 24px); margin-top:-20px; padding:22px; display:block; }
 .pwg-welcome-rail .wp-block-buttons { margin-top:20px; }
 .pwg-concept .wp-block-button,.pwg-concept .wp-block-button__link { width:100%; }
 .pwg-connect-choices { grid-template-columns:1fr; gap:20px; }
 .pwg-site .pwg-connect-choice { padding:24px; gap:18px; }
 .pwg-connect-knot { top:50%; width:48px; height:48px; font-size:24px; border-width:5px; }
 .pwg-choice-photo { height:135px; }
 .pwg-connect-choice strong { font-size:30px; }
 .pwg-site .pwg-concept--space { display:flex; flex-direction:column; }
 .pwg-space-photo { height:255px; margin:0 0 26px; }
 .pwg-site .pwg-space-note { padding:0; }
 .pwg-space-foot { flex-direction:column; gap:12px; margin-top:24px; }
 .pwg-site .pwg-concept--invitation { display:flex; flex-direction:column; gap:26px; }
 .pwg-site .pwg-invitation-letter { padding:24px; }
 .pwg-invitation-photo { width:calc(100% - 28px); height:235px; margin:10px 14px 14px; }
 .pwg-site .pwg-concept--daylight { grid-template-columns:1fr; padding-top:16px; }
 .pwg-hero-finder { padding:20px; margin-top:26px; }
 .pwg-finder-options { grid-template-columns:1fr; gap:10px; }
 .pwg-finder-options label { padding:16px 42px 16px 16px; }
 .pwg-finder-number { display:none; }
 .pwg-hero-finder > button { width:100%; white-space:normal; }
 .pwg-finder-bottom { padding:0 14px; grid-template-columns:1fr; gap:8px; }
 .pwg-finder-photo { height:200px; }
 .pwg-site .pwg-concept .pwg-finder-line { text-align:center; margin:18px 0 0; font-size:28px; }
}

/* Customer comparisons V3 / V2.1: all changes are opt-in via the copied hero's class. */
.pwg-site .pwg-main:has(> .pwg-concept--sunrise)::before {
  background:
    radial-gradient(ellipse 75% 28% at 50% 0%, color-mix(in srgb, var(--pwg-sun) 30%, transparent), transparent 82%),
    radial-gradient(ellipse 95% 35% at -12% 44%, color-mix(in srgb, var(--pwg-sun) 9%, transparent), transparent 82%),
    radial-gradient(ellipse 95% 35% at 112% 78%, color-mix(in srgb, var(--pwg-accent) 3%, transparent), transparent 82%),
    linear-gradient(160deg, color-mix(in srgb, var(--pwg-sun) 2%, var(--pwg-bg)), color-mix(in srgb, var(--pwg-sun) 3%, var(--pwg-bg)) 48%, color-mix(in srgb, var(--pwg-sun) 2%, var(--pwg-bg)));
  background-repeat:no-repeat;
}
.pwg-site:has(.pwg-main > .pwg-concept--sunrise) :is(.pwg-header,.pwg-footer) {
  background:color-mix(in srgb, var(--pwg-sun) 2%, var(--pwg-bg));
}
.pwg-site .pwg-concept.pwg-concept--sunrise .pwg-kicker {
  font-size:20px; line-height:1.5; font-weight:600; letter-spacing:0; text-transform:none;
}
.pwg-concept--sunrise .pwg-welcome-photo img { object-position:50% 0%; }
.pwg-concept--sunrise .pwg-image-note a { color:inherit; text-underline-offset:3px; }
/* Shared landlord comparison: keep imported blocks, align the full copy beside the image. */
.pwg-site .pwg-concept--balanced { grid-template-columns:1.12fr 1fr; grid-template-rows:1fr auto auto auto 1fr auto; gap:0 64px; padding-top:60px; margin-bottom:88px; }
.pwg-concept--balanced .pwg-kicker { grid-column:1; grid-row:2; }
.pwg-site .pwg-concept--balanced h1 { grid-column:1; grid-row:3; font-size:clamp(38px,4.1vw,56px); line-height:1.13; margin-bottom:26px; }
.pwg-concept--balanced .pwg-space-photo { grid-column:2; grid-row:1/6; height:auto; margin:0; align-self:center; }
.pwg-concept--balanced .pwg-space-photo figure { height:550px; }
.pwg-concept--balanced .pwg-space-photo img { object-position:54% center; }
.pwg-site .pwg-concept--balanced .pwg-space-photo .pwg-image-note { position:static; padding:0; margin:10px 0 0; background:transparent; }
.pwg-site .pwg-concept--balanced .pwg-space-note { grid-column:1; grid-row:4; padding:0; align-self:start; max-width:510px; }
.pwg-site .pwg-concept--balanced .pwg-space-note > p { font-size:18px; line-height:1.65; }
.pwg-site .pwg-concept--balanced .pwg-space-statement { font-weight:600; margin-bottom:10px; }
.pwg-concept--balanced .pwg-space-note .wp-block-buttons { margin-top:30px; }
.pwg-concept--balanced .pwg-space-foot { grid-row:6; }
@media(max-width:1000px) {
 .pwg-site .pwg-concept--balanced { gap:0 36px; }
 .pwg-concept--balanced .pwg-space-photo figure { height:480px; }
}
@media(max-width:780px) {
 .pwg-site .pwg-concept.pwg-concept--sunrise .pwg-kicker { font-size:18px; }
 .pwg-concept--sunrise .pwg-welcome-photo { height:240px; }
 .pwg-concept--sunrise .pwg-welcome-photo img { object-position:28% 0%; }
 .pwg-site .pwg-concept--balanced { display:grid; grid-template-columns:1fr; grid-template-rows:auto; gap:0; padding-top:36px; margin-bottom:60px; }
 .pwg-concept--balanced .pwg-kicker { grid-row:1; }
 .pwg-site .pwg-concept--balanced h1 { grid-row:2; font-size:clamp(26px,8.2vw,46px); }
 .pwg-site .pwg-concept--balanced .pwg-space-note { grid-row:3; }
 .pwg-site .pwg-concept--balanced .pwg-space-note > p { font-size:16px; }
 .pwg-concept--balanced .pwg-space-photo { grid-column:1; grid-row:4; width:100%; margin-top:32px; }
 .pwg-concept--balanced .pwg-space-photo figure { height:380px; }
 .pwg-concept--balanced .pwg-space-foot { grid-row:5; }
}

/* Preserve both people in the stock photograph at panorama and mobile sizes. */
.pwg-concept--edition21 .pwg-welcome-photo { height:clamp(360px, 40vw, 540px); }
.pwg-concept--edition21 .pwg-welcome-photo img { object-position:65% 0%; }
@media (max-width:760px) {
 .pwg-concept--edition21 .pwg-welcome-photo { height:240px; }
}

/* Homepage V2.2: a shared stage, without stacking two oversized hero sections. */
.pwg-site .pwg-concept--together { padding-top:24px; margin-bottom:88px; }
.pwg-together-stage { position:relative; display:flex; align-items:center; min-height:500px; isolation:isolate; }
.pwg-site .pwg-concept--together .pwg-concept-copy { position:relative; z-index:1; width:50%; padding:32px 0 40px; text-align:left; }
.pwg-site .pwg-concept--together h1 { font-size:clamp(38px,4.2vw,60px); line-height:1.08; margin-bottom:24px; }
.pwg-site .pwg-concept--together .pwg-concept-lead { max-width:440px; font-size:17px; margin:0; }
.pwg-together-photo { position:absolute; inset:0 0 0 auto; width:70%; pointer-events:none; }
.pwg-together-photo figure { border-radius:0; mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 88%,transparent); mask-composite:intersect; }
.pwg-together-photo img { object-fit:cover; object-position:right top; }
.pwg-site .pwg-concept--together .pwg-welcome-rail { width:100%; margin:0; padding:24px 28px; box-shadow:0 12px 32px #49331908; }
@media(max-width:900px) {
 .pwg-site .pwg-concept--together { padding-top:24px; margin-bottom:64px; }
 .pwg-together-stage { display:flex; flex-direction:column; align-items:stretch; min-height:0; }
 .pwg-site .pwg-concept--together .pwg-concept-copy { width:100%; padding:16px 0 12px; }
 .pwg-site .pwg-concept--together h1 { font-size:clamp(32px,5.6vw,48px); }
 .pwg-site .pwg-concept--together .pwg-concept-lead { max-width:580px; }
 .pwg-together-photo { position:relative; inset:auto; width:100%; max-width:450px; align-self:center; height:300px; }
 .pwg-together-photo img { object-fit:contain; object-position:center; }
 .pwg-site .pwg-concept--together .pwg-welcome-rail { padding:22px; }
}
@media(max-width:480px) {
 .pwg-site .pwg-concept--together h1 { font-size:clamp(29px,8.4vw,36px); }
 .pwg-together-photo { height:230px; }
 .pwg-together-photo img { object-fit:cover; object-position:70% center; }
}

/* Customer colour refinements: shared surfaces and the approved soft photo treatment. */
.pwg-site {
  --pwg-warm-card:color-mix(in srgb,var(--pwg-sun) 19%,var(--pwg-surface));
  --pwg-photo-fade-x:linear-gradient(90deg,transparent 0%,#000 22%,#000 96%,transparent);
  --pwg-photo-fade-y:linear-gradient(180deg,transparent,#000 10%,#000 88%,transparent);
}
.pwg-site :is(.pwg-together-photo,.pwg-concept--balanced .pwg-space-photo,.pwg-practice-photo) figure {
  border-radius:0;
  mask-image:var(--pwg-photo-fade-x),var(--pwg-photo-fade-y);
  mask-composite:intersect;
}
.pwg-site .pwg-concept--together .pwg-welcome-rail {
  background:var(--pwg-warm-card);
}
.pwg-site .pwg-main .pwg-concept--together .pwg-welcome-rail .wp-block-button .wp-block-button__link {
  background:var(--pwg-accent);
  border-color:var(--pwg-accent);
  color:var(--pwg-on-accent);
}
.pwg-site .pwg-main .pwg-concept--together .pwg-welcome-rail .wp-block-button .wp-block-button__link:is(:hover,:focus-visible) {
  background:var(--pwg-accent-hover);
  border-color:var(--pwg-accent-hover);
}
.pwg-site .pwg-pathways .pwg-pathway--therapist :is(h2,p),
.pwg-site .pwg-pathways .pwg-pathway--therapist .pwg-path-label {
  color:var(--pwg-warm-card);
}
.pwg-site .pwg-pathways .pwg-pathway--therapist .wp-block-button__link {
  background:var(--pwg-warm-card);
  border-color:var(--pwg-warm-card);
  color:var(--pwg-accent);
}
.pwg-site .pwg-pathways .pwg-pathway--therapist .wp-block-button__link:is(:hover,:focus-visible) {
  color:var(--pwg-accent-hover);
  border-color:var(--pwg-accent-hover);
}
/* These formulas are the same tokens used by the four SVG map regions. */
.pwg-site .pwg-region-links a[data-region="nord"] { --region-color:color-mix(in srgb,var(--pwg-sun) 76%,var(--pwg-surface)); }
.pwg-site .pwg-region-links a[data-region="ost"] { --region-color:color-mix(in srgb,var(--pwg-accent) 47%,var(--pwg-surface)); }
.pwg-site .pwg-region-links a[data-region="west"] { --region-color:color-mix(in srgb,var(--pwg-accent) 65%,var(--pwg-surface)); }
.pwg-site .pwg-region-links a[data-region="sued"] { --region-color:var(--pwg-sun); }
.pwg-site .pwg-app .pwg-region-links a[data-region] {
  background:var(--region-color);
  color:var(--pwg-ink);
  border-color:transparent;
}
.pwg-site .pwg-app .pwg-region-links a[data-region] :is(strong,small,svg) { color:inherit; }
.pwg-site .pwg-app .pwg-region-links a[data-region]:is(:hover,:focus,.is-active) {
  color:var(--pwg-ink);
  background:var(--region-color);
  border-color:var(--pwg-ink);
}
.pwg-site .pwg-app .pwg-region-links a[data-region]:focus-visible {
  outline:2px solid var(--pwg-ink);
  outline-offset:3px;
}

/* Audience content uses the same overlapping stage and sunrise as homepage V2.2. */
.pwg-site .pwg-concept--audience .pwg-concept-copy .wp-block-buttons { margin-top:30px; }
.pwg-site .pwg-concept--audience > .pwg-stock-credit { margin:10px 0 0; font-size:10px; text-align:right; }
.pwg-site .pwg-concept--audience .pwg-space-statement { margin:0 0 12px; font-size:18px; }
.pwg-concept--therapist .pwg-together-photo img { object-position:center 33%; }
.pwg-concept--landlord .pwg-together-photo img { object-position:54% center; }

/* Smooth alpha ramps remove the visible frame on contrast-rich audience photos.
   Only opacity changes: no white overlay, blur or change to the photograph. */
.pwg-site .pwg-concept--audience {
  --pwg-photo-fade-x:linear-gradient(90deg,
    rgb(0 0 0 / 0.0000) 0%,
    rgb(0 0 0 / 0.0430) 3.25%,
    rgb(0 0 0 / 0.1562) 6.5%,
    rgb(0 0 0 / 0.3164) 9.75%,
    rgb(0 0 0 / 0.5000) 13%,
    rgb(0 0 0 / 0.6836) 16.25%,
    rgb(0 0 0 / 0.8438) 19.5%,
    rgb(0 0 0 / 0.9570) 22.75%,
    rgb(0 0 0 / 1.0000) 26%,
    rgb(0 0 0 / 1.0000) 90%,
    rgb(0 0 0 / 0.9570) 91.25%,
    rgb(0 0 0 / 0.8438) 92.5%,
    rgb(0 0 0 / 0.6836) 93.75%,
    rgb(0 0 0 / 0.5000) 95%,
    rgb(0 0 0 / 0.3164) 96.25%,
    rgb(0 0 0 / 0.1562) 97.5%,
    rgb(0 0 0 / 0.0430) 98.75%,
    rgb(0 0 0 / 0.0000) 100%);
  --pwg-photo-fade-y:linear-gradient(180deg,
    rgb(0 0 0 / 0.0000) 0%,
    rgb(0 0 0 / 0.0430) 1.75%,
    rgb(0 0 0 / 0.1562) 3.5%,
    rgb(0 0 0 / 0.3164) 5.25%,
    rgb(0 0 0 / 0.5000) 7%,
    rgb(0 0 0 / 0.6836) 8.75%,
    rgb(0 0 0 / 0.8438) 10.5%,
    rgb(0 0 0 / 0.9570) 12.25%,
    rgb(0 0 0 / 1.0000) 14%,
    rgb(0 0 0 / 1.0000) 82%,
    rgb(0 0 0 / 0.9570) 84.25%,
    rgb(0 0 0 / 0.8438) 86.5%,
    rgb(0 0 0 / 0.6836) 88.75%,
    rgb(0 0 0 / 0.5000) 91%,
    rgb(0 0 0 / 0.3164) 93.25%,
    rgb(0 0 0 / 0.1562) 95.5%,
    rgb(0 0 0 / 0.0430) 97.75%,
    rgb(0 0 0 / 0.0000) 100%);
}

/* The two registration shortcuts use the approved warm beige surface. */
body.pwg-site .pwg-main .pwg-concept--therapist .pwg-concept-copy .wp-block-button.is-style-outline > .wp-block-button__link,
body.pwg-site .pwg-main:has(> .pwg-map-heading) > .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link {
  background:var(--pwg-warm-card);
  border-color:var(--pwg-warm-card);
  color:var(--pwg-ink);
}
body.pwg-site .pwg-main .pwg-concept--therapist .pwg-concept-copy .wp-block-button.is-style-outline > .wp-block-button__link:is(:hover,:focus-visible),
body.pwg-site .pwg-main:has(> .pwg-map-heading) > .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:is(:hover,:focus-visible) {
  background:color-mix(in srgb,var(--pwg-sun) 12%,var(--pwg-warm-card));
  border-color:var(--pwg-accent);
  color:var(--pwg-ink);
}
