/*
Theme Name: Ekko Child
Template: ekko
Description: Gert Botha site customisations on top of Ekko. Edit here, not in the parent theme.
Version: 1.2
*/

/* ===== Design tokens (from gertbotha.com) ===== */
:root{
  --gb-paper:#F3F0E8; --gb-ivory:#F9F7F0; --gb-sage:#DEE4D8; --gb-sand:#E8E3D8;
  --gb-ink:#0A0A0A; --gb-text:#1F2422; --gb-muted:#5B625E; --gb-rule:#C9C7BB;
  --gb-teal:#344B4A; --gb-teal-dark:#2C403F; --gb-terracotta:#A6543F;
  --gb-serif:"Cormorant Garamond", Georgia, serif;
  --gb-sans:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gb-measure:44rem; --gb-gap:clamp(1.25rem,2.5vw,2rem);
  --gb-space:clamp(3.5rem,8vw,6.5rem);
}
body{background:var(--gb-paper);color:var(--gb-text)}
a:focus-visible,button:focus-visible,.wp-block-button__link:focus-visible{outline:3px solid var(--gb-terracotta);outline-offset:3px}

/* Fixed header clearance on pages without a title section */
.hide-title-section #main{padding-top:96px}
@media (max-width:991px){.hide-title-section #main{padding-top:72px}}

/* ===== Homepage sections ===== */
.gb-section{padding:var(--gb-space) 0;position:relative}
.gb-section + .gb-section{border-top:1px solid var(--gb-rule)}
.gb-tint-sage,.gb-tint-sand,.gb-newsletter{border-top:0 !important;clip-path:inset(0 -100vmax)}
.gb-tint-sage{background:var(--gb-sage);box-shadow:0 0 0 100vmax var(--gb-sage)}
.gb-tint-sand{background:var(--gb-sand);box-shadow:0 0 0 100vmax var(--gb-sand)}
.gb-tint-sage + .gb-section,.gb-tint-sand + .gb-section{border-top:0}
.gb-section p{font-size:17px;line-height:1.65;color:var(--gb-text);margin:0 0 1rem}
.gb-measure{max-width:var(--gb-measure)}
.gb-eyebrow{font-family:var(--gb-sans);font-size:13px !important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gb-terracotta) !important;margin-bottom:.9rem !important}
.gb-section-title{font-family:var(--gb-serif);font-weight:600;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.12;color:var(--gb-ink);margin:0 0 1.5rem;max-width:22ch}
.gb-themes .gb-section-title{max-width:28ch}
.gb-sub-title,.gb-sub-title-p{font-family:var(--gb-serif);font-weight:600;font-size:clamp(1.5rem,2.4vw,1.9rem) !important;line-height:1.2;color:var(--gb-ink) !important;margin:0 0 1rem}
.gb-card-title{font-family:var(--gb-serif);font-weight:600;font-size:1.45rem;line-height:1.25;color:var(--gb-ink);margin:0 0 .6rem}
h4.gb-card-title{font-size:1.3rem}
.gb-card-title a,.gb-book-title a{color:inherit;text-decoration:none}
.gb-card-title a:hover,.gb-book-title a:hover{color:var(--gb-teal);text-decoration:underline;text-underline-offset:3px}
.gb-meta{font-size:14px !important;color:var(--gb-muted) !important;margin-bottom:.5rem !important}
.gb-lead{font-size:18px !important;line-height:1.7 !important}
.gb-lead-sm{font-size:19px !important;line-height:1.6 !important;color:var(--gb-ink) !important}
.gb-emphasis{font-family:var(--gb-serif);font-size:1.35rem !important;line-height:1.4 !important;color:var(--gb-ink) !important}

/* Hero */
.gb-hero{padding-top:clamp(2rem,5vw,4rem)}
.gb-hero-title{font-family:var(--gb-serif);font-weight:600;font-size:clamp(2.6rem,5.6vw,4.5rem) !important;line-height:1.02 !important;letter-spacing:-.02em;color:var(--gb-ink);margin:0 0 1.75rem;max-width:20ch}
.gb-hero-cols{gap:clamp(2rem,5vw,4.5rem)}
.gb-hero-cols > .wp-block-column:first-child{flex-basis:62% !important}
.gb-hero-cols > .wp-block-column:last-child{flex-basis:38% !important}
.gb-hero-panel{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-radius:4px;padding:1.75rem}
.gb-panel-kicker{font-size:12px !important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gb-terracotta) !important;margin:0 0 .35rem !important}
.gb-panel-title{font-family:var(--gb-serif);font-size:1.5rem !important;font-weight:600;color:var(--gb-ink) !important;margin:0 0 1rem !important}
.gb-panel-step{border-top:1px solid var(--gb-rule);padding:.8rem 0}
.gb-panel-step p{margin:0 !important}
.gb-step-name{font-size:16px !important;color:var(--gb-teal) !important}
.gb-step-text{font-size:15px !important;line-height:1.5 !important;color:var(--gb-muted) !important}

/* Cards */
.gb-cards{gap:var(--gb-gap);margin-top:2rem}
.gb-cards > .wp-block-column{border-top:2px solid var(--gb-teal);padding-top:1.25rem}
.gb-articles .gb-cards > .wp-block-column{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-top:3px solid var(--gb-teal);padding:1.5rem}
.gb-article-card p{font-size:16px !important}
.gb-read-more a{font-weight:600;color:var(--gb-teal);text-decoration:none}
.gb-read-more a::after{content:" →"}
.gb-read-more a:hover{text-decoration:underline;text-underline-offset:3px}

/* Methodology steps */
.gb-steps{gap:var(--gb-gap);margin:2.5rem 0}
.gb-steps > .wp-block-column{border-top:2px solid var(--gb-teal);padding-top:1rem}
.gb-step-num{font-family:var(--gb-serif);font-size:1.6rem !important;color:var(--gb-terracotta) !important;margin:0 0 .25rem !important}
.gb-steps p:not(.gb-step-num){font-size:15.5px !important;line-height:1.55 !important}
.gb-pathway{margin:3rem 0 2rem;padding-top:2.5rem;border-top:1px solid var(--gb-rule)}

/* Video */
.gb-video-cols{gap:clamp(2rem,4vw,3.5rem);align-items:center}
.gb-video{position:relative;aspect-ratio:16/9;width:100%;background:var(--gb-ink);border-radius:4px;overflow:hidden}
.gb-video iframe,.gb-video-play{position:absolute;inset:0;width:100%;height:100%;border:0}
.gb-video-play{padding:0;background:none;cursor:pointer;display:block}
.gb-video-play img{width:100%;height:100%;object-fit:cover;display:block}
.gb-video-icon{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--gb-teal);box-shadow:0 4px 18px rgba(0,0,0,.3)}
.gb-video-icon::after{content:"";position:absolute;left:31px;top:24px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fff}
.gb-video-play:hover .gb-video-icon{background:var(--gb-terracotta)}
.gb-video-note{position:absolute;left:0;right:0;top:100%;margin:0 !important;padding:.5rem 0 0;font-size:13px !important;color:var(--gb-muted) !important}
.gb-video{overflow:visible;margin-bottom:2.25rem}
.gb-video-play,.gb-video iframe{border-radius:4px;overflow:hidden}

