/* =========================================================
   Build and Bloom — Theme Styles
   Palette: clay terracotta · sage · warm cream · charcoal
   Type: Cormorant Garamond (display) + Inter (body)
   ========================================================= */

:root{
  --bb-clay:#c2643a;
  --bb-clay-2:#a85530;
  --bb-sage:#7d9b76;
  --bb-cream:#f7f1e6;
  --bb-cream-2:#efe7d6;
  --bb-charcoal:#2b261f;
  --bb-muted:#6b6357;
  --bb-border:#e6dcc7;
  --bb-card:#ffffff;
  --bb-radius:14px;
  --bb-radius-lg:22px;
  --bb-shadow:0 10px 30px -12px rgba(43,38,31,.18);
  --bb-shadow-lg:0 24px 60px -20px rgba(43,38,31,.28);
  --bb-display:"Cormorant Garamond", Georgia, serif;
  --bb-body:"Inter", -apple-system, system-ui, Segoe UI, Roboto, sans-serif;
}

*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--bb-body);
  background:var(--bb-cream);
  color:var(--bb-charcoal);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--bb-clay);text-decoration:none;transition:color .2s}
a:hover{color:var(--bb-clay-2)}

h1,h2,h3,h4{
  font-family:var(--bb-display);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.1;
  margin:0 0 .5em;
  color:var(--bb-charcoal);
}
h1{font-size:clamp(2.4rem,5vw,4.4rem)}
h2{font-size:clamp(2rem,4vw,3.2rem)}
h3{font-size:1.4rem}
p{margin:0 0 1em}

.container{max-width:1200px;margin:0 auto;padding:0 22px}
.eyebrow{
  display:inline-block;
  font-family:var(--bb-body);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  font-weight:600;
  color:var(--bb-clay);
}
.muted{color:var(--bb-muted)}

/* Buttons */
.bb-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.85rem 1.7rem;border-radius:999px;
  font-weight:500;font-size:.95rem;
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .2s, box-shadow .2s, background .2s, color .2s;
}
.bb-btn-primary{background:var(--bb-clay);color:#fff;box-shadow:var(--bb-shadow)}
.bb-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--bb-shadow-lg);color:#fff;background:var(--bb-clay-2)}
.bb-btn-outline{border-color:currentColor;color:var(--bb-charcoal);background:transparent}
.bb-btn-outline:hover{background:var(--bb-charcoal);color:var(--bb-cream)}
.bb-btn-light{background:var(--bb-cream);color:var(--bb-charcoal)}
.bb-btn-light:hover{background:#fff;color:var(--bb-charcoal)}
.on-dark .bb-btn-outline{color:var(--bb-cream)}
.on-dark .bb-btn-outline:hover{background:var(--bb-cream);color:var(--bb-charcoal)}

/* ============== Header ============== */
.bb-header{
  position:sticky;top:0;z-index:60;
  background:transparent;
  transition:background .3s, box-shadow .3s, border-color .3s;
  border-bottom:1px solid transparent;
}
.bb-header.is-scrolled{
  background:rgba(247,241,230,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom-color:var(--bb-border);
}
.bb-header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:20px}
.bb-logo{display:flex;align-items:center;gap:10px;font-family:var(--bb-display);font-size:1.35rem;color:var(--bb-charcoal)}
.bb-logo-mark{
  display:grid;place-items:center;width:38px;height:38px;border-radius:999px;
  background:var(--bb-clay);color:#fff;font-weight:600;font-family:var(--bb-display);font-size:1.15rem;
}
.bb-logo .amp{color:var(--bb-clay)}

.bb-nav{display:none}
@media (min-width:1024px){.bb-nav{display:flex;align-items:center;gap:28px}}
.bb-nav a{color:rgba(43,38,31,.78);font-size:.92rem;font-weight:500}
.bb-nav a:hover,.bb-nav .current-menu-item>a{color:var(--bb-clay)}
.bb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}

.bb-cta-call{display:none}
@media (min-width:1024px){.bb-cta-call{display:inline-flex}}

.bb-burger{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:10px;
  background:transparent;border:0;cursor:pointer;color:var(--bb-charcoal);
}
@media (min-width:1024px){.bb-burger{display:none}}
.bb-burger:hover{background:rgba(43,38,31,.06)}

