/* Supplied client artwork, with live text and native editorial content. */
.wp-site-blocks>header{background:#050505}
.mw-nav{min-height:100px}
/* The approved primary logo is supplied as an outlined vector. */
.pb-client-logo{display:block;width:200px;height:auto;flex-shrink:0}
.pb-client-logo img{display:block;width:100%;height:auto;max-width:100%}
.mw-footer-brand .pb-client-logo{width:222px;margin-bottom:1.5rem}
.pb-scene-light,.pb-scene-light .pi-scene-curtain{background:#fff;color:var(--pi-forest)}
.pb-scene-light .pi-scene-media{background:#fff}
.pb-scene-light .pi-scene-media img{object-fit:cover;object-position:right bottom;width:100%;height:100%}
.pb-scene-light .pi-scene-media::after{background:linear-gradient(90deg,#fff 0%,#fffffff2 38%,#ffffffba 55%,#ffffff00 78%)}
.pb-scene-light .pi-scene-top{color:var(--pi-muted)}
.pb-scene-light .pi-scene-copy{margin-block:auto;padding-block:3rem;width:100%}
.pb-scene-light .pi-scene-copy :where(h1,h2){font-size:clamp(3.2rem,5.6vw,6rem);max-width:9.5ch;line-height:.99;letter-spacing:-.055em}
.pb-scene-light .pi-scene-copy .pi-eyebrow{color:var(--pi-forest)}
.pb-scene-light .pi-scene-description{color:var(--pi-muted);max-width:34ch}
.pb-scene-light .pi-scene-note{color:var(--pi-muted)}
.pb-scene-light .pi-scene-actions{max-width:430px;gap:.6rem 1.4rem}
.pb-scene-light .pi-hero-shop{color:var(--pi-forest);border-color:var(--pi-rule)}
.pb-scene-light .mw-primary-button{background:var(--pi-forest);border-color:var(--pi-forest);color:#fff}
.pb-scene-light .mw-primary-button:hover{background:var(--pi-deep);color:var(--pi-yellow);border-color:var(--pi-deep)}
.pb-scene-light :where(a,button):focus-visible{outline-color:var(--pi-forest)}
/* A single system for category and book heroes. */
.pb-landing-hero{position:relative;isolation:isolate;overflow:hidden;background:#13261f;color:#fff;margin-block:0!important}
.pb-landing-art{position:absolute;inset:0;margin:0!important;z-index:-1}
.pb-landing-hero .pb-landing-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.pb-category-hero .pb-landing-art img{object-position:center bottom}
/* An editor-chosen Group background replaces the starter artwork at every width; a hero left with only
   its artwork (its text moved out) is hidden too. Frontend only, so editors can still find and delete it. */
body:not(.editor-styles-wrapper) .pb-landing-hero:is([style*="background-image"],:has(.pb-landing-inner[style*="background-image"]),:not(:has(.pb-landing-inner))) .pb-landing-art{display:none!important}
.pb-landing-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071c19c9 0%,#071c1980 36%,transparent 70%)}
/* A background set on the boxed inner Group fills the whole hero (covering any outer copy) and keeps the
   readability gradient above the photo but below the copy. */
.pb-landing-hero>.pb-landing-inner[style*="background-image"]{max-width:none;margin:0!important;padding-inline:max(var(--pi-gutter),calc((100% - var(--pi-container)) / 2 + var(--pi-gutter)))}
.pb-landing-hero:has(>.pb-landing-inner[style*="background-image"])::after{z-index:0}
.pb-landing-hero>.pb-landing-inner[style*="background-image"]>*{position:relative;z-index:1}
.pb-landing-inner{display:flex;align-items:center;min-height:clamp(520px,46vw,760px);padding-block:4rem}
.pb-landing-copy{width:48%;max-width:640px}
.pb-kicker{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:650;margin:0 0 1.4rem!important}
.pb-landing-copy .pb-kicker{color:#efe097}
.pb-landing-copy h1{font-size:clamp(3rem,5.4vw,6rem);line-height:1.02;letter-spacing:-.05em;margin:0!important;font-weight:650;text-wrap:balance}
.pb-hero-description{font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.65;max-width:38ch;margin:1.5rem 0 0!important}
/* Readiness check banner: a small sentence-case meta line under the introduction (no all-caps eyebrow). */
/* The banner is hidden (hidden attribute) in the report state; the phone flex layout must not override that. */
.pb-landing-hero[hidden]{display:none!important}
.pb-assessment-hero .pb-assessment-hero-meta{font-size:.875rem;line-height:1.5;color:#dfe7dd;margin:1.25rem 0 0!important}
.pb-landing-copy .wp-block-buttons{margin-top:2rem!important;gap:1rem 1.6rem}
.pb-landing-copy .wp-block-button.mw-primary-button{background:none;border:0;padding:0}
.pb-landing-copy .wp-block-button.mw-primary-button .wp-block-button__link{background:var(--pi-yellow);border:1px solid transparent;color:var(--pi-deep)}
.pb-landing-copy .wp-block-button.mw-primary-button .wp-block-button__link:hover{background:#fff;color:var(--pi-deep)}
.pb-landing-copy .wp-block-button.pb-text-button .wp-block-button__link{background:none;border:0;border-bottom:1px solid #ffffff80;border-radius:0;color:#fff;padding:.8rem 0;font-size:.85rem}
.pb-landing-copy a:focus-visible{outline:3px solid #fff;outline-offset:5px}
.pb-highlights{background:#0b1815;color:#fafbfa;margin-block:0!important;padding-block:clamp(1.5rem,3vw,2.5rem)}
.pb-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.pb-highlight{position:relative;padding:0 1.5rem 0 3rem;border-right:1px solid #ffffff26;margin:0!important}
.pb-highlight:first-child{padding-left:2rem}
.pb-highlight:last-child{border-right:0}
.pb-highlight-number{position:absolute;left:1rem;top:.3rem;color:#b7bfae;font-size:.65rem!important;font-variant-numeric:tabular-nums}
.pb-highlight:first-child .pb-highlight-number{left:0}
.pb-highlight-title{font-size:1.15rem!important;margin:0 0 .35rem!important;letter-spacing:-.02em}
.pb-highlight-title strong{font-weight:550}
.pb-highlight p{font-size:.8rem;line-height:1.5;margin:0;color:#d6dcd1;max-width:24ch}
.pb-highlight .pb-highlight-title{color:#fff}
.pb-category-intro{padding-top:clamp(3rem,6vw,6rem);padding-bottom:2rem;margin-block:0!important}
.pb-intro-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:7%;align-items:start;border-bottom:1px solid var(--pi-rule);padding-bottom:clamp(2.5rem,5vw,5rem)}
.pb-intro-copy .pb-kicker{grid-column:1/-1;color:var(--pi-muted)}
.pb-intro-copy h2{font-size:clamp(2.3rem,3.8vw,4rem);line-height:1.08;margin:0!important;max-width:17ch}
.pb-intro-copy>p:last-child{font-size:1.1rem;line-height:1.75;margin:0!important;max-width:55ch}
.pb-catalog-editorial{padding-top:1rem}
.pb-collection-heading h2{font-size:clamp(2rem,3vw,3rem);margin-top:.65rem}
/* Book illustration has useful negative space at the left. */
.pb-book-hero{background:#023a29}
.pb-book-hero .pb-landing-art img{object-position:center}
.pb-book-hero::after{background:linear-gradient(90deg,#002e22a6,transparent 65%)}
.pb-book-hero .pb-landing-copy{width:43%}
.pb-book-hero h1{font-size:clamp(3rem,5vw,5.6rem)}
.pb-book-lead{color:#efe097;font-size:1.1rem;line-height:1.5;max-width:28ch;margin-top:1.5rem!important}
.pb-book-hero .pb-hero-description{max-width:34ch;font-size:1rem}
.pb-book-overview{background:#023a29;color:#fff;padding-block:clamp(3.5rem,7vw,7rem);margin-block:0!important;scroll-margin-top:2rem}
/* Native background-image variants need contrast where artwork sits behind copy. */
.pb-book-overview[style*="background-image"]{position:relative;isolation:isolate}
.pb-book-overview[style*="background-image"]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,46,34,.95) 0%,rgba(0,46,34,.9) 45%,rgba(0,46,34,0) 70%)}
@media(max-width:800px){.pb-book-overview[style*="background-image"]::before{background:rgba(0,46,34,.85)}}
.pb-book-overview-grid{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:3rem}
.pb-book-overview-copy .pb-kicker{color:#efe097}
.pb-book-overview h2,.pb-book-next h2{font-size:clamp(2.3rem,3.8vw,4rem);line-height:1.1;margin:0 0 1.5rem!important}
.pb-book-overview-copy>p:not(.pb-kicker){font-size:1rem;line-height:1.75;max-width:48ch;color:#e0e8df}
.pb-book-kit{margin:0!important}
.pb-book-kit img{display:block;width:100%;height:auto;aspect-ratio:1983/793;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pb-book-next{padding-block:clamp(3.5rem,7vw,7rem);margin-block:0!important}
.pb-book-next>p:not(.pb-kicker){max-width:48ch;line-height:1.7}
.pb-book-next .wp-block-buttons{margin-top:1.5rem!important}
/* Editor uses exactly the same native content; no viewport-bound image crops. */
.editor-styles-wrapper .pb-landing-hero{container-type:inline-size}
@media(max-width:1100px){
 .pb-landing-inner{min-height:560px}
 .pb-landing-copy{width:52%}
 .pb-scene-light .pi-scene-description{max-width:30ch}
}
@media(max-width:799px){
 .mw-nav{min-height:96px}
 .pb-client-logo{width:158px}
 .pb-landing-hero{display:flex;flex-direction:column;background:#132d25}
 .pb-landing-inner{order:0;min-height:0;padding-block:2.5rem 2rem}
 .pb-landing-copy,.pb-book-hero .pb-landing-copy{width:100%;max-width:600px}
 .pb-landing-copy h1,.pb-book-hero h1{font-size:clamp(2.6rem,7.5vw,4rem);max-width:15ch}
 .pb-landing-art{position:relative;inset:auto;order:1;z-index:0;aspect-ratio:16/9;width:100%;overflow:hidden}
 .pb-landing-hero .pb-landing-art img{object-fit:contain;object-position:center}
 .pb-landing-hero::after{display:none}
 .pb-landing-hero:is([style*="background-image"],:has(>.pb-landing-inner[style*="background-image"]))::after{display:block;background:#071c19a6}
 .pb-hero-description{max-width:45ch;margin-top:1rem!important}
 .pb-landing-copy .wp-block-buttons{margin-top:1.3rem!important}
 .pb-highlights{padding-block:.5rem}
 .pb-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pb-highlight,.pb-highlight:first-child{padding:1.2rem .8rem 1.2rem 2rem;border-bottom:1px solid #ffffff26}
 .pb-highlight:nth-child(2n){border-right:0;padding-left:2.7rem}
 /* Stacked highlights keep one row rhythm even where an item has editor padding of 0. */
 .pb-highlight[style]{padding-block:1.2rem!important}
 .pb-highlight:nth-child(n+3){border-bottom:0}
 .pb-highlight-number,.pb-highlight:first-child .pb-highlight-number{left:0;top:1.5rem}
 .pb-highlight:nth-child(2n) .pb-highlight-number{left:.8rem}
 .pb-intro-copy{grid-template-columns:1fr;gap:1.2rem}
 .pb-intro-copy .pb-kicker{margin-bottom:0!important}
 .pb-intro-copy>p:last-child{font-size:1rem}
 .pb-book-overview-grid{grid-template-columns:1fr;gap:2rem}
 .pb-book-hero{background:#023a29}
 .pb-scene-light .pi-scene-top{padding-top:1.2rem}
 .pb-scene-light .pi-scene-copy{margin:0;padding-top:2rem;padding-bottom:0}
 .pb-scene-light .pi-scene-copy :where(h1,h2){font-size:clamp(2.8rem,8vw,4rem);max-width:13ch}
 .pb-scene-light .pi-scene-description{max-width:44ch;font-size:.95rem}
 .pb-scene-light .pi-scene-actions{margin-top:1rem}
 .pb-scene-light .pi-scene-curtain{background:#fff}
 .pb-scene-light .pi-scene-media{top:auto;height:42%;bottom:0}
 .pb-scene-light .pi-scene-media img{object-fit:cover;object-position:right bottom}
 .pb-scene-light .pi-scene-media::after{display:none}
 .pi-hero.is-interactive:has(.pb-scene-light) .pi-hero-stage{height:720px}
 .pi-hero:not(.is-interactive) .pb-scene-light{height:720px;justify-content:flex-start}
 .pi-hero.is-interactive .pb-scene-light{justify-content:flex-start}
}
@media(max-width:420px){
 .pb-highlight-title{font-size:1rem!important}
 .pb-highlight p{font-size:.74rem}
 .pb-scene-light .pi-scene-media{height:34%}
}
@media(max-width:799px){
 .pb-scene-light .pi-scene-media img{position:absolute;right:0;max-width:none}
}
@media(max-width:420px){
 .pb-scene-light .pi-scene-media{height:40%}
}
/* The shop keeps its introduction shallow and its category links close by. */
/* Only the block margins are reset: the inline alignfull margins must stay so the inner .mw-wrap sits on the shared edges at phone widths. */
.pb-shop-banner{background:#fff;color:var(--pi-forest);margin-block:0!important;overflow:hidden}
.pb-shop-banner-inner{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;min-height:360px;gap:1rem;padding-block:clamp(2.5rem,5vw,4.5rem)}
.pb-shop-banner-copy{position:relative;z-index:1;margin:0!important}
.pb-shop-banner-copy .pb-kicker{color:var(--pi-muted);font-size:.65rem}
/* .pb-shop-banner-title: the homepage banner heading saved as an H2 (seed part=copy) keeps the H1 look. */
.pb-shop-banner-copy h1,.pb-shop-banner-copy .pb-shop-banner-title{font-family:var(--pi-display);font-weight:500;color:var(--pi-forest);text-transform:none;font-size:clamp(2.6rem,4.3vw,4.5rem);line-height:1.04;letter-spacing:-.045em;max-width:14ch;margin:0!important;text-wrap:balance}
.pb-shop-banner-copy>p:last-child{max-width:43ch;font-size:.95rem;line-height:1.65;color:var(--pi-muted);margin:1.3rem 0 0!important}
.pb-shop-banner-art{margin:0!important;min-width:0}
.pb-shop-banner-art img{display:block;width:100%;height:auto;max-height:370px;object-fit:contain;object-position:right center}
.mw-catalog.pb-shop-catalog{padding-top:0}
@media(max-width:699px){
 .pb-shop-banner-inner{grid-template-columns:1fr;gap:0;min-height:0;padding-top:2rem;padding-bottom:0}
 .pb-shop-banner-copy h1,.pb-shop-banner-copy .pb-shop-banner-title{font-size:clamp(2.5rem,8vw,3.5rem)}
 .pb-shop-banner-art{width:100%;max-width:480px;justify-self:end}
 .pb-shop-banner-art img{max-height:240px}
}

/* Reusable category-style banners keep headings editable at either semantic level. */
.pb-reusable-banner .pb-landing-copy :is(h1,h2){font-size:clamp(2.5rem,4.6vw,5rem);line-height:1.04;letter-spacing:-.045em;margin:0;font-weight:650;text-wrap:balance}
.pb-section-banner .pb-landing-inner{min-height:clamp(340px,32vw,480px);padding-block:3rem}
.pb-section-banner .pb-landing-copy h2{font-size:clamp(2.2rem,3.5vw,3.8rem)}
@media(max-width:799px){
 .pb-reusable-banner .pb-landing-copy :is(h1,h2){font-size:clamp(2.4rem,7vw,3.4rem)}
 .pb-section-banner .pb-landing-inner{min-height:0;padding-block:2.5rem 2rem}
}