/* Books */
.gb-book-grid{gap:var(--gb-gap);margin:2.5rem 0}
.gb-cover-ph{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:2/3;padding:1.1rem;background:var(--gb-teal);color:#fff !important;text-decoration:none !important;border-radius:3px;margin-bottom:1rem;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.gb-ph-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.gb-ph-title{font-family:var(--gb-serif);font-size:1.6rem;line-height:1.15;font-weight:600}
.gb-book-title{font-family:var(--gb-serif);font-size:1.4rem;font-weight:600;margin:0 0 .4rem}
.gb-book-desc{font-size:15.5px !important;line-height:1.55 !important}
.gb-badge{display:inline-block;font-size:12px !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gb-terracotta) !important;border:1px solid currentColor;border-radius:2px;padding:.15rem .5rem;margin:0 !important}
.gb-architecture{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-radius:4px;padding:clamp(1.5rem,3vw,2.5rem);margin:1rem 0 2rem}
.gb-arch-row{gap:var(--gb-gap);margin-top:1.5rem}
.gb-arch-row > .wp-block-column{border-left:2px solid var(--gb-terracotta);padding-left:1rem}
.gb-arch-row p{margin:0 !important}
.gb-arch-text{font-size:15px !important;color:var(--gb-muted) !important}

/* About */
.gb-about-cols{gap:clamp(2rem,5vw,4rem)}