.bb-mobile{display:none;border-top:1px solid var(--bb-border);background:var(--bb-cream)}
.bb-mobile.is-open{display:block}
.bb-mobile ul{list-style:none;margin:0;padding:14px 0;display:flex;flex-direction:column;gap:2px}
.bb-mobile a{display:block;padding:12px 22px;color:var(--bb-charcoal);font-weight:500;border-radius:8px}
.bb-mobile a:hover{background:rgba(43,38,31,.05);color:var(--bb-clay)}

/* ============== Hero ============== */
.bb-hero{
  position:relative;min-height:92vh;display:flex;align-items:flex-end;
  margin-top:-77px;overflow:hidden;color:var(--bb-cream);
}
.bb-hero-bg{position:absolute;inset:0}
.bb-hero-bg img{width:100%;height:100%;object-fit:cover}
.bb-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(43,38,31,.35) 0%, rgba(43,38,31,.45) 55%, rgba(43,38,31,.85) 100%);
}
.bb-hero-inner{position:relative;width:100%;padding:140px 0 80px}
.bb-hero h1{color:var(--bb-cream);max-width:18ch}
.bb-hero h1 em{color:var(--bb-clay);font-style:normal}
.bb-hero p{max-width:560px;color:rgba(247,241,230,.88);font-size:1.05rem}
.bb-hero .eyebrow{color:rgba(247,241,230,.85)}
.bb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* ============== Sections ============== */
.bb-section{padding:90px 0}
.bb-section.alt{background:var(--bb-cream-2)}
.bb-section-head{display:grid;gap:24px;align-items:end;margin-bottom:50px}
@media (min-width:768px){.bb-section-head{grid-template-columns:1.2fr 1fr}}
.bb-section-head.center{text-align:center;max-width:640px;margin-left:auto;margin-right:auto;display:block}

.bb-grid{display:grid;gap:22px}
.bb-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.bb-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.bb-grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.bb-card{
  background:var(--bb-card);border:1px solid var(--bb-border);
  border-radius:var(--bb-radius-lg);padding:28px;
  transition:box-shadow .25s, border-color .25s, transform .25s;
}
.bb-card:hover{box-shadow:var(--bb-shadow);border-color:rgba(194,100,58,.4)}
.bb-card .ico{
  display:grid;place-items:center;width:46px;height:46px;border-radius:12px;
  background:rgba(194,100,58,.10);color:var(--bb-clay);margin-bottom:18px;
}
.bb-card .ico svg{width:22px;height:22px}

