/*
Theme Name: Green Branch Builders
Theme URI: https://greenbranchbuilders.com/
Author: Green Branch Builders / Kosmik Web
Description: Lightweight custom WordPress theme converted from the approved Green Branch Builders static design.
Version: 0.2.0
Text Domain: green-branch-builders
*/

/* GBB project case study v0.5 */
.gbb-v05{--ink:#171a17;--muted:#6d726c;--green:#607a42;--soft:#f1f3ee;--dark:#171a17;color:var(--ink);overflow:hidden}
.gbb-v05 *{box-sizing:border-box}
.gbb-v05 .container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.gbb-v05 figure{margin:0}
.gbb-v05 img{display:block;max-width:100%}
.gbb-v05-kicker{color:var(--green);font-size:12px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.gbb-v05-title{padding:92px 0 42px}
.gbb-v05-title h1{font-size:clamp(48px,7vw,92px);line-height:.94;letter-spacing:-.045em;font-weight:500;margin:0;max-width:1000px}
.gbb-v05-title p{font-size:18px;color:var(--muted);margin:22px 0 0}
.gbb-v05-hero{width:min(1540px,calc(100% - 32px));margin:0 auto}
.gbb-v05-hero-img{width:100%;height:min(76vh,860px);object-fit:cover}
.gbb-v05-opening{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;padding-top:86px;padding-bottom:118px}
.gbb-v05-deck{font-size:clamp(28px,3.4vw,48px);line-height:1.16;letter-spacing:-.025em;margin:0;max-width:760px}
.gbb-v05-facts{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;padding-top:8px}
.gbb-v05-facts span{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.gbb-v05-facts strong{display:block;font-size:14px;line-height:1.45;font-weight:500}
.gbb-v05-chapter{padding-top:120px;padding-bottom:120px}
.gbb-v05-copy{max-width:850px;margin:0 auto 62px}
.gbb-v05-copy h2,.gbb-v05-film h2,.gbb-v05-closing-copy h2{font-size:clamp(40px,5vw,70px);line-height:1.02;letter-spacing:-.035em;font-weight:500;margin:0 0 34px}
.gbb-v05-copy p{font-size:18px;line-height:1.75;margin:0 0 24px;max-width:760px}
.gbb-v05-wide{margin:22px 0 22px}
.gbb-v05-wide .gbb-v05-img{width:100%;height:min(68vw,760px);object-fit:cover}
.gbb-v05-wide.historic{max-width:930px;margin-left:auto;margin-right:auto}
.gbb-v05-wide.historic .gbb-v05-img{height:auto}
.gbb-v05-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.gbb-v05-pair .gbb-v05-img{width:100%;height:clamp(360px,44vw,650px);object-fit:cover}
.gbb-v05-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0}
.gbb-v05-triptych .gbb-v05-img{width:100%;height:clamp(300px,34vw,520px);object-fit:cover}
.gbb-v05-dark{background:var(--dark);color:#f7f7f3}
.gbb-v05-dark .gbb-v05-kicker{color:#a8bd88}
.gbb-v05-soft{background:var(--soft)}
.gbb-v05-performance{padding:120px 0;background:#e6ebdf}
.gbb-v05-performance .performance-copy{margin-left:0;margin-bottom:68px}
.gbb-v05-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(23,26,23,.25);border-bottom:1px solid rgba(23,26,23,.25)}
.gbb-v05-stats div{padding:38px 24px 38px 0}
.gbb-v05-stats strong{display:block;font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.04em;font-weight:500;margin-bottom:10px}
.gbb-v05-stats span{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#555d50}
.gbb-v05-performance-note{font-size:18px;line-height:1.7;max-width:760px;margin:42px 0 0}
.gbb-v05-film{background:#101210;color:#fff;padding:120px 0}
.gbb-v05-film .gbb-v05-kicker{color:#a8bd88}
.gbb-v05-film h2{margin-bottom:50px}
.gbb-v05-video{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.gbb-v05-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gbb-v05-closing{position:relative;background:#101210;color:#fff;padding-bottom:110px}
.gbb-v05-closing-image{width:min(1540px,calc(100% - 32px));margin:0 auto}
.gbb-v05-closing-image .gbb-v05-img{width:100%;height:min(72vh,820px);object-fit:cover}
.gbb-v05-closing-copy{padding-top:72px}
.gbb-v05-closing-copy p{font-size:20px;line-height:1.6;color:#cfd2cc;max-width:720px;margin:0 0 18px}
.gbb-v05-closing-copy h2{max-width:900px;margin:0}
.gbb-v05-fallback-content{padding:70px 0 110px}
.gbb-v05-fallback-content img{height:auto}
@media(max-width:800px){
 .gbb-v05 .container{width:min(100% - 28px,1180px)}
 .gbb-v05-title{padding:58px 0 28px}
 .gbb-v05-hero{width:calc(100% - 20px)}
 .gbb-v05-hero-img{height:auto;aspect-ratio:4/3}
 .gbb-v05-opening{grid-template-columns:1fr;gap:44px;padding-top:56px;padding-bottom:76px}
 .gbb-v05-facts{grid-template-columns:1fr 1fr}
 .gbb-v05-chapter,.gbb-v05-performance,.gbb-v05-film{padding-top:76px;padding-bottom:76px}
 .gbb-v05-copy{margin-bottom:42px}
 .gbb-v05-pair,.gbb-v05-triptych{grid-template-columns:1fr;gap:12px}
 .gbb-v05-pair .gbb-v05-img,.gbb-v05-triptych .gbb-v05-img,.gbb-v05-wide .gbb-v05-img{height:auto;aspect-ratio:4/3}
 .gbb-v05-stats{grid-template-columns:1fr 1fr}
 .gbb-v05-stats div{padding:26px 12px 26px 0}
 .gbb-v05-closing{padding-bottom:76px}
 .gbb-v05-closing-image{width:calc(100% - 20px)}
 .gbb-v05-closing-image .gbb-v05-img{height:auto;aspect-ratio:4/3}
 .gbb-v05-closing-copy{padding-top:52px}
}
@media(max-width:480px){.gbb-v05-facts,.gbb-v05-stats{grid-template-columns:1fr}}

/* Mapleton header refinement: scoped to Mapleton navigation and title only. */
.gbb-mapleton-nav > .container { display:flex; flex-wrap:wrap; justify-content:center; }
.gbb-mapleton-nav .logo-wrapper { margin:0 auto; width:100%; display:flex; justify-content:center; }
.gbb-mapleton-nav .logo { display:block; width:min(440px,85vw); }
.gbb-mapleton-nav .logo-img { display:block; width:100%; height:auto; max-width:none; }
.gbb-mapleton-nav .navbar-collapse { flex-basis:100%; justify-content:center; }
.gbb-v05-title { text-align:center; padding-top:38px; padding-bottom:38px; }
.gbb-v05-title h1 { max-width:none; font-size:clamp(34px,5vw,66px); line-height:1.12; letter-spacing:-.025em; font-weight:500; }
.gbb-v05-title p { font-size:clamp(17px,1.6vw,22px); margin-top:14px; }
@media(max-width:800px) {
 .gbb-mapleton-nav .navbar-toggler { position:absolute; right:14px; top:18px; }
 .gbb-mapleton-nav > .container { position:relative; }
 .gbb-mapleton-nav .logo { width:min(320px,75vw); }
 .gbb-v05-title { padding-top:28px; padding-bottom:28px; }
}
/* Mapleton only: keep the larger logo fully visible below the WP admin bar. */
nav.navbar.gbb-mapleton-nav {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 42px 0 18px !important;
  margin: 0 !important;
  transform: none !important;
}
nav.navbar.gbb-mapleton-nav > .container,
nav.navbar.gbb-mapleton-nav .logo-wrapper,
nav.navbar.gbb-mapleton-nav .logo {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
nav.navbar.gbb-mapleton-nav .logo-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}
@media (max-width: 800px) {
  nav.navbar.gbb-mapleton-nav { padding-top: 30px !important; padding-bottom: 12px !important; }
}
/* Mapleton case study: restore visible title and remove excess header whitespace.
   Append this block to the END of the active theme's style.css. */
.gbb-v05 > header.gbb-v05-title.container {
  padding-top: 14px !important;
  padding-bottom: 30px !important;
  margin-top: 0 !important;
  text-align: center !important;
}
.gbb-v05 > header.gbb-v05-title h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #252825 !important;
  -webkit-text-fill-color: #252825 !important;
  font-family: inherit !important;
  font-size: clamp(34px, 4.5vw, 62px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  animation: none !important;
  clip-path: none !important;
}
.gbb-v05 > header.gbb-v05-title p {
  margin: 15px 0 0 !important;
  text-align: center !important;
}

/* Mapleton: full-width introduction and first Preserve chapter only.
   Append at the END of the existing theme style.css. */

/* Introduction: statement across the width beneath the hero. */
.gbb-v05 .gbb-v05-opening.container {
  width: min(1540px, calc(100% - 32px));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 44px;
  padding-top: 82px;
  padding-bottom: 100px;
}
.gbb-v05 .gbb-v05-opening .gbb-v05-deck {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.2;
  text-align: center;
}

/* Credits: one centered row of four at desktop widths. */
.gbb-v05 .gbb-v05-opening .gbb-v05-facts {
  display: grid;
  width: min(1180px, 100%);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  padding-top: 0;
  margin-inline: auto;
  text-align: center;
}
.gbb-v05 .gbb-v05-opening .gbb-v05-facts span {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .12em;
  margin-bottom: 10px;
}
.gbb-v05 .gbb-v05-opening .gbb-v05-facts strong {
  font-size: 17px;
  line-height: 1.5;
}

/* First chapter: make the existing heading visible and close up blank space. */
.gbb-v05 .gbb-v05-opening + .gbb-v05-chapter {
  padding-top: 54px;
}
.gbb-v05 .gbb-v05-opening + .gbb-v05-chapter .gbb-v05-copy {
  margin-bottom: 48px;
}
.gbb-v05 .gbb-v05-opening + .gbb-v05-chapter .gbb-v05-copy h2 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  font-size: clamp(38px, 4.8vw, 66px);
  line-height: 1.08;
  margin: 12px 0 26px;
}

@m
edia (max-width: 800px) {
  .gbb-v05 .gbb-v05-opening.container {
    width: calc(100% - 28px);
    gap: 32px;
    padding-top: 54px;
    padding-bottom: 68px;
  }
 
 .gbb-v05 .gbb-v05-opening .gbb-v05-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
  }
  .gbb-v05 .gbb-v05-opening + .gbb-v05-chapter {
    padding-top: 44px;
  }
}
@media (max-width: 480px) {
  .gbb-v05 .gbb-v05-opening .gbb-v05-facts {
    grid-template-columns: 1fr;
  }
}
/* Fix invisible headings in light-background chapters */
.gbb-v05 .gbb-v05-chapter:not(.gbb-v05-dark) .gbb-v05-copy h2 {
    color: #171a17 !important;
}

/* Mapleton: chapter divider and larger chapter labels */

/* Thin architectural divider above the first chapter */
.gbb-v05 .gbb-v05-opening + .gbb-v05-chapter {
  border-top: 2px solid #252825;
  padding-top: 64px;
}

/* Larger green chapter labels */
.gbb-v05 .gbb-v05-chapter .gbb-v05-kicker,
.gbb-v05 .gbb-v05-performance .gbb-v05-kicker {
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: 0.14em;
  font-weight: 600;
  margin-bottom: 20px;
}

/* Chapter numbers */
.gbb-v05 .gbb-v05-opening + .gbb-v05-chapter .gbb-v05-kicker::before {
  content: "01 / ";
}

.gbb-v05 .gbb-v05-dark .gbb-v05-kicker::before {
  content: "02 / ";
}

.gbb-v05 .gbb-v05-dark + .gbb-v05-chapter .gbb-v05-kicker::before {
  content: "03 / ";
}

.gbb-v05 .gbb-v05-soft .gbb-v05-kicker::before {
  content: "04 / ";
}

.gbb-v05 .gbb-v05-performance .gbb-v05-kicker::before {
  content: "05 / ";
}

.gbb-v05 .gbb-v05-performance + .gbb-v05-chapter .gbb-v05-kicker::before {
  content: "06 / ";
}

/* Preserve the lighter green labels on dark backgrounds */
.gbb-v05 .gbb-v05-dark .gbb-v05-kicker {
  color: #a8bd88;
}

@media (max-width: 800px) {
  .gbb-v05 .gbb-v05-opening + .gbb-v05-chapter {
    padding-top: 48px;
  }

  .gbb-v05 .gbb-v05-chapter .gbb-v05-kicker,
  .gbb-v05 .gbb-v05-performance .gbb-v05-kicker {
    font-size: 17px;
  }
}

/* Green Branch Builders brand green */
.gbb-v05 {
  --green: #5BA125;
}

.gbb-v05 .gbb-v05-kicker {
  color: #5BA125;
}

.gbb-v05 .gbb-v05-dark .gbb-v05-kicker,
.gbb-v05 .gbb-v05-film .gbb-v05-kicker {
  color: #5BA125;
}

/* Mapleton: Performance chapter refinement */

.gbb-v05 .gbb-v05-performance {
  color: #171a17;
}

.gbb-v05 .gbb-v05-performance .performance-copy {
  max-width: 850px;
  margin: 0 auto 68px;
  text-align: center;
}

.gbb-v05 .gbb-v05-performance .performance-copy h2 {
  color: #171a17 !important;
}

.gbb-v05 .gbb-v05-performance .performance-copy p {
  color: #171a17;
  margin-left: auto;
  margin-right: auto;
}

.gbb-v05 .gbb-v05-performance .gbb-v05-kicker {
  color: #5BA125;
}

.gbb-v05 .gbb-v05-performance-note {
  color: #171a17;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Match 05 / PERFORMANCE alignment to 04 / RETREAT */

.
gbb-v05 .gbb-v05-performance .performance-copy {
  width: min(1100px, calc(100% - 48px));
  max-width: 1100px;
  margin: 0 auto 68px;
  text-align: left !important;
}

.gbb-v05 .gbb-v05-performance .performance-copy .gbb-v05-kicker,
.gbb-v05 .gbb-v05-performance .performance-copy h2,
.gbb-v05 .gbb-v05-performance .performance-copy p {
  text-align: left !important;
  margin-left: 0;
  margin-right: 0;
}

.gbb-v05 .gbb-v05-performance .performance-copy p {
  max-width: 680px;
}

/* Align Performance chapter with chapters 01–04 and 06 */
.gbb-v05 .gbb-v05-performance .performance-copy {
  width: min(850px, calc(100% - 48px));
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}

/* Mapleton: consistent chapter typography and spacing */

/* Wider text columns, consistent across all six chapters */
.gbb-v05 .gbb-v05-chapter .gbb-v05-copy,
.gbb-v05 .gbb-v05-performance .performance-copy {
  width: min(930px, 100%);
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}

/* Larger, more readable chapter descriptions */
.gbb-v05 .gbb-v05-chapter .gbb-v05-copy p,
.gbb-v05 .gbb-v05-performance .performance-copy p {
  max-width: 850px;
  font-size: 19px;
  line-height: 1.7;
}

/* Less empty space above and below chapters */
.gbb-v05 .gbb-v05-chapter {
  padding-top: 85px;
  padding-bottom: 85px;
}

/* Tighten gap between chapter copy and photos */
.gbb-v05 .gbb-v05-chapter .gbb-v05-copy {
  margin-bottom: 44px;
}

/* Performance chapter spacing */
.gbb-v05 .gbb-v05-performance {
  padding-top: 85px;
  padding-bottom: 85px;
}


.gbb-v05 .gbb-v05-performance .performance-copy {
  margin-bottom: 48px;
}

/* Preserve left alignment of chapter headings */
.gbb-v05 .gbb-v05-chapter .gbb-v05-copy,
.gbb-v05 .gbb-v05-performance .performance-copy {
  text-align: left;
}

/* Smaller screens */
@media (max-width: 800px) {
  .gbb-v05 .gbb-v05-chapter,
  .gbb-v05 .gbb-v05-performance {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .gbb-v05 .gbb-v05-chapter .gbb-v05-copy p,
  .gbb-v05 .gbb-v05-performance .performance-copy p {
    font-size: 17px;
    line-height: 1.65;
  }
}

/* Mapleton closing: understated text above final photograph */

.gbb-v05 .gbb-v05-closing-copy {
  width: min(1100px, calc(100% - 48px));
  max-width: 1100px;
  padding-top: 64px;
  padding-bottom: 48px;
  text-align: center;
}

.gbb-v05 .gbb-v05-closing-copy p {
  max-width: none;
  margin: 0 auto 18px;
  font-size: 15px;
  line-height: 1.5;
  color: #cfd2cc;
}

.gbb-v05 .gbb-v05-closing-copy h2 {
  max-width: none;
 
 margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #fff;
}

@media (min-width: 1000px) {
  .gbb-v05 .gbb-v05-closing-copy p {
    white-space: nowrap;
  }
}

@media (max-width: 800px) {
  .gbb-v05 .gbb-v05-closing-copy {
    padding-top: 48px;
    padding-bottom: 36px;
  }

  .gbb-v05 .gbb-v05-closing-copy p {
    font-size: 14px;
  }
}

/* Increase closing statement introductory text */
.gbb-v05 .gbb-v05-closing-copy p {
  font-size: 18px;
  line-height: 1.6;
}

/* Birdcliff only: prevent duplicate chapter numbers */
.gbb-birdcliff .gbb-v05-kicker::before {
  content: none !important;
  display: none !important;
}