/* Newsletter band */
.gb-newsletter{background:var(--gb-teal);box-shadow:0 0 0 100vmax var(--gb-teal);color:#fff}
.gb-newsletter .gb-section-title,.gb-newsletter p{color:#fff !important}
.gb-newsletter .gb-eyebrow{color:#E9C9BE !important}
.gb-newsletter .wp-block-button__link{background:#fff !important;color:var(--gb-teal) !important}

/* Buttons */
.gb-section .wp-block-buttons{margin-top:1.75rem;gap:.75rem}
.gb-section .wp-block-button__link{font-family:var(--gb-sans);font-weight:600;font-size:15px;border-radius:999px;padding:.8rem 1.5rem;background:var(--gb-teal);color:#fff;border:2px solid var(--gb-teal);text-decoration:none}
.gb-section .wp-block-button__link:hover{background:var(--gb-teal-dark);border-color:var(--gb-teal-dark);color:#fff}
.gb-section .is-style-outline .wp-block-button__link{background:transparent;color:var(--gb-teal)}
.gb-section .is-style-outline .wp-block-button__link:hover{background:var(--gb-teal);color:#fff}


/* Book covers */
.gb-cover{display:block;margin-bottom:1rem;border-radius:3px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.16);transition:transform .2s ease}
.gb-cover img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.gb-cover:hover{transform:translateY(-3px)}

/* ===== Refinements (v1.2) ===== */
.gb-section-title{max-width:24ch}
.gb-themes .gb-section-title{max-width:30ch}
.gb-practice .gb-section-title{max-width:26ch}
.gb-hero .gb-meta{margin-top:1.5rem !important}
.gb-hero .wp-block-buttons{margin-top:1rem}

/* Five-movement panel: a quiet overview, not a second headline */
.gb-hero-cols > .wp-block-column:last-child{padding-top:3.25rem}
.gb-hero-panel{background:transparent;border:0;border-left:1px solid var(--gb-rule);border-radius:0;padding:.25rem 0 .25rem 1.75rem;counter-reset:gbmv}
.gb-panel-kicker{font-size:11.5px !important;margin-bottom:.25rem !important}
.gb-panel-title{font-size:1.2rem !important;color:var(--gb-muted) !important;font-style:italic;margin-bottom:.75rem !important}
.gb-panel-step{border-top:0;padding:.55rem 0;counter-increment:gbmv}
.gb-panel-step .gb-step-name{font-size:15px !important;color:var(--gb-ink) !important}
.gb-panel-step .gb-step-name::before{content:"0" counter(gbmv);display:inline-block;min-width:1.9rem;font-family:var(--gb-serif);font-size:1.05rem;color:var(--gb-terracotta)}
.gb-panel-step .gb-step-text{font-size:14px !important;padding-left:1.9rem}

/* Video section */
.gb-video-section .gb-section-title{margin-bottom:2rem}
.gb-video-cols{align-items:flex-start}

/* Scroll-to-top control */
.back-to-top:focus-visible{outline:3px solid var(--gb-terracotta);outline-offset:3px}

/* ===== Tablet ===== */
@media (min-width:782px) and (max-width:1100px){
  .gb-section .wp-block-columns.gb-hero-cols,.gb-section .wp-block-columns.gb-video-cols,.gb-section .wp-block-columns.gb-cards-4,.gb-section .wp-block-columns.gb-steps{flex-wrap:wrap !important}
  .gb-hero-cols > .wp-block-column:nth-child(n),.gb-video-cols > .wp-block-column:nth-child(n){flex-basis:100% !important}
  .gb-hero-cols > .wp-block-column:last-child{padding-top:0}
  .gb-hero-panel{max-width:40rem;margin-top:.5rem}
  .gb-cards-4 > .wp-block-column:nth-child(n){flex-basis:calc(50% - var(--gb-gap)) !important;flex-grow:0}
  .gb-steps > .wp-block-column:nth-child(n){flex-basis:calc(33.333% - var(--gb-gap)) !important;flex-grow:0}
  .gb-video-media{order:-1;max-width:40rem}
  .gb-video-text{max-width:var(--gb-measure)}
  .gb-hero .gb-lead{max-width:42rem}
}

/* Footer spacing (all sizes) */
.footer-bar.no-upper-footer{margin-top:0;margin-bottom:0}
.upper-footer{padding-top:2.5rem}

/* ===== Mobile ===== */
@media (max-width:781px){
  .gb-section{padding:3.25rem 0}
  .gb-hero{padding-top:1.5rem}
  .gb-hero-title{font-size:2.2rem !important;line-height:1.08 !important;letter-spacing:-.01em;margin-bottom:1.25rem}
  .gb-lead{font-size:17px !important;line-height:1.75 !important}
  .gb-hero-cols > .wp-block-column{flex-basis:100% !important}
  .gb-hero-cols > .wp-block-column:last-child{padding-top:0}
  .gb-hero-panel{border-left:0;border-top:1px solid var(--gb-rule);padding:1.75rem 0 0;margin-top:.5rem}
  .gb-section-title{font-size:1.95rem;line-height:1.15;margin-bottom:1.25rem}
  .gb-section p{line-height:1.7}
  .gb-video-media{order:-1;margin-bottom:1.75rem}
  .gb-video-section .gb-section-title{margin-bottom:1.25rem}
  .gb-video-icon{width:64px;height:64px;margin:-32px 0 0 -32px}
  .gb-video-icon::after{left:26px;top:20px;border-width:12px 0 12px 19px}
  .gb-book-grid > .wp-block-column{text-align:center;margin-bottom:2.25rem}
  .gb-book-grid .gb-cover{max-width:220px;margin:0 auto 1.1rem}
  .gb-book-grid .gb-book-desc{max-width:30ch;margin-left:auto !important;margin-right:auto !important}
  .gb-steps > .wp-block-column{padding-top:.85rem}
  .gb-arch-row > .wp-block-column{padding-bottom:.25rem}
  .back-to-top{transform:scale(.8);transform-origin:bottom right;bottom:12px !important}
  .back-to-top.active{right:12px !important}
  .upper-footer{padding:1.5rem 0 .5rem !important}
  .footer-bar.no-upper-footer{margin:0 !important;padding:0 !important;border:0 !important}
  .footer-nav-menu{margin-bottom:0 !important}
  .navbar-footer{columns:2;column-gap:1.5rem}
  .navbar-footer li{break-inside:avoid}
  .lower-footer{padding-bottom:4rem !important}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;transition:none !important}.gb-cover:hover{transform:none}}


/* ===== Inner pages (v1.3) ===== */
.gb-page-hero{padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.gb-page-hero .gb-hero-title{max-width:22ch}
.gb-callout{margin-top:2.75rem;padding:clamp(1.5rem,3vw,2.25rem);background:var(--gb-ivory);border:1px solid var(--gb-rule);border-left:3px solid var(--gb-terracotta);border-radius:4px}
.gb-callout .gb-sub-title{margin-bottom:.75rem}
.gb-callout p:last-child{margin-bottom:0}
.gb-aims-list{margin:2rem 0 1.5rem}
.gb-aims-list > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:var(--gb-gap)}
.gb-aim{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-top:3px solid var(--gb-teal);border-radius:4px;padding:1.25rem 1.35rem}
.gb-aim p{margin:0 !important}
.gb-aim-title{font-family:var(--gb-serif);font-size:1.3rem !important;line-height:1.25 !important;color:var(--gb-ink) !important;margin-bottom:.5rem !important}
.gb-aim-title strong{font-weight:600}
.gb-aim .gb-aim-title{margin-bottom:.6rem !important}
.gb-aim-text{font-size:15.5px !important;line-height:1.55 !important}
.gb-step-q{font-family:var(--gb-serif);font-size:1.15rem !important;line-height:1.35 !important;font-style:italic;color:var(--gb-text) !important}
.gb-services .gb-cards + .gb-cards{margin-top:2.25rem}
.gb-services .gb-cards p{font-size:15.5px !important;line-height:1.55 !important}
.gb-why .gb-about-cols,.gb-engage .gb-about-cols{gap:clamp(2rem,5vw,4rem)}


/* Homepage Practice two-column treatment (proposal) */
.gb-practice-cols{gap:clamp(2rem,5vw,4.5rem)}
.gb-practice-cols > .wp-block-column:first-child{flex-basis:56% !important}
.gb-practice-cols > .wp-block-column:last-child{flex-basis:44% !important}
.gb-practice-2col .gb-section-title{max-width:20ch}
.gb-offer{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-top:3px solid var(--gb-teal);border-radius:4px;padding:1.6rem 1.75rem 1.25rem}
.gb-offer-item{border-top:1px solid var(--gb-rule);padding:.95rem 0}
.gb-offer-item p{margin:0 !important}
.gb-offer .gb-offer-title{font-family:var(--gb-serif);font-size:1.25rem !important;line-height:1.25 !important;color:var(--gb-ink) !important;margin-bottom:.3rem !important}
.gb-offer-title strong{font-weight:600}
.gb-offer-text{font-size:15px !important;line-height:1.5 !important;color:var(--gb-muted) !important}
.gb-offer .gb-read-more{margin:.6rem 0 0 !important}
@media (min-width:782px) and (max-width:1100px){.gb-section .wp-block-columns.gb-practice-cols{flex-wrap:wrap !important}.gb-practice-cols > .wp-block-column:nth-child(n){flex-basis:100% !important}.gb-offer{max-width:40rem}}


/* Book covers as native Image blocks */
.gb-cover-img{margin:0 0 1rem !important}
.gb-cover-img a{display:block;border-radius:3px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.16);transition:transform .2s ease}
.gb-cover-img img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.gb-cover-img a:hover{transform:translateY(-3px)}
@media (max-width:781px){.gb-book-grid .gb-cover-img{max-width:220px;margin:0 auto 1.1rem !important}}
@media (prefers-reduced-motion:reduce){.gb-cover-img a:hover{transform:none}}


/* ===== Methodology page (v1.4) ===== */
.gb-section[id],.gb-section [id]{scroll-margin-top:110px}
.gb-toc{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--gb-rule);max-width:52rem}
.gb-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.gb-toc-list li{margin:0}
.gb-toc-list a{font-weight:600;color:var(--gb-teal);text-decoration:none;font-size:15px}
.gb-toc-list a:hover{text-decoration:underline;text-underline-offset:3px}
.gb-sequence{font-family:var(--gb-serif);font-size:clamp(1.3rem,2.4vw,1.7rem) !important;color:var(--gb-teal) !important;margin:1rem 0 1.5rem !important}
.gb-wide-title{max-width:30ch !important}
.gb-caps{text-transform:uppercase;letter-spacing:.06em;font-family:var(--gb-sans) !important;font-size:1rem !important;font-weight:700 !important;color:var(--gb-teal) !important}
.gb-pairs{margin-top:2.25rem}
.gb-pairs > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--gb-gap)}
.gb-pair{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-radius:4px;padding:1.2rem 1.3rem}
.gb-pair p{margin:0 0 .6rem !important}
.gb-pair-label{font-size:11.5px !important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gb-muted) !important;margin:0 0 .25rem !important}
.gb-pair-label-also{color:var(--gb-terracotta) !important}
.gb-pair-not{color:var(--gb-muted) !important;font-size:15.5px !important}
.gb-pair-also{font-family:var(--gb-serif);font-size:1.2rem !important;line-height:1.35 !important;color:var(--gb-ink) !important;margin-bottom:0 !important}
.gb-movement-cols{gap:clamp(2rem,5vw,4.5rem)}
.gb-movement-cols > .wp-block-column:first-child{flex-basis:32% !important}
.gb-movement-cols > .wp-block-column:last-child{flex-basis:68% !important}
.gb-step-num-lg{font-size:2.6rem !important;line-height:1 !important;margin-bottom:.35rem !important}
.gb-movement-title{font-family:var(--gb-serif);font-weight:600;font-size:clamp(2rem,3.4vw,2.6rem);line-height:1.1;margin:0 0 .75rem;color:var(--gb-ink)}
.gb-movement-q{font-family:var(--gb-serif);font-style:italic;font-size:1.35rem !important;line-height:1.35 !important;color:var(--gb-teal) !important}
.gb-movement-meta{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--gb-rule)}
.gb-meta-cols{gap:var(--gb-gap)}
.gb-movement-prog{font-family:var(--gb-serif);font-size:1.15rem !important;line-height:1.4 !important;color:var(--gb-ink) !important}
.gb-callout-title{margin-bottom:.5rem !important;color:var(--gb-ink) !important}
.gb-movement .gb-callout{margin:1.5rem 0}
.gb-tint-ivory-band{background:var(--gb-ivory);box-shadow:0 0 0 100vmax var(--gb-ivory);clip-path:inset(0 -100vmax)}
.gb-suited{font-size:15px !important;color:var(--gb-muted) !important}
.gb-transition{gap:0 !important;margin:2.25rem 0}
.gb-transition > .wp-block-column{background:var(--gb-ivory);border:1px solid var(--gb-rule);padding:1.25rem 1.4rem;position:relative}
.gb-transition > .wp-block-column:nth-child(2){background:var(--gb-teal);border-color:var(--gb-teal);display:flex;align-items:center;justify-content:center;text-align:center}
.gb-transition > .wp-block-column:nth-child(2) .gb-tr-title{color:#fff !important}
.gb-tr-title{font-family:var(--gb-serif);font-weight:600;font-size:1.3rem !important;color:var(--gb-ink) !important;margin-bottom:.5rem !important}
.gb-tr-list{margin:0;padding-left:1.1rem;font-size:15px;color:var(--gb-text)}
.gb-grid-cards{margin:2rem 0 1.5rem}
.gb-grid-cards > .wp-block-group__inner-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--gb-gap)}
.gb-grid-cards .gb-card-title{font-size:1.3rem;margin-bottom:.4rem}
.gb-compare{gap:var(--gb-gap);margin-top:2rem}
.gb-compare > .wp-block-column{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-top:3px solid var(--gb-teal);border-radius:4px;padding:1.4rem 1.6rem}
.gb-compare > .wp-block-column:last-child{border-top-color:var(--gb-terracotta)}
.gb-check-list,.gb-not-list{list-style:none;margin:0;padding:0}
.gb-check-list li{padding:.35rem 0 .35rem 1.6rem;position:relative;border-bottom:1px solid var(--gb-rule);font-size:16px}
.gb-check-list li:last-child{border-bottom:0}
.gb-check-list li::before{content:"";position:absolute;left:.2rem;top:.85rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--gb-teal)}
.gb-check-list-alt li::before{background:var(--gb-terracotta)}
.gb-not-list{margin:1.5rem 0}
.gb-not-list li{padding:.4rem 0 .4rem 1.8rem;position:relative;font-size:17px}
.gb-not-list li::before{content:"\2715";position:absolute;left:0;color:var(--gb-terracotta);font-weight:700}
@media (max-width:781px){
  .gb-movement-cols > .wp-block-column:nth-child(n){flex-basis:100% !important}
  .gb-transition > .wp-block-column:nth-child(2){padding:.9rem}
  .gb-toc-list{gap:.4rem 1.1rem}
}
@media (min-width:782px) and (max-width:1100px){
  .gb-section .wp-block-columns.gb-movement-cols{flex-wrap:wrap !important}
  .gb-movement-cols > .wp-block-column:nth-child(n){flex-basis:100% !important}
}

