:root{
  --pwl-charcoal:#0F1720;
  --pwl-ivory:#F7F3EA;
  --pwl-surface:#FFFDF8;
  --pwl-muted:#6B6F6A;
  --pwl-border:rgba(15,23,32,.16);
  --pwl-amber:#F5A623;
  --pwl-do:#3B82F6;
  --pwl-try:#22C55E;
  --pwl-challenge:#F97316;
  --pwl-explore:#8B5CF6;
  --pwl-play:#EC4899;
  --pwl-section-accent:var(--pwl-amber);
}

body.pwl-branding-active{background:var(--pwl-ivory)!important;color:var(--pwl-charcoal);}
body.pwl-branding-active .wp-site-blocks{background:var(--pwl-ivory);color:var(--pwl-charcoal);}
body.pwl-branding-active a{color:inherit;text-decoration-color:color-mix(in srgb,var(--pwl-section-accent) 55%,currentColor);text-underline-offset:.16em;}
body.pwl-branding-active a:hover{color:var(--pwl-section-accent);}
body.pwl-branding-active :focus-visible{outline:3px solid color-mix(in srgb,var(--pwl-section-accent) 72%,white);outline-offset:3px;}

/* Dark branded shell */
body.pwl-branding-active header.wp-block-template-part,
body.pwl-branding-active footer.wp-block-template-part{
  background:var(--pwl-charcoal)!important;
  color:var(--pwl-ivory)!important;
  border-color:rgba(247,243,234,.12)!important;
}
body.pwl-branding-active header.wp-block-template-part a,
body.pwl-branding-active footer.wp-block-template-part a{color:var(--pwl-ivory)!important;}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container{background:var(--pwl-charcoal);color:var(--pwl-ivory);}
body.pwl-branding-active header.wp-block-template-part .wp-block-button__link{
  background:var(--pwl-amber)!important;
  color:var(--pwl-charcoal)!important;
  border-color:var(--pwl-amber)!important;
  transition:transform .15s ease,filter .15s ease;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-button__link:hover{filter:brightness(1.04);transform:translateY(-1px);}

/* Replace visible site-title text with the uploaded logo while preserving the real text in the DOM for accessibility. */
body.pwl-branding-active.pwl-branding-logo-header header.wp-block-template-part .wp-block-site-title a{
  display:block;
  width:250px;
  height:58px;
  max-width:30vw;
  background-image:var(--pwl-logo-light-url);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:contain;
  font-size:0!important;
  line-height:0!important;
  text-decoration:none!important;
  overflow:hidden;
}
body.pwl-branding-active.pwl-branding-logo-header footer.wp-block-template-part .wp-block-site-title a{
  display:block;
  width:205px;
  height:48px;
  background-image:var(--pwl-logo-light-url);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:contain;
  font-size:0!important;
  line-height:0!important;
  text-decoration:none!important;
  overflow:hidden;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-site-logo img,
body.pwl-branding-active footer.wp-block-template-part .wp-block-site-logo img{
  max-height:58px;
  width:auto;
  object-fit:contain;
}

/* Core page system */
body.pwl-branding-active .pwl-site-home,
body.pwl-branding-active .pwl-section-page{
  --pwl-text:var(--pwl-charcoal);
  --pwl-muted:var(--pwl-muted);
  --pwl-border:var(--pwl-border);
  --pwl-soft:#EFE9DE;
  --pwl-accent:var(--pwl-charcoal);
  color:var(--pwl-charcoal);
}
body.pwl-branding-active .pwl-site-pillar,
body.pwl-branding-active .pwl-site-tool,
body.pwl-branding-active .pwl-site-next-card,
body.pwl-branding-active .pwl-collection-card{
  background:var(--pwl-surface)!important;
  border-color:var(--pwl-border)!important;
  box-shadow:0 8px 26px rgba(15,23,32,.035);
}
body.pwl-branding-active .pwl-site-section--soft{background:#EFE9DE!important;}
body.pwl-branding-active .pwl-site-home-finder{background:#F1EBE1!important;border-color:var(--pwl-border)!important;}
body.pwl-branding-active .pwl-site-eyebrow{color:var(--pwl-section-accent);}
body.pwl-branding-active .pwl-site-pillar:hover,
body.pwl-branding-active .pwl-site-tool:hover,
body.pwl-branding-active .pwl-collection-card:hover{border-color:var(--pwl-section-accent)!important;transform:translateY(-2px);}
body.pwl-branding-active .pwl-site-pillar-grid .pwl-site-pillar:nth-child(1){border-top:3px solid var(--pwl-do)!important;}
body.pwl-branding-active .pwl-site-pillar-grid .pwl-site-pillar:nth-child(2){border-top:3px solid var(--pwl-try)!important;}
body.pwl-branding-active .pwl-site-pillar-grid .pwl-site-pillar:nth-child(3){border-top:3px solid var(--pwl-challenge)!important;}
body.pwl-branding-active .pwl-site-pillar-grid .pwl-site-pillar:nth-child(4){border-top:3px solid var(--pwl-explore)!important;}
body.pwl-branding-active .pwl-site-pillar-grid .pwl-site-pillar:nth-child(5){border-top:3px solid var(--pwl-play)!important;}

/* Collections */
body.pwl-branding-active .pwl-collection{--pwl-collection-text:var(--pwl-charcoal);--pwl-collection-muted:var(--pwl-muted);--pwl-collection-border:var(--pwl-border);}
body.pwl-branding-active .pwl-collection-card{border-top:2px solid var(--pwl-section-accent)!important;}
body.pwl-branding-active .pwl-collection-card__meta span{background:#F6F1E8;border-color:var(--pwl-border)!important;}

/* Interactive tools */
body.pwl-branding-active :is(.pwl-finder,.pwl-hobby-finder,.pwl-challenge-generator,.pwl-bucket-list-generator,.pwl-play-finder){
  background:var(--pwl-surface)!important;
  color:var(--pwl-charcoal)!important;
  border-color:var(--pwl-border)!important;
  box-shadow:0 12px 36px rgba(15,23,32,.045);
}
body.pwl-branding-active :is(.pwl-finder,.pwl-hobby-finder,.pwl-challenge-generator,.pwl-bucket-list-generator,.pwl-play-finder) select{
  background:#FFFCF6!important;
  color:var(--pwl-charcoal)!important;
  border-color:var(--pwl-border)!important;
}
body.pwl-branding-active :is(.pwl-result,.pwl-hobby-result,.pwl-challenge-result,.pwl-bucket-list-result,.pwl-play-result){
  background:var(--pwl-surface)!important;
  border-color:var(--pwl-border)!important;
  border-top:2px solid var(--pwl-section-accent)!important;
}
body.pwl-branding-active :is(.pwl-finder__primary,.pwl-hobby-finder__primary,.pwl-challenge-generator__primary,.pwl-bucket-list-generator__primary,.pwl-play-finder__primary){
  background:var(--pwl-charcoal)!important;
  color:var(--pwl-ivory)!important;
  border-color:var(--pwl-charcoal)!important;
}
body.pwl-branding-active :is(.pwl-finder__primary,.pwl-hobby-finder__primary,.pwl-challenge-generator__primary,.pwl-bucket-list-generator__primary,.pwl-play-finder__primary):hover{
  background:var(--pwl-section-accent)!important;
  color:#fff!important;
  border-color:var(--pwl-section-accent)!important;
}
body.pwl-branding-active :is(.pwl-finder__secondary,.pwl-hobby-finder__secondary,.pwl-challenge-generator__secondary,.pwl-bucket-list-generator__secondary,.pwl-play-finder__secondary){
  background:transparent!important;
  color:var(--pwl-charcoal)!important;
  border-color:var(--pwl-border)!important;
}

/* Section identities */
body.pwl-section-do{--pwl-section-accent:var(--pwl-do);}
body.pwl-section-try{--pwl-section-accent:var(--pwl-try);}
body.pwl-section-challenge{--pwl-section-accent:var(--pwl-challenge);}
body.pwl-section-explore{--pwl-section-accent:var(--pwl-explore);}
body.pwl-section-play{--pwl-section-accent:var(--pwl-play);}
body.pwl-section-home{--pwl-section-accent:var(--pwl-amber);}
body.pwl-section-do header.wp-block-template-part a[href*="/do/"]{color:var(--pwl-do)!important;}
body.pwl-section-try header.wp-block-template-part a[href*="/try/"]{color:var(--pwl-try)!important;}
body.pwl-section-challenge header.wp-block-template-part a[href*="/challenge/"]{color:var(--pwl-challenge)!important;}
body.pwl-section-explore header.wp-block-template-part a[href*="/explore/"]{color:var(--pwl-explore)!important;}
body.pwl-section-play header.wp-block-template-part a[href*="/play/"]{color:var(--pwl-play)!important;}

@media(max-width:700px){
  body.pwl-branding-active.pwl-branding-logo-header header.wp-block-template-part .wp-block-site-title a{
    width:42px;
    height:42px;
    max-width:none;
    background-image:var(--pwl-mark-light-url);
    background-position:center;
  }
}

/* v0.3.1 — Twenty Twenty-Five grid alignment fix.
   Gutenberg flow-layout block spacing can add margin-block-start to every
   child after the first, which makes the first card sit visibly higher.
   Our custom grids own their spacing via gap, so neutralize those margins. */
body.pwl-branding-active :is(
  .pwl-site-pillar-grid,
  .pwl-site-tool-grid,
  .pwl-site-next-grid,
  .pwl-site-benefit-grid,
  .pwl-site-topic-grid,
  .pwl-site-crosslink-grid,
  .pwl-section-featured-tool,
  .pwl-collection__grid,
  .pwl-finder__grid,
  .pwl-finder__results,
  .pwl-bucket-list-generator__grid,
  .pwl-bucket-list-generator__results,
  .pwl-play-finder__grid,
  .pwl-play-finder__results
) > * {
  margin-block-start:0!important;
  margin-block-end:0!important;
  align-self:stretch;
}

/* Slightly stronger logo presence in the dark shell. */
body.pwl-branding-active.pwl-branding-logo-header header.wp-block-template-part .wp-block-site-title a{
  width:285px;
  height:66px;
  max-width:min(34vw,285px);
}
body.pwl-branding-active.pwl-branding-logo-header footer.wp-block-template-part .wp-block-site-title a{
  width:230px;
  height:54px;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-site-logo img{
  max-height:66px;
}
body.pwl-branding-active footer.wp-block-template-part .wp-block-site-logo img{
  max-height:54px;
}

@media(max-width:900px){
  body.pwl-branding-active.pwl-branding-logo-header header.wp-block-template-part .wp-block-site-title a{
    width:220px;
    height:52px;
    max-width:34vw;
  }
}
@media(max-width:700px){
  body.pwl-branding-active.pwl-branding-logo-header header.wp-block-template-part .wp-block-site-title a{
    width:44px;
    height:44px;
    max-width:none;
    background-image:var(--pwl-mark-light-url);
    background-position:center;
  }
}

/* v0.3.2 — stronger desktop brand presence and consistent card interaction. */
@media(min-width:901px){
  body.pwl-branding-active.pwl-branding-logo-header header.wp-block-template-part .wp-block-site-title a{
    width:350px;
    height:80px;
    max-width:min(38vw,350px);
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-site-logo img{
    max-height:80px;
  }
  body.pwl-branding-active.pwl-branding-logo-header footer.wp-block-template-part .wp-block-site-title a{
    width:270px;
    height:62px;
  }
  body.pwl-branding-active footer.wp-block-template-part .wp-block-site-logo img{
    max-height:62px;
  }
}

body.pwl-branding-active :is(
  .pwl-site-pillar,
  .pwl-site-tool,
  .pwl-site-next-card,
  .pwl-collection-card
){
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body.pwl-branding-active :is(
  .pwl-site-pillar,
  .pwl-site-tool,
  .pwl-site-next-card,
  .pwl-collection-card
):hover{
  box-shadow:0 12px 30px rgba(15,23,32,.07);
}

/* v0.3.3 — use actual IMG elements for the brand instead of CSS background images.
   This prevents Dark Reader's live style rewrite from temporarily dropping the logo. */
body.pwl-branding-active.pwl-branding-logo-header :is(header.wp-block-template-part,footer.wp-block-template-part) .wp-block-site-title a{
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  background-image:none!important;
  font-size:inherit!important;
  line-height:normal!important;
  overflow:visible!important;
  text-decoration:none!important;
}
body.pwl-branding-active .pwl-brand-logo-media{
  display:inline-flex;
  align-items:center;
  line-height:0;
}
body.pwl-branding-active .pwl-brand-logo-full,
body.pwl-branding-active .pwl-brand-logo-mark{
  height:auto!important;
  object-fit:contain;
}
body.pwl-branding-active .pwl-brand-logo-mark{display:none;}
body.pwl-branding-active header.wp-block-template-part .pwl-brand-logo-full{
  display:block;
  width:350px!important;
  max-width:38vw!important;
}
body.pwl-branding-active footer.wp-block-template-part .pwl-brand-logo-full{
  display:block;
  width:270px!important;
  max-width:100%!important;
}
@media(max-width:900px){
  body.pwl-branding-active header.wp-block-template-part .pwl-brand-logo-full{
    width:220px!important;
    max-width:34vw!important;
  }
}
@media(max-width:700px){
  body.pwl-branding-active header.wp-block-template-part .pwl-brand-logo-full{display:none!important;}
  body.pwl-branding-active header.wp-block-template-part .pwl-brand-logo-mark{
    display:block!important;
    width:44px!important;
    max-width:44px!important;
  }
}

/* v0.3.4 — branded Twenty Twenty-Five responsive navigation.
   Keep the mobile overlay in the dark brand shell and give each pillar its
   own accent colour. This also avoids pale navigation text on WP's default
   white responsive-menu panel. */
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open{
  background:var(--pwl-charcoal)!important;
  color:var(--pwl-ivory)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content ul,
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li{
  background:transparent!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a{
  color:var(--pwl-ivory)!important;
  text-decoration-color:currentColor!important;
  text-underline-offset:.2em;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a[href*="/do/"]{
  color:var(--pwl-do)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a[href*="/try/"]{
  color:var(--pwl-try)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a[href*="/challenge/"]{
  color:var(--pwl-challenge)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a[href*="/explore/"]{
  color:var(--pwl-explore)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a[href*="/play/"]{
  color:var(--pwl-play)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a:hover,
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open a:focus-visible{
  filter:brightness(1.15);
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container-close{
  color:var(--pwl-ivory)!important;
}
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container-close svg,
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container-close svg path,
body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container-close svg line{
  fill:currentColor!important;
  stroke:currentColor!important;
}

@media(max-width:700px){
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding-top:4.75rem;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    gap:1.15rem!important;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    font-size:clamp(1.7rem,7vw,2.15rem)!important;
    line-height:1.15!important;
    font-weight:500;
  }
}

/* v0.3.5 — carry the five pillar colours into the desktop navigation too.
   Exact root-hub URLs are targeted so the amber Find something to do CTA
   (which lives under /do/) keeps its existing button treatment. */
@media(min-width:701px){
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content[href$="/do/"]{
    color:var(--pwl-do)!important;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content[href$="/try/"]{
    color:var(--pwl-try)!important;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content[href$="/challenge/"]{
    color:var(--pwl-challenge)!important;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content[href$="/explore/"]{
    color:var(--pwl-explore)!important;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content[href$="/play/"]{
    color:var(--pwl-play)!important;
  }
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content:hover,
  body.pwl-branding-active header.wp-block-template-part .wp-block-navigation-item__content:focus-visible{
    filter:brightness(1.15);
  }
}

/* v0.3.6 — homepage refinement and footer polish. */

/* Hero: remove the redundant brand eyebrow and centre the actual proposition. */
body.pwl-branding-active .pwl-site-home .pwl-site-hero{
  max-width:1100px;
  margin-inline:auto;
  text-align:center;
}
body.pwl-branding-active .pwl-site-home .pwl-site-hero > .pwl-site-eyebrow{
  display:none!important;
}
body.pwl-branding-active .pwl-site-home .pwl-site-hero h1,
body.pwl-branding-active .pwl-site-home .pwl-site-hero > .pwl-site-lead{
  margin-left:auto;
  margin-right:auto;
}
body.pwl-branding-active .pwl-site-home .pwl-site-hero > .pwl-site-lead{
  max-width:860px;
}

/* Finder: a narrow outer frame, but proper breathing room inside the white panel. */
body.pwl-branding-active .pwl-site-home .pwl-site-home-finder{
  max-width:1100px;
  margin:1.9rem auto 0;
  padding:.55rem!important;
  border:1px solid rgba(15,23,32,.10)!important;
  border-radius:18px!important;
  text-align:left;
}
body.pwl-branding-active .pwl-site-home .pwl-site-home-finder .pwl-finder--compact{
  margin:0!important;
  padding:clamp(1.15rem,2vw,1.55rem)!important;
  border:0!important;
  border-radius:13px!important;
  background:var(--pwl-surface)!important;
}
body.pwl-branding-active .pwl-site-home .pwl-site-home-finder .pwl-finder--compact .pwl-finder__grid{
  gap:1rem 1.15rem;
}

/* Secondary routes become centred pill buttons rather than loose text links. */
body.pwl-branding-active .pwl-site-home .pwl-site-alternatives{
  justify-content:center;
  text-align:center;
  gap:.7rem;
  margin-top:1.15rem;
}
body.pwl-branding-active .pwl-site-home .pwl-site-alternatives > span,
body.pwl-branding-active .pwl-site-home .pwl-site-alternatives > p:first-child{
  flex:0 0 auto;
}
body.pwl-branding-active .pwl-site-home .pwl-site-alternatives a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.55rem 1rem;
  border:1px solid rgba(15,23,32,.28);
  border-radius:999px;
  background:rgba(255,253,248,.72);
  color:var(--pwl-charcoal)!important;
  text-decoration:none!important;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
body.pwl-branding-active .pwl-site-home .pwl-site-alternatives a:hover,
body.pwl-branding-active .pwl-site-home .pwl-site-alternatives a:focus-visible{
  border-color:var(--pwl-amber);
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(15,23,32,.06);
}

/* Homepage section introductions are centred; the content grids remain left-aligned. */
body.pwl-branding-active .pwl-site-home .pwl-site-section-heading{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body.pwl-branding-active .pwl-site-home .pwl-site-section-heading > p:last-child{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

/* Direction cards: retain the five accents, reduce type scale, and make the whole card feel clickable. */
body.pwl-branding-active .pwl-site-home .pwl-site-pillar{
  cursor:pointer;
}
body.pwl-branding-active .pwl-site-home .pwl-site-pillar h3{
  font-size:1.22rem!important;
  line-height:1.18!important;
}
body.pwl-branding-active .pwl-site-home .pwl-site-pillar p{
  font-size:.94rem!important;
  line-height:1.48!important;
}
body.pwl-branding-active .pwl-site-home .pwl-site-pillar .pwl-site-link,
body.pwl-branding-active .pwl-site-home .pwl-site-pillar .pwl-site-card-link{
  font-size:.93rem;
}
body.pwl-branding-active .pwl-card-clickable{
  cursor:pointer;
}
body.pwl-branding-active .pwl-card-clickable:focus-visible{
  outline:3px solid color-mix(in srgb,var(--pwl-section-accent) 72%,white);
  outline-offset:3px;
}

/* Take-it-further cards: slightly quieter type so the section reads as a secondary route. */
body.pwl-branding-active .pwl-site-home .pwl-site-deeper .pwl-site-tool h3{
  font-size:1.18rem!important;
  line-height:1.2!important;
}
body.pwl-branding-active .pwl-site-home .pwl-site-deeper .pwl-site-tool p{
  font-size:.95rem!important;
  line-height:1.5!important;
}
body.pwl-branding-active .pwl-site-home .pwl-site-deeper .pwl-site-tool .pwl-site-link,
body.pwl-branding-active .pwl-site-home .pwl-site-deeper .pwl-site-tool .pwl-site-card-link{
  font-size:.95rem;
}

/* Centre the principle heading/introduction but keep the three evidence points easy to scan. */
body.pwl-branding-active .pwl-site-home .pwl-site-principle{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
body.pwl-branding-active .pwl-site-home .pwl-site-principle > .pwl-site-eyebrow,
body.pwl-branding-active .pwl-site-home .pwl-site-principle > h2,
body.pwl-branding-active .pwl-site-home .pwl-site-principle > p{
  text-align:center;
}
body.pwl-branding-active .pwl-site-home .pwl-site-principle > p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

/* Footer: mirror the five navigation colours; use amber for utility/about links. */
body.pwl-branding-active footer.wp-block-template-part a[href$="/do/"],
body.pwl-branding-active footer.wp-block-template-part a[href$="/do"]{
  color:var(--pwl-do)!important;
  text-decoration-color:currentColor!important;
}
body.pwl-branding-active footer.wp-block-template-part a[href$="/try/"],
body.pwl-branding-active footer.wp-block-template-part a[href$="/try"]{
  color:var(--pwl-try)!important;
  text-decoration-color:currentColor!important;
}
body.pwl-branding-active footer.wp-block-template-part a[href$="/challenge/"],
body.pwl-branding-active footer.wp-block-template-part a[href$="/challenge"]{
  color:var(--pwl-challenge)!important;
  text-decoration-color:currentColor!important;
}
body.pwl-branding-active footer.wp-block-template-part a[href$="/explore/"],
body.pwl-branding-active footer.wp-block-template-part a[href$="/explore"]{
  color:var(--pwl-explore)!important;
  text-decoration-color:currentColor!important;
}
body.pwl-branding-active footer.wp-block-template-part a[href$="/play/"],
body.pwl-branding-active footer.wp-block-template-part a[href$="/play"]{
  color:var(--pwl-play)!important;
  text-decoration-color:currentColor!important;
}
body.pwl-branding-active footer.wp-block-template-part a[href*="/about"],
body.pwl-branding-active footer.wp-block-template-part a[href*="/contact"],
body.pwl-branding-active footer.wp-block-template-part a[href*="/privacy"],
body.pwl-branding-active footer.wp-block-template-part a[href*="/terms"]{
  color:var(--pwl-amber)!important;
  text-decoration-color:currentColor!important;
}

/* Mobile footer becomes a deliberately centred stack rather than collapsed desktop columns. */
@media(max-width:700px){
  body.pwl-branding-active footer.wp-block-template-part,
  body.pwl-branding-active footer.wp-block-template-part .wp-block-group,
  body.pwl-branding-active footer.wp-block-template-part .wp-block-columns,
  body.pwl-branding-active footer.wp-block-template-part .wp-block-column{
    text-align:center!important;
  }
  body.pwl-branding-active footer.wp-block-template-part .wp-block-columns{
    align-items:center!important;
  }
  body.pwl-branding-active footer.wp-block-template-part .wp-block-column,
  body.pwl-branding-active footer.wp-block-template-part .wp-block-group{
    align-items:center!important;
    justify-content:center!important;
  }
  body.pwl-branding-active footer.wp-block-template-part .wp-block-site-title a,
  body.pwl-branding-active footer.wp-block-template-part .pwl-brand-logo-media{
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
  }
  body.pwl-branding-active footer.wp-block-template-part ul{
    list-style:none!important;
    padding-left:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  body.pwl-branding-active footer.wp-block-template-part li{
    margin:.35rem 0!important;
    text-align:center!important;
  }
  body.pwl-branding-active footer.wp-block-template-part p,
  body.pwl-branding-active footer.wp-block-template-part h1,
  body.pwl-branding-active footer.wp-block-template-part h2,
  body.pwl-branding-active footer.wp-block-template-part h3,
  body.pwl-branding-active footer.wp-block-template-part h4,
  body.pwl-branding-active footer.wp-block-template-part h5,
  body.pwl-branding-active footer.wp-block-template-part h6{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:560px){
  body.pwl-branding-active .pwl-site-home .pwl-site-hero{
    text-align:center;
  }
  body.pwl-branding-active .pwl-site-home .pwl-site-home-finder{
    padding:.4rem!important;
  }
  body.pwl-branding-active .pwl-site-home .pwl-site-home-finder .pwl-finder--compact{
    padding:1rem!important;
  }
  body.pwl-branding-active .pwl-site-home .pwl-site-alternatives{
    flex-direction:row;
    justify-content:center;
    align-items:center;
  }
  body.pwl-branding-active .pwl-site-home .pwl-site-alternatives > span,
  body.pwl-branding-active .pwl-site-home .pwl-site-alternatives > p:first-child{
    flex-basis:100%;
  }
}

/* v0.3.7 — tighten the homepage's oversized top gap without changing other pages. */
body.pwl-branding-active.pwl-section-home .wp-block-post-content > .pwl-site-home,
body.pwl-branding-active.pwl-section-home .pwl-site-home{
  margin-block-start:0!important;
  padding-top:0!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-top:clamp(2rem,3.25vw,3.25rem)!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-top:1.6rem!important;
  }
}

/* v0.3.8 — remove the remaining Twenty Twenty-Five page-template space above the homepage hero. */
body.pwl-branding-active.pwl-section-home main.wp-block-group,
body.pwl-branding-active.pwl-section-home main.wp-block-group > .wp-block-group,
body.pwl-branding-active.pwl-section-home .wp-block-post-content{
  margin-block-start:0!important;
}
body.pwl-branding-active.pwl-section-home main.wp-block-group,
body.pwl-branding-active.pwl-section-home main.wp-block-group > .wp-block-group{
  padding-top:0!important;
}
body.pwl-branding-active.pwl-section-home .wp-block-post-content{
  padding-top:0!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-top:clamp(1.15rem,1.8vw,1.8rem)!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-top:1rem!important;
  }
}

/* v0.3.9 — restore a deliberate homepage breathing space below the header.
   Keep the Twenty Twenty-Five wrapper reset from v0.3.8, but control the gap ourselves. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-top:3.5rem!important; /* 56px at the default root size */
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-top:2rem!important; /* 32px on phones */
  }
}

/* v0.4.0 — restore homepage breathing room and simplify the five direction cards. */

/* The coloured borders already identify the five pillars; the 01–05 labels add noise. */
body.pwl-branding-active.pwl-section-home .pwl-site-pillar__number{
  display:none!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-pillar h3{
  margin-top:0!important;
}

/* Keep the controlled gap beneath the header, but give the hero more room before
   the next section and give each major homepage block a clearer rhythm. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-top:3.5rem!important;
  padding-bottom:4.75rem!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
  padding-top:4.5rem!important;
  padding-bottom:4.5rem!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
  margin-top:3.75rem!important;
  margin-bottom:3.75rem!important;
  padding-top:3.25rem!important;
  padding-bottom:3.25rem!important;
}

/* Slightly more air inside the five primary cards now that their number label is gone. */
body.pwl-branding-active.pwl-section-home .pwl-site-pillar{
  padding:1.45rem!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-top:2rem!important;
    padding-bottom:3.25rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
    padding-top:3.25rem!important;
    padding-bottom:3.25rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
    margin-top:2.5rem!important;
    margin-bottom:2.5rem!important;
    padding-top:2.25rem!important;
    padding-bottom:2.25rem!important;
  }
}

/* v0.4.1 — give the homepage a looser vertical rhythm without restoring theme-default gaps. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-bottom:6rem!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
  padding-top:5.75rem!important;
  padding-bottom:5.75rem!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
  margin-top:5rem!important;
  margin-bottom:5rem!important;
  padding-top:3.75rem!important;
  padding-bottom:3.75rem!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-bottom:4rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
    padding-top:4rem!important;
    padding-bottom:4rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
    margin-top:3.25rem!important;
    margin-bottom:3.25rem!important;
    padding-top:2.75rem!important;
    padding-bottom:2.75rem!important;
  }
}

/* v0.4.2 — use one predictable inter-section rhythm on the homepage.
   Previous versions increased section padding, which improved some gaps but not
   all because Twenty Twenty-Five's flow layout still controls sibling spacing.
   Direct-child spacing is now explicit and internal section padding is separated
   from the space between sections. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-bottom:0!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
  padding-top:0!important;
  padding-bottom:0!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:3.75rem!important;
  padding-bottom:3.75rem!important;
}
/* Override the theme's flow spacing between the four top-level homepage blocks. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > * + *{
  margin-block-start:clamp(6.5rem,7vw,8rem)!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-bottom:0!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:2.75rem!important;
    padding-bottom:2.75rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > * + *{
    margin-block-start:4.5rem!important;
  }
}

/* v0.4.3 — robust homepage vertical rhythm.
   Twenty Twenty-Five's flow-layout margins can override/collapse sibling spacing.
   Make the homepage itself a grid and let row-gap own the spacing between its
   four major direct children: hero, direction section, deeper section, principle. */
body.pwl-branding-active.pwl-section-home .pwl-site-home{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:7rem!important;
}

/* Do not combine Gutenberg flow margins with the grid gap. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* Preserve the deliberate header-to-hero space and section-internal spacing. */
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
  padding-top:3.5rem!important;
  padding-bottom:0!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section:not(.pwl-site-section--soft){
  padding-top:0!important;
  padding-bottom:0!important;
}
body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
  padding-top:3.75rem!important;
  padding-bottom:3.75rem!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home{
    row-gap:4.5rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-hero:first-child{
    padding-top:2rem!important;
  }
  body.pwl-branding-active.pwl-section-home .pwl-site-home > .pwl-site-section--soft{
    padding-top:2.75rem!important;
    padding-bottom:2.75rem!important;
  }
}

/* v0.4.4 — slightly looser homepage rhythm to match the section pages. */
body.pwl-branding-active.pwl-section-home .pwl-site-home{
  row-gap:8.75rem!important;
}

@media(max-width:700px){
  body.pwl-branding-active.pwl-section-home .pwl-site-home{
    row-gap:5.5rem!important;
  }
}


/* v0.4.5 — keep the amber header CTA readable on every pillar page.
   Section link colours must never override button text. */
body.pwl-branding-active header.wp-block-template-part .wp-block-button .wp-block-button__link,
body.pwl-branding-active header.wp-block-template-part .wp-block-button .wp-block-button__link:visited,
body.pwl-branding-active header.wp-block-template-part .wp-block-button .wp-block-button__link:hover,
body.pwl-branding-active header.wp-block-template-part .wp-block-button .wp-block-button__link:focus,
body.pwl-branding-active header.wp-block-template-part .wp-block-button .wp-block-button__link:active{
  color:var(--pwl-charcoal)!important;
  text-decoration-color:var(--pwl-charcoal)!important;
}

/* v0.4.7 — resilient primary navigation.
   Preserve the proven v0.4.5 header shell and replace only the Core Navigation
   block. Desktop uses ordinary links; mobile uses native details/summary and
   therefore has no dependency on WordPress responsive-navigation JavaScript. */
body.pwl-branding-active header.wp-block-template-part .pwl-native-primary-nav-shell{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  margin:0;
}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav{
  display:flex;
  align-items:center;
  gap:1.15rem;
  margin:0;
  padding:0;
  white-space:nowrap;
}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav a{
  display:inline-flex;
  align-items:center;
  color:var(--pwl-ivory)!important;
  font:inherit;
  font-weight:400;
  line-height:1.25;
  text-decoration:none!important;
  transition:filter .15s ease;
}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav .pwl-native-nav-do{color:var(--pwl-do)!important;}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav .pwl-native-nav-try{color:var(--pwl-try)!important;}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav .pwl-native-nav-challenge{color:var(--pwl-challenge)!important;}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav .pwl-native-nav-explore{color:var(--pwl-explore)!important;}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav .pwl-native-nav-play{color:var(--pwl-play)!important;}
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav a:hover,
body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav a:focus-visible{
  filter:brightness(1.15);
}

body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav{
  display:none;
  margin:0;
  padding:0;
}

@media(max-width:700px){
  body.pwl-branding-active header.wp-block-template-part .pwl-native-desktop-nav{
    display:none!important;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-primary-nav-shell{
    margin-left:auto;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav{
    display:block!important;
    position:relative;
    z-index:10003;
  }

  /* The existing desktop CTA is represented again inside the native panel. */
  body.pwl-branding-active header.wp-block-template-part .wp-block-buttons{
    display:none!important;
  }

  body.pwl-branding-active header.wp-block-template-part .wp-block-site-title{
    position:relative;
    z-index:10003;
  }

  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav > summary{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin:0;
    padding:8px;
    border:0;
    background:transparent;
    color:var(--pwl-ivory);
    cursor:pointer;
    list-style:none;
    box-sizing:border-box;
    position:relative;
    z-index:10004;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav > summary::-webkit-details-marker{
    display:none;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav > summary::marker{
    content:"";
  }

  body.pwl-branding-active header.wp-block-template-part .pwl-native-hamburger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:26px;
    height:24px;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-hamburger > span{
    display:block;
    width:26px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transform-origin:center;
    transition:transform .18s ease, opacity .18s ease;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav[open] .pwl-native-hamburger > span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav[open] .pwl-native-hamburger > span:nth-child(2){
    opacity:0;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-nav[open] .pwl-native-hamburger > span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel{
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    padding:7rem 1.75rem 2.5rem;
    box-sizing:border-box;
    overflow:auto;
    background:var(--pwl-charcoal)!important;
    color:var(--pwl-ivory)!important;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel nav{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1.15rem;
    width:100%;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel nav a{
    display:inline-flex;
    width:auto;
    font-size:clamp(1.7rem,7vw,2.15rem);
    font-weight:500;
    line-height:1.15;
    text-decoration:none!important;
  }
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel .pwl-native-nav-do{color:var(--pwl-do)!important;}
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel .pwl-native-nav-try{color:var(--pwl-try)!important;}
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel .pwl-native-nav-challenge{color:var(--pwl-challenge)!important;}
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel .pwl-native-nav-explore{color:var(--pwl-explore)!important;}
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-panel .pwl-native-nav-play{color:var(--pwl-play)!important;}

  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-cta,
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-cta:visited,
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-cta:hover,
  body.pwl-branding-active header.wp-block-template-part .pwl-native-mobile-cta:focus{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    margin-top:2rem;
    padding:.8rem 1.35rem;
    border:1px solid var(--pwl-amber);
    border-radius:999px;
    background:var(--pwl-amber)!important;
    color:var(--pwl-charcoal)!important;
    font-size:1rem;
    font-weight:400;
    line-height:1.2;
    text-decoration:none!important;
  }
}


/* v0.4.8 — section-hub title alignment and fully clickable cross-section cards. */

/* The five permanent hub pages use deliberately descriptive H1s. Keep those
   longer titles visually centered while leaving the editorial body copy
   left-aligned for readability. */
body.pwl-branding-active.pwl-section-hub .wp-block-post-title{
  width:min(100%,900px)!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.pwl-branding-active.pwl-section-hub .wp-block-post-content > .pwl-section-page,
body.pwl-branding-active.pwl-section-hub .pwl-section-page{
  width:min(100%,1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* "Keep exploring" cross-section cards: the whole card follows the existing
   link, and the accent reflects the section it leads to rather than the page
   the visitor is currently on. */
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink{
  --pwl-crosslink-accent:var(--pwl-section-accent);
  position:relative;
  min-width:0;
  border:1px solid var(--pwl-border)!important;
  border-top:3px solid var(--pwl-crosslink-accent)!important;
  border-radius:14px;
  padding:1rem;
  background:var(--pwl-surface)!important;
  box-shadow:0 8px 26px rgba(15,23,32,.035);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:has(a[href*="/do/"]){--pwl-crosslink-accent:var(--pwl-do);}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:has(a[href*="/try/"]){--pwl-crosslink-accent:var(--pwl-try);}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:has(a[href*="/challenge/"]){--pwl-crosslink-accent:var(--pwl-challenge);}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:has(a[href*="/explore/"]){--pwl-crosslink-accent:var(--pwl-explore);}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:has(a[href*="/play/"]){--pwl-crosslink-accent:var(--pwl-play);}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink > a:first-of-type::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:14px;
}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:hover{
  transform:translateY(-2px);
  border-color:var(--pwl-crosslink-accent)!important;
  box-shadow:0 12px 30px rgba(15,23,32,.07);
}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink > a:first-of-type{
  color:var(--pwl-crosslink-accent)!important;
  text-decoration:none;
}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink > a:first-of-type:hover{
  text-decoration:none;
}
body.pwl-branding-active .pwl-section-page .pwl-site-crosslink:focus-within{
  outline:3px solid color-mix(in srgb,var(--pwl-crosslink-accent) 72%,white);
  outline-offset:3px;
}