/* Project cards */
.bb-project{
  background:var(--bb-card);border:1px solid var(--bb-border);
  border-radius:var(--bb-radius-lg);overflow:hidden;
}
.bb-project .img{aspect-ratio:4/3;overflow:hidden;background:#eee}
.bb-project .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.bb-project:hover .img img{transform:scale(1.05)}
.bb-project .body{padding:22px}
.bb-project .body h3{margin:6px 0 0;font-size:1.3rem}

/* CTA banner */
.bb-cta-banner{
  border-radius:28px;padding:64px 48px;color:var(--bb-cream);
  background:linear-gradient(135deg, var(--bb-clay) 0%, #8b3f24 100%);
  display:grid;gap:30px;align-items:center;
}
@media (min-width:900px){.bb-cta-banner{grid-template-columns:1.4fr 1fr}}
.bb-cta-banner h2{color:var(--bb-cream)}
.bb-cta-banner p{color:rgba(247,241,230,.9)}
.bb-cta-banner .info{font-size:.92rem;color:rgba(247,241,230,.9);display:flex;flex-direction:column;gap:10px}

/* ============== Contact / Forms ============== */
.bb-contact-grid{display:grid;gap:40px}
@media (min-width:900px){.bb-contact-grid{grid-template-columns:1.3fr 1fr}}
.bb-form{
  background:var(--bb-card);border:1px solid var(--bb-border);
  border-radius:26px;padding:36px;
}
.bb-field{margin-bottom:18px}
.bb-field label{display:block;font-size:.88rem;font-weight:500;margin-bottom:6px}
.bb-field .req{color:#c0392b}
.bb-input,.bb-select,.bb-textarea{
  width:100%;padding:.85rem 1rem;border-radius:10px;
  border:1px solid var(--bb-border);background:#fff;font:inherit;color:inherit;
  transition:border-color .2s, box-shadow .2s;
}
.bb-input:focus,.bb-select:focus,.bb-textarea:focus{
  outline:0;border-color:var(--bb-clay);box-shadow:0 0 0 3px rgba(194,100,58,.18);
}
.bb-row-2{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:600px){.bb-row-2{grid-template-columns:1fr 1fr}}
.bb-help{font-size:.78rem;color:var(--bb-muted);margin-top:8px}

.bb-info-card{
  display:flex;gap:14px;background:var(--bb-card);border:1px solid var(--bb-border);
  border-radius:var(--bb-radius);padding:18px;margin-bottom:14px;
}
.bb-info-card .ico{
  flex:0 0 40px;height:40px;border-radius:999px;display:grid;place-items:center;
  background:rgba(194,100,58,.10);color:var(--bb-clay);
}
.bb-info-card h4{font-family:var(--bb-body);font-size:.95rem;font-weight:600;margin:0}
.bb-info-card p{margin:4px 0 0;color:var(--bb-muted);font-size:.9rem}

.bb-notice{padding:14px 16px;border-radius:12px;margin-bottom:18px;font-size:.92rem}
.bb-notice.ok{background:rgba(125,155,118,.15);color:#3d5a36;border:1px solid rgba(125,155,118,.4)}
.bb-notice.err{background:rgba(192,57,43,.10);color:#8a2a1c;border:1px solid rgba(192,57,43,.3)}

.bb-map{border-radius:18px;overflow:hidden;border:1px solid var(--bb-border);height:280px;margin-top:14px}
.bb-map iframe{width:100%;height:100%;border:0}

/* Page hero (inner pages) */
.bb-page-hero{padding:120px 0 40px;background:var(--bb-cream-2);border-bottom:1px solid var(--bb-border)}
.bb-page-hero h1{margin-top:10px}
.bb-page-hero p{max-width:640px;color:var(--bb-muted);font-size:1.05rem}

/* ============== Footer ============== */
.bb-footer{margin-top:80px;background:var(--bb-charcoal);color:var(--bb-cream)}
.bb-footer-grid{display:grid;gap:40px;padding:60px 0}
@media (min-width:768px){.bb-footer-grid{grid-template-columns:2fr 1fr 1fr}}
.bb-footer h4{color:var(--bb-cream);font-family:var(--bb-display);margin-bottom:16px;font-size:1.2rem}
.bb-footer a{color:rgba(247,241,230,.75)}
.bb-footer a:hover{color:var(--bb-clay)}
.bb-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.bb-footer .about{color:rgba(247,241,230,.72);font-size:.92rem;max-width:380px}
.bb-footer .socials{display:flex;gap:10px;margin-top:18px}
.bb-footer .socials a{
  width:40px;height:40px;border-radius:999px;display:grid;place-items:center;
  border:1px solid rgba(247,241,230,.2);color:var(--bb-cream);
}
.bb-footer .socials a:hover{background:var(--bb-clay);border-color:var(--bb-clay);color:#fff}
.bb-footer-bottom{
  border-top:1px solid rgba(247,241,230,.1);font-size:.78rem;color:rgba(247,241,230,.55);
  padding:18px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;
}

/* WhatsApp FAB */
.bb-wa{
  position:fixed;bottom:22px;right:22px;z-index:80;
  width:56px;height:56px;border-radius:999px;
  background:#25d366;color:#fff;display:grid;place-items:center;
  box-shadow:0 12px 28px -8px rgba(0,0,0,.35);
  transition:transform .2s;
}
.bb-wa:hover{transform:scale(1.06);color:#fff}
.bb-wa svg{width:28px;height:28px}

/* Posts */
.bb-post{background:var(--bb-card);border:1px solid var(--bb-border);border-radius:var(--bb-radius-lg);padding:28px;margin-bottom:22px}
.bb-post .meta{font-size:.8rem;color:var(--bb-muted);text-transform:uppercase;letter-spacing:.15em}
.bb-post h2{font-size:1.7rem;margin:8px 0 10px}
.bb-post .read-more{font-weight:600;color:var(--bb-clay)}

.bb-pagination{display:flex;gap:8px;justify-content:center;margin-top:30px}
.bb-pagination .page-numbers{padding:8px 14px;border-radius:8px;border:1px solid var(--bb-border);color:var(--bb-charcoal)}
.bb-pagination .current{background:var(--bb-clay);color:#fff;border-color:var(--bb-clay)}

/* Utility */
.text-center{text-align:center}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.section-link{display:inline-flex;align-items:center;gap:6px;color:var(--bb-clay);font-weight:600}
.section-link:hover{gap:10px}