.gb-movement h3.gb-movement-title{font-size:clamp(2rem,3.4vw,2.6rem) !important;line-height:1.1 !important}

/* Open mobile/tablet menu: show all items without an inner scrollbar */
@media (max-width:1100px){.navbar-collapse.in,.navbar-collapse.in .navbar-nav{max-height:none !important;overflow:visible !important}}

/* ===== Books (v1.5) ===== */
.gb-books-list > .wp-block-column{text-align:left}
.gb-books-list .gb-cover-img{max-width:none;margin:0 0 1.25rem !important}
.gb-books-list .gb-book-desc{max-width:none;margin-left:0 !important;margin-right:0 !important}
.gb-book-sub{font-size:15px !important;line-height:1.45 !important;color:var(--gb-muted) !important;margin:0 0 .9rem !important}
.gb-status{font-size:13px !important;color:var(--gb-muted) !important;margin:.25rem 0 .5rem !important}
.gb-books-list .gb-read-more{margin:0 !important}
.gb-question-cols{gap:0 !important;margin-top:1rem}
.gb-question-cols > .wp-block-column{padding:0 1.5rem;border-left:1px solid var(--gb-rule)}
.gb-question-cols > .wp-block-column:first-child{padding-left:0;border-left:0}
.gb-question-cols .gb-eyebrow{font-size:12px !important;margin-bottom:.5rem !important}
.gb-question-cols p{font-size:15.5px !important;line-height:1.55 !important}
.gb-flow{margin-top:2rem !important;padding-top:1.25rem;border-top:1px solid var(--gb-rule);font-size:15px !important;line-height:1.7 !important}
.gb-flow strong{color:var(--gb-ink)}
.gb-flow-sub{font-size:14.5px !important;color:var(--gb-muted) !important}
.gb-map-cards .wp-block-group.gb-map-card{background:var(--gb-ivory);border:1px solid var(--gb-rule);padding:1.25rem 1.25rem 1rem}
.gb-map-card p{font-size:15px !important;color:var(--gb-muted) !important;margin:0 !important}
.gb-back a{font-size:14px;font-weight:600;color:var(--gb-teal);text-decoration:none}
.gb-back a::before{content:"← "}
.gb-back{margin:0 0 2rem !important;padding-bottom:1rem;border-bottom:1px solid var(--gb-rule)}
.gb-book-hero{gap:clamp(2rem,5vw,4.5rem) !important;align-items:flex-start}
.gb-book-hero .gb-cover-img a{pointer-events:none}
.gb-book-hero .gb-cover-img figure,.gb-book-hero .gb-cover-img img{box-shadow:0 10px 28px rgba(0,0,0,.18);border-radius:3px}
.gb-book-h1{font-family:var(--gb-serif);font-weight:600;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;color:var(--gb-ink);margin:0 0 .75rem}
.gb-book-hero .gb-book-sub{font-size:18px !important;color:var(--gb-text) !important}
.gb-tagline{color:var(--gb-terracotta) !important;font-size:16px !important;margin:0 0 1.5rem !important}
.gb-book-hero .wp-block-separator{border:0;border-top:1px solid var(--gb-rule);margin:0 0 1.75rem;opacity:1}
.gb-heart-q{border:0 !important;padding:0 !important;margin:0 !important;max-width:46rem}
.gb-heart-q p{font-family:var(--gb-serif) !important;font-weight:600;font-size:clamp(1.6rem,3vw,2.3rem) !important;line-height:1.2 !important;color:var(--gb-ink) !important;font-style:normal !important}
.gb-toc-cols{gap:var(--gb-gap) clamp(2rem,5vw,4rem) !important}
.gb-toc-part{font-family:var(--gb-serif);font-weight:700;font-size:1.15rem !important;letter-spacing:.01em;color:var(--gb-ink);margin:1.25rem 0 .4rem !important;padding-bottom:.4rem;border-bottom:1px solid var(--gb-rule)}
.gb-section p.gb-toc-ch{font-size:15px;margin:0 0 .35rem}
.gb-section p.gb-toc-front{font-size:14.5px;color:var(--gb-muted);margin:.9rem 0 .35rem}
.gb-section p.gb-toc-interlude{font-size:14.5px;font-style:italic;color:var(--gb-muted);margin:.5rem 0 .35rem}
.gb-dash-list{list-style:none;margin:0;padding:0;max-width:var(--gb-measure)}
.gb-dash-list li{position:relative;padding:0 0 0 2.4rem;margin:0 0 1rem;font-size:17px;line-height:1.6}
.gb-dash-list li::before{content:"";position:absolute;left:0;top:.8em;width:1.4rem;border-top:1px solid var(--gb-terracotta)}
.gb-related .wp-block-column{border-top:1px solid var(--gb-rule);padding-top:1.1rem;max-width:24rem}
.gb-related .gb-eyebrow{font-size:12px !important}
.gb-related p{font-size:15.5px !important}
@media (max-width:781px){
 .gb-question-cols > .wp-block-column:nth-child(n){flex-basis:100% !important;padding:1rem 0;border-left:0;border-top:1px solid var(--gb-rule)}
 .gb-question-cols > .wp-block-column:first-child{border-top:0}
 .gb-section .wp-block-columns.gb-books-list{flex-wrap:wrap !important}
 .gb-section .wp-block-columns.gb-books-list > .wp-block-column:nth-child(n){flex-basis:100% !important}
 .gb-books-list .gb-cover-img{max-width:240px}
 .gb-book-hero .gb-cover-img{max-width:240px}
 .gb-related .wp-block-column{max-width:none}
}
@media (min-width:782px) and (max-width:1100px){
 .gb-section .wp-block-columns.gb-books-list{flex-wrap:wrap !important}
 .gb-section .wp-block-columns.gb-books-list > .wp-block-column:nth-child(n){flex-basis:calc(50% - var(--gb-gap)) !important;flex-grow:0}
 .gb-section .wp-block-columns.gb-question-cols{flex-wrap:wrap !important}
 .gb-section .wp-block-columns.gb-question-cols > .wp-block-column:nth-child(n){flex-basis:50% !important;padding:1rem 1.5rem 1rem 0;border-left:0}
}

.gb-section h2.gb-book-title{font-family:var(--gb-serif);font-size:1.65rem !important;line-height:1.2 !important;font-weight:600;margin:0 0 .35rem !important;color:var(--gb-ink)}
.gb-section h2.gb-book-title a{color:var(--gb-ink) !important}
.gb-books-list > .wp-block-column{margin-bottom:0 !important}
.gb-section h3.gb-toc-part{font-family:var(--gb-serif);font-size:1.15rem !important;line-height:1.3 !important}

.gb-section .wp-block-quote.gb-heart-q,.gb-section blockquote.gb-heart-q{background:none !important;box-shadow:none !important;border:0 !important;padding:0 !important;margin:0 !important;border-radius:0 !important}
.gb-section .wp-block-quote.gb-heart-q::before,.gb-section .wp-block-quote.gb-heart-q::after{display:none !important;content:none !important}
.gb-section p.gb-toc-ch,.gb-section p.gb-toc-front,.gb-section p.gb-toc-interlude{margin-bottom:.3rem !important;line-height:1.5 !important}
.gb-section h3.gb-toc-part{font-weight:700 !important;color:var(--gb-ink) !important}
.gb-tint-sand .wp-block-buttons + p.gb-meta{margin-top:1.25rem !important}

.gb-section .wp-block-quote.gb-heart-q p{padding:0 !important;margin:0 !important}

/* ===== About, Career Record, Contact (v1.6) ===== */
.gb-intro-rule{border-left:2px solid var(--gb-terracotta);padding-left:1.5rem;max-width:var(--gb-measure);margin:1.5rem 0 0}
.gb-intro-rule p{color:var(--gb-text)}
.gb-section p.gb-pull{font-family:var(--gb-serif);font-size:clamp(1.4rem,2.6vw,1.85rem) !important;line-height:1.3 !important;color:var(--gb-ink);max-width:36rem;margin:2.5rem 0 0 !important}
.gb-lines{margin:1.5rem 0 1.75rem;padding:1.25rem 0;border-top:1px solid var(--gb-rule);border-bottom:1px solid var(--gb-rule);max-width:var(--gb-measure)}
.gb-section .gb-lines p{font-family:var(--gb-serif);font-size:1.3rem;line-height:1.35;color:var(--gb-ink);margin:0 0 .4rem}
.gb-section .gb-lines p:last-child{margin-bottom:0}
.gb-section p.gb-question-lead{font-family:var(--gb-serif);font-size:clamp(1.3rem,2.4vw,1.65rem) !important;line-height:1.3 !important;color:var(--gb-teal) !important;max-width:40rem}
.gb-grid-cards .gb-card{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-radius:3px;padding:1.4rem 1.4rem 1.1rem}
.gb-grid-cards .gb-card p{font-size:15.5px !important;line-height:1.6 !important}
.gb-grid-2 > .wp-block-group__inner-container{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr)) !important}
.gb-spectrum .gb-card{border-top:3px solid var(--gb-teal)}
.gb-spectrum h3.gb-card-title{font-family:var(--gb-sans) !important;font-size:14px !important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gb-teal) !important}
.gb-moves .gb-card{text-align:left;padding:1.1rem}
.gb-section p.gb-num{font-family:var(--gb-sans);font-size:12px !important;font-weight:700;letter-spacing:.1em;color:var(--gb-terracotta) !important;margin:0 0 .3rem !important}
.gb-moves h3.gb-card-title{margin:0 !important;font-size:1.25rem !important}
.gb-qlist .gb-card p{font-family:var(--gb-serif);font-size:1.25rem !important;line-height:1.35 !important;color:var(--gb-ink) !important;margin:0 !important}
/* Career record */
.gb-cr-entry{border-top:1px solid var(--gb-rule);padding:1.6rem 0 .6rem;margin:0 !important}
.gb-cr-entry:last-child{border-bottom:1px solid var(--gb-rule)}
.gb-cr-entry .wp-block-columns{margin:0 !important;gap:var(--gb-gap)}
.gb-section p.gb-cr-date{font-family:var(--gb-serif);font-size:1.35rem !important;line-height:1.2 !important;color:var(--gb-teal) !important;margin:0 0 .5rem !important;font-weight:600}
.gb-cr-entry h3{font-family:var(--gb-serif);font-weight:600;font-size:1.45rem !important;line-height:1.2 !important;color:var(--gb-ink);margin:0 0 .25rem !important}
.gb-section p.gb-cr-org{font-size:15px !important;font-weight:600;color:var(--gb-muted) !important;margin:0 0 .9rem !important;letter-spacing:.01em}
.gb-section p.gb-cr-record{font-size:14.5px !important;line-height:1.6 !important;color:var(--gb-muted) !important;padding-left:.9rem;border-left:2px solid var(--gb-rule)}
.gb-section p.gb-cr-qual{font-family:var(--gb-serif);font-size:1.35rem !important;font-weight:600;color:var(--gb-ink) !important;margin:0 0 .2rem !important}
.gb-cr-entry .wp-block-column > *:last-child{margin-bottom:1rem !important}
/* Contact form (Contact Form 7) */
.gb-form-card{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-radius:4px;padding:clamp(1.25rem,3vw,2rem)}
.gb-form-card .wpcf7 p{margin:0 0 1rem !important;font-size:15px !important}
.gb-form-card .wpcf7 label{display:block;font-size:14px;font-weight:600;color:var(--gb-ink)}
.gb-form-card .wpcf7 .gb-req{color:var(--gb-terracotta)}
.gb-form-card .wpcf7 input[type=text],.gb-form-card .wpcf7 input[type=email],.gb-form-card .wpcf7 select,.gb-form-card .wpcf7 textarea{display:block;width:100%;margin-top:.35rem;padding:.7rem .8rem;font-family:var(--gb-sans);font-size:16px;color:var(--gb-text);background:#fff;border:1px solid var(--gb-rule);border-radius:3px;box-shadow:none;height:auto}
.gb-form-card .wpcf7 textarea{min-height:9rem;resize:vertical}
.gb-form-card .wpcf7 input:focus,.gb-form-card .wpcf7 select:focus,.gb-form-card .wpcf7 textarea:focus{outline:2px solid var(--gb-teal);outline-offset:1px;border-color:var(--gb-teal)}
.gb-form-card .gb-two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.gb-form-card .wpcf7-list-item{margin:0}
.gb-form-card .wpcf7-list-item label{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:14.5px;line-height:1.5;color:var(--gb-text)}
.gb-form-card .wpcf7-list-item input{margin-top:.25rem;flex:none;width:1rem;height:1rem;accent-color:var(--gb-teal)}
.gb-form-card .gb-privacy{font-size:14px !important}
.gb-form-card .gb-privacy a{color:var(--gb-teal);font-weight:600}
.gb-form-card .wpcf7-submit{font-family:var(--gb-sans);font-weight:600;font-size:15px;border-radius:999px;padding:.8rem 1.6rem;background:var(--gb-teal);color:#fff;border:2px solid var(--gb-teal);cursor:pointer;height:auto;line-height:1.2}
.gb-form-card .wpcf7-submit:hover{background:var(--gb-teal-dark)}
.gb-form-card .wpcf7-not-valid-tip{font-size:13px;color:#9B2C1F;margin-top:.3rem}
.gb-form-card .wpcf7-response-output{margin:1rem 0 0 !important;padding:.9rem 1rem !important;border-radius:3px;font-size:15px}
.gb-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
@media (max-width:781px){
 .gb-form-card .gb-two{grid-template-columns:1fr}
 .gb-cr-entry .wp-block-columns{flex-wrap:wrap !important}
 .gb-cr-entry .wp-block-column:nth-child(n){flex-basis:100% !important}
 .gb-grid-2 > .wp-block-group__inner-container{grid-template-columns:1fr !important}
}

.gb-grid-cards.gb-grid-2 > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.gb-grid-cards.gb-spectrum > .wp-block-group__inner-container{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.gb-grid-cards.gb-moves > .wp-block-group__inner-container{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
.gb-lines + p.gb-flow{border-top:0;padding-top:0}
@media (max-width:1100px){.gb-grid-cards.gb-spectrum > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.gb-grid-cards.gb-moves > .wp-block-group__inner-container{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:781px){.gb-grid-cards.gb-grid-2 > .wp-block-group__inner-container,.gb-grid-cards.gb-spectrum > .wp-block-group__inner-container{grid-template-columns:1fr !important}.gb-grid-cards.gb-moves > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

.gb-section p.gb-cr-date{font-variant-numeric:lining-nums tabular-nums}
.gb-section p.gb-back-bottom{margin:1.5rem 0 0 !important;border-bottom:0;padding:0}

.gb-form-card .wpcf7 label br{display:none}
.gb-form-card .wpcf7 input[type=text],.gb-form-card .wpcf7 input[type=email],.gb-form-card .wpcf7 select,.gb-form-card .wpcf7 textarea{height:auto !important;min-height:0;padding:.7rem .85rem !important;font-weight:400 !important;font-size:16px !important;line-height:1.4 !important;background-color:#fff !important;margin:.4rem 0 0 !important;border:1px solid var(--gb-rule) !important}
.gb-form-card .wpcf7 textarea{min-height:9rem !important}
.gb-form-card .wpcf7 ::placeholder{color:#8A8F8B !important;font-weight:400 !important;opacity:1}
.gb-form-card .wpcf7 p{margin-bottom:1.1rem !important}
.gb-form-card .wpcf7-list-item{margin:0 !important}
.gb-form-card .wpcf7-acceptance label,.gb-form-card .wpcf7-checkbox label{padding:0 !important}

.gb-form-card .wpcf7 input.wpcf7-submit{display:inline-block !important;width:auto !important;height:auto !important;min-height:0 !important;padding:.85rem 1.75rem !important;line-height:1.2 !important;font-size:15px !important;border-radius:999px !important;background:var(--gb-teal) !important;border:2px solid var(--gb-teal) !important;color:#fff !important;margin:0 !important}
.gb-form-card .wpcf7 input.wpcf7-submit:hover{background:var(--gb-teal-dark) !important;border-color:var(--gb-teal-dark) !important}
.gb-form-card .wpcf7-spinner{vertical-align:middle}

.gb-section p.gb-pull{margin-bottom:1.5rem !important}

.gb-form-card .wpcf7 .wpcf7-not-valid-tip{position:static !important;display:block !important;width:auto !important;height:auto !important;background:none !important;box-shadow:none !important;border:0 !important;padding:0 !important;margin:.35rem 0 0 !important;font-size:13.5px !important;font-weight:600;color:#9B2C1F !important;line-height:1.4 !important}
.gb-form-card .wpcf7 .wpcf7-not-valid-tip::before,.gb-form-card .wpcf7 .wpcf7-not-valid-tip::after{display:none !important;content:none !important}
.gb-form-card .wpcf7 .wpcf7-not-valid{border-color:#9B2C1F !important}

/* ===== Article template (v1.7) ===== */
.gb-article-page{background:var(--gb-paper)}
.gb-article-col{max-width:44rem;margin-left:auto;margin-right:auto}
.gb-article-head{background:var(--gb-sage);padding:clamp(3rem,7vw,5rem) 0 clamp(2.5rem,5vw,3.5rem);margin-bottom:clamp(2rem,5vw,3rem)}
.gb-article-cat{font-family:var(--gb-sans);font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--gb-terracotta);margin:0 0 1rem}
.gb-article-title{font-family:var(--gb-serif);font-weight:600;font-size:clamp(2rem,4.2vw,3rem);line-height:1.12;color:var(--gb-ink);margin:0 0 1.1rem}
.gb-article-standfirst{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--gb-text);margin:0 0 1.5rem}
.gb-article-byline{font-size:14px;color:var(--gb-muted);margin:0;display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}
.gb-article-byline span:first-child{color:var(--gb-ink);font-weight:600}
.gb-article-hero{margin:0 0 2.5rem}
.gb-article-hero img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.gb-article-body{font-size:17.5px;line-height:1.75;color:var(--gb-text)}
.gb-article-body p{margin:0 0 1.15rem;font-size:17.5px;line-height:1.75}
.gb-article-body h2{font-family:var(--gb-serif);font-weight:600;font-size:clamp(1.5rem,2.6vw,1.9rem);line-height:1.2;color:var(--gb-ink);margin:2.75rem 0 1.1rem}
.gb-article-body h3{font-family:var(--gb-serif);font-weight:600;font-size:1.35rem;margin:2rem 0 .8rem;color:var(--gb-ink)}
.gb-article-body ul,.gb-article-body ol{margin:0 0 1.25rem 1.25rem}
.gb-article-body li{margin:0 0 .5rem;font-size:17.5px;line-height:1.7}
.gb-article-body blockquote{border-left:3px solid var(--gb-terracotta);margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;font-family:var(--gb-serif);font-size:1.35rem;color:var(--gb-ink)}
.gb-article-body a{color:var(--gb-teal);text-decoration:underline;text-underline-offset:3px}
.gb-article-body figure{margin:2rem 0}
.gb-related-work{margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--gb-rule)}
.gb-related-work .gb-related-cards{gap:var(--gb-gap)}
.gb-related-work .wp-block-column{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-radius:3px;padding:1.2rem}
.gb-related-work .gb-meta{margin:0 0 .3rem !important}
.gb-related-work h3{font-size:1.25rem !important;margin:0 0 .4rem !important}
.gb-related-work h3 a{color:var(--gb-ink);text-decoration:none}
.gb-related-work p{font-size:15px !important;line-height:1.55 !important;margin:0}
.gb-article-author{margin:3rem 0 0;padding:1.75rem;background:var(--gb-ivory);border:1px solid var(--gb-rule);border-left:3px solid var(--gb-terracotta);border-radius:4px}
.gb-article-author p{font-size:15.5px;line-height:1.65;margin:0 0 .8rem}
.gb-article-author p:last-child{margin-bottom:0}
.gb-article-notes{background:var(--gb-teal);color:#fff;padding:clamp(3rem,6vw,4.5rem) 0;margin-top:clamp(3rem,6vw,4.5rem)}
.gb-article-notes .gb-eyebrow{color:#E9C9BE !important}
.gb-article-notes h2{font-family:var(--gb-serif);font-weight:600;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;color:#fff;margin:0 0 1rem}
.gb-article-notes p{color:#fff;font-size:16.5px;margin:0 0 .8rem}
.gb-article-notes-small{font-size:14.5px !important;opacity:.85}
.gb-article-notes-btn{display:inline-block;margin-top:.75rem;background:#fff;color:var(--gb-teal) !important;font-weight:600;font-size:15px;border-radius:999px;padding:.75rem 1.4rem;text-decoration:none}
@media (max-width:781px){.gb-related-work .gb-related-cards{flex-wrap:wrap !important}.gb-related-work .wp-block-column{flex-basis:100% !important}.gb-article-body p,.gb-article-body li{font-size:17px}}

.single-post .breadcrumbs{display:none !important}
.gb-article-head,.gb-article-head .gb-article-col{text-align:left}
.gb-article-head .gb-article-title{text-align:left}

.gb-article-notes h2,.gb-article-notes p{color:#fff !important}
.gb-article-notes .gb-eyebrow{color:#E9C9BE !important}
.gb-article-notes .gb-article-notes-btn{color:var(--gb-teal) !important}

.gb-related-work .gb-read-more{margin:.6rem 0 0 !important;font-size:14.5px !important}
.gb-related-work .gb-related-ideas-label{margin-top:1.75rem !important}
.gb-related-work ul.gb-related-ideas{list-style:none;margin:.25rem 0 0;padding:0}
.gb-related-work ul.gb-related-ideas li{margin:0;padding:.55rem 0;border-bottom:1px solid var(--gb-rule);font-size:16px}
.gb-related-work ul.gb-related-ideas li a{color:var(--gb-teal);text-decoration:none;font-weight:600}
.gb-related-work ul.gb-related-ideas li a::after{content:" \2192"}
.gb-related-work .gb-related-cards{flex-wrap:wrap}


/* ===== v1.8 Homepage latest-articles list (core Query Loop, Batch C) ===== */
.gb-latest-articles{margin-top:2rem}
.gb-latest-articles .wp-block-post-template{list-style:none;margin:0;padding:0;gap:var(--gb-gap)}
.gb-latest-articles .wp-block-post-template > li{background:var(--gb-ivory);border:1px solid var(--gb-rule);border-top:3px solid var(--gb-teal);padding:1.5rem;margin:0;display:flex}
.gb-latest-articles .gb-article-card{display:flex;flex-direction:column;width:100%}
.gb-latest-articles .gb-card-meta{gap:0 .4em;font-size:14px !important;color:var(--gb-muted) !important;margin:0 0 .5rem !important}
.gb-latest-articles .gb-card-meta > *{font-size:14px !important;color:var(--gb-muted) !important;margin:0 !important}
.gb-latest-articles .gb-read-time::before{content:"\00B7";margin-right:.4em}
.gb-latest-articles .gb-card-title{margin:0 0 .6rem}
.gb-latest-articles .gb-card-summary{margin:0 0 1rem}
.gb-latest-articles a.gb-read-more{margin-top:auto;font-size:16px;font-weight:600;color:var(--gb-teal);text-decoration:none}
.gb-latest-articles a.gb-read-more::after{content:" \2192"}
.gb-latest-articles a.gb-read-more:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:781px){.gb-latest-articles .wp-block-post-template.is-layout-grid{grid-template-columns:1fr !important}}
.gb-preview-notice{background:#fff4d6;border:1px solid #e0c36a;padding:.6rem 1rem;font-size:14px !important;margin:1.5rem 0 0 !important}


/* ===== v1.9 Article title sizing (launch audit, 2026-10-20) =====
   Ekko's Theme Options print ".container h1{font-size:64px}" inline, which
   overrode the article title size. Match the published site instead:
   36px on phones, 48px from 768px, semibold, tight leading; long words
   wrap rather than overflow on very narrow screens. */
.gb-article-head h1.gb-article-title{font-size:36px;line-height:1.1;font-weight:600;overflow-wrap:break-word}
@media (min-width:768px){.gb-article-head h1.gb-article-title{font-size:48px;line-height:1.05}}

/* Section headings inside articles: match the published site
   (24px semibold serif, 48px above, 20px below; none above the first). */
.gb-article-page .gb-article-body h2{font-size:24px;line-height:1.375;font-weight:600;margin:48px 0 20px}
.gb-article-page .gb-article-body > h2:first-child{margin-top:0}

/* Keyboard access: visible focus for keyboard users only (WCAG 2.4.7),
   and the "Skip to content" link, hidden until focused. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gb-teal,#2f6f6a) !important;outline-offset:3px !important}
.gb-skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:var(--gb-ink,#1f2a28);color:#fff !important;padding:.75rem 1.25rem;font-weight:600;text-decoration:none}
.gb-skip-link:focus{left:1rem;top:1rem}


/* ===== v2.0 Homepage hero grid (2026-10-20, for review) =====
   Decorative square grid behind the homepage hero only, as on the Airo
   site: 1px lines in the Airo border colour (#c9c7bb) at 30% strength,
   48px squares (the spacing measured on gertbotha.com). Drawn with CSS
   gradients on a pseudo-element under the content: no image, no script,
   no change to the hero's own background, borders, text or layout, and
   it never receives clicks. The grid runs the full width of the window
   (the hero itself sits in the 1240px container); the homepage wrapper
   clips the few pixels that 100vw adds for the scrollbar, so there is
   no sideways scroll on any device.
   Adjust --gb-grid-size to change the spacing. */
.home .gb-hero{--gb-grid-size:48px;--gb-grid-line:rgba(201,199,187,.3);isolation:isolate}
.home .gb-hero::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--gb-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--gb-grid-line) 1px,transparent 1px);
  background-size:var(--gb-grid-size) var(--gb-grid-size)}
.home #home{overflow-x:clip}


/* v2.0 correction (2026-10-21): the grid rules above are limited to the
homepage (.home), as approved; they had also applied to inner-page heroes. */

/* ===== v2.1 Local fonts (2026-10-21) =====
   Self-hosted copies of the weights Google Fonts served: Cormorant Garamond
   600, Source Sans 3 400 and 600 (Latin + Latin Extended). Files and OFL
   licences are in /fonts. Google Fonts requests are removed in functions.php. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/source-sans-3-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/source-sans-3-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/source-sans-3-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/source-sans-3-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


/* ===== v2.2 Homepage methodology card (2026-10-21) =====
   Matches the card on the published gertbotha.com hero: ivory card with a
   hairline border, a solid sage offset shadow (10px 10px), a faint 8px dot
   texture, sans-serif label, bold serif title over a rule, and five steps as
   tinted rows with a 2px left rule and a large serif number; "Prove" is the
   highlighted step (sage row, terracotta rule). Values measured on the live
   site. Overrides the earlier v1.x panel rules for the homepage hero only. */
.gb-hero .gb-hero-panel{position:relative;overflow:hidden;background:#f9f7f0;border:1px solid #c9c7bb;border-radius:0;box-shadow:10px 10px 0 #dee4d8;padding:28px;margin:0 10px 10px 0;counter-reset:gbmv}
.gb-hero .gb-hero-panel::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;background-image:radial-gradient(#c9c7bb .7px,transparent .7px);background-size:8px 8px}
.gb-hero .gb-hero-panel > .wp-block-group__inner-container{position:relative;z-index:1}
.gb-hero .gb-hero-panel .gb-panel-kicker{font-family:var(--gb-sans,"Source Sans 3",sans-serif);font-size:12px !important;line-height:16px;font-weight:600;letter-spacing:normal;text-transform:none;color:#5b625e !important;margin:0 !important}
.gb-hero .gb-hero-panel .gb-panel-title{font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:24px !important;line-height:32px;font-weight:600;font-style:normal;color:#0a0a0a !important;margin:4px 0 32px !important;padding-bottom:16px;border-bottom:1px solid #c9c7bb}
.gb-hero .gb-hero-panel .gb-panel-step{counter-increment:gbmv;border-top:0;border-left:2px solid #344b4a;background:#f3f0e8;padding:12px;margin:0 0 12px}
.gb-hero .gb-hero-panel .gb-panel-step:last-child{margin-bottom:0}
.gb-hero .gb-hero-panel .gb-panel-step.gb-step-current{background:#dee4d8;border-left-color:#a6543f}
.gb-hero .gb-hero-panel .gb-panel-step > .wp-block-group__inner-container{display:grid;grid-template-columns:42px 1fr;column-gap:12px}
.gb-hero .gb-hero-panel .gb-panel-step > .wp-block-group__inner-container::before{content:"0" counter(gbmv);grid-row:1 / span 2;font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:24px;line-height:32px;font-weight:400;color:#344b4a}
.gb-hero .gb-hero-panel .gb-panel-step .gb-step-name{grid-column:2;font-size:14px !important;line-height:20px;font-weight:700;color:#0a0a0a !important;margin:0 !important}
.gb-hero .gb-hero-panel .gb-panel-step .gb-step-name::before{content:none}
.gb-hero .gb-hero-panel .gb-panel-step .gb-step-text{grid-column:2;font-size:12px !important;line-height:19.5px !important;color:#5b625e !important;padding-left:0;margin:4px 0 0 !important}
@media (max-width:781px){.gb-hero .gb-hero-panel{padding:20px;margin-top:.5rem;border-top:1px solid #c9c7bb}}

/* Hero columns on wide screens: the live site splits the hero 1.05 : 0.95
   (text : card) from 1024px, which gives the card its published width. */
@media (min-width:1024px){.gb-hero .gb-hero-cols > .wp-block-column:first-child{flex:1.05 1 0 !important}.gb-hero .gb-hero-cols > .wp-block-column:last-child{flex:.95 1 0 !important;padding-top:1rem}}

/* ===== v2.3 Methodology overview, transition arrows, Decision Loop (2026-10-21) =====
Methodology page only (Gate 2, approved 21 October). Five linked movement
cards replace the inline index in #movements; arrows and a descriptor on
the existing transition diagram; the Decision Loop as six numbered cards
with a return line; the recurring management considerations as a row of
links. Core blocks only, no script. Desktop layout from 1000px so that
1024px screens at fractional zoom (e.g. 125% scaling) still get it. Arrows are decorative (empty alternative
text for screen readers); order is carried by the numbers and list markup. */
.gb-toc.gb-glance{max-width:none}
.gb-section ol.gb-glance-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.gb-glance-list li{margin:0;position:relative}
.gb-glance-list a{display:grid;grid-template-columns:minmax(0,1fr);row-gap:6px;height:100%;box-sizing:border-box;background:var(--gb-ivory);border:1px solid var(--gb-rule);border-top:2px solid var(--gb-teal);padding:16px 18px;text-decoration:none !important;color:var(--gb-text) !important;font-size:15px;line-height:1.5;font-weight:400;transition:background-color .15s,border-color .15s}
.gb-glance-list a strong{font-family:var(--gb-serif);font-weight:600;font-size:1.3rem;line-height:1.2;color:var(--gb-ink)}
.gb-glance-list a em{font-style:normal;font-weight:600;font-size:14px;line-height:1.4;color:var(--gb-teal);margin-top:4px;align-self:end}
.gb-glance-list a em::after{content:" \2192";content:" \2192" / ""}
.gb-glance-list a:hover{background:#fff;border-top-color:var(--gb-terracotta)}
.gb-glance-list a:hover em{text-decoration:underline;text-underline-offset:3px}
@media (min-width:600px) and (max-width:999px){.gb-glance-list a{grid-template-columns:10.5rem minmax(0,1fr);column-gap:20px}.gb-glance-list a strong{grid-row:1 / span 2}.gb-glance-list a em{grid-column:2}}
@media (min-width:1000px){.gb-section ol.gb-glance-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.gb-glance-list a{grid-template-rows:auto 1fr auto}.gb-glance-list li:not(:last-child)::after{content:"\2192";content:"\2192" / "";position:absolute;right:-17px;top:50%;transform:translateY(-50%);color:var(--gb-teal);font-size:14px;line-height:1}}
.gb-transition > .wp-block-column:nth-child(2){flex-direction:column}
.gb-section p.gb-tr-desc{color:#E4EAE0 !important;font-size:15px !important;line-height:1.45 !important;margin:0 !important}
.gb-transition > .wp-block-column:not(:last-child)::after{content:"\2192";content:"\2192" / "";position:absolute;z-index:2;right:-15px;top:50%;transform:translateY(-50%);box-sizing:border-box;width:28px;height:28px;border-radius:50%;background:var(--gb-paper);border:1px solid var(--gb-teal);color:var(--gb-teal);font-family:var(--gb-sans);font-size:15px;line-height:26px;text-align:center}
@media (max-width:781px){.gb-transition > .wp-block-column:not(:last-child)::after{content:"\2193";content:"\2193" / "";right:auto;left:50%;top:auto;bottom:-15px;transform:translateX(-50%)}}
.gb-section ol.gb-loop{list-style:none;counter-reset:gbloop;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.gb-loop li{counter-increment:gbloop;position:relative;margin:0;background:var(--gb-ivory);border:1px solid var(--gb-rule);border-left:2px solid var(--gb-teal);padding:14px 16px 14px 60px;font-size:15px;line-height:1.55;color:var(--gb-text)}
.gb-loop li::before{content:"0" counter(gbloop);position:absolute;left:16px;top:12px;font-family:var(--gb-serif);font-size:1.5rem;font-weight:600;line-height:1.2;color:var(--gb-terracotta)}
.gb-loop li strong{display:block;font-family:var(--gb-serif);font-weight:600;font-size:1.3rem;line-height:1.25;color:var(--gb-ink);margin-bottom:2px}
.gb-section p.gb-loop-return{margin:12px 0 2rem !important;padding:12px 16px 12px 60px;position:relative;border:1px dashed var(--gb-teal);font-size:15px !important;line-height:1.55 !important;color:var(--gb-text)}
.gb-section p.gb-loop-return::before{content:"\21BA";content:"\21BA" / "";position:absolute;left:18px;top:8px;font-size:1.5rem;line-height:1.2;color:var(--gb-terracotta)}
@media (min-width:700px){.gb-section ol.gb-loop{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gb-loop li{padding:14px 14px 16px;border-left:1px solid var(--gb-rule);border-top:2px solid var(--gb-teal)}.gb-loop li::before{position:static;display:block;margin-bottom:4px}.gb-loop li:not(:nth-child(3n))::after{content:"\2192";content:"\2192" / "";position:absolute;right:-17px;top:50%;transform:translateY(-50%);color:var(--gb-teal);font-size:14px;line-height:1}.gb-section p.gb-loop-return{border-top:0;text-align:center;padding:14px 16px 12px}.gb-section p.gb-loop-return::before{position:static;display:inline-block;margin-right:8px;font-size:1.25rem;vertical-align:-2px}}
@media (min-width:1000px){.gb-section ol.gb-loop{grid-template-columns:repeat(6,minmax(0,1fr))}.gb-loop li:nth-child(3n)::after{content:"\2192";content:"\2192" / "";position:absolute;right:-17px;top:50%;transform:translateY(-50%);color:var(--gb-teal);font-size:14px;line-height:1}.gb-loop li:last-child::after{content:none}}
.gb-section.gb-considerations{padding:2.5rem 0}
.gb-section ul.gb-consider-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.gb-consider-list li{margin:0;max-width:100%}
.gb-consider-list a{display:inline-block;max-width:100%;box-sizing:border-box;padding:8px 14px;border:1px solid var(--gb-rule);border-radius:18px;background:var(--gb-ivory);color:var(--gb-teal) !important;font-weight:600;font-size:15px;line-height:1.35;text-decoration:none !important}
.gb-consider-list a:hover{border-color:var(--gb-teal);text-decoration:underline !important;text-underline-offset:3px}

/* ===== v2.4 Methodology overview diagram (2026-10-21) =====
Approved overview diagram in the Methodology Architecture section
(#blueprint-architecture). The page shows the WebP derivative at the full
content width; the image and caption link to the original PNG for detailed
viewing. The text on the page remains the accessible equivalent. */
.gb-section figure.gb-diagram{margin:2.5rem 0 0;max-width:none}
.gb-section figure.gb-diagram img{display:block;width:100%;height:auto;border:1px solid var(--gb-rule);background:var(--gb-paper)}
.gb-section figure.gb-diagram a{display:block}
.gb-section figure.gb-diagram a:hover img{border-color:var(--gb-teal)}
.gb-section figure.gb-diagram figcaption{background:none !important;padding:0 !important;position:static;overflow:visible !important;font-family:var(--gb-sans);font-size:14px;line-height:1.5;color:var(--gb-muted);text-align:left;margin:.75rem 0 0}
.gb-section figure.gb-diagram figcaption a{display:inline;color:var(--gb-teal);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* IC-1 alignment, 22 Oct 2026: space between the data-quality panel and the closing paragraph in #foundations */
#foundations .gb-callout{margin-bottom:2rem}
