/* Canonical venture presentation tokens. */
body.bb-venture-apiary{
 --bb-venture-bg:#eef8fb;--bb-venture-surface:#fff;--bb-venture-ink:#033d50;--bb-venture-dark:#033d50;--bb-venture-accent:#f9c300;--bb-venture-tint:#fff8d6;
}
body.bb-venture-willow{
 --bb-venture-bg:#f7f4e8;--bb-venture-surface:#fff;--bb-venture-ink:#173d32;--bb-venture-dark:#173d32;--bb-venture-accent:#d9c84b;--bb-venture-tint:#f4f0cf;
}
body.bb-venture-homestead{
 --bb-venture-bg:#f7f4e8;--bb-venture-surface:#fff;--bb-venture-ink:#123f35;--bb-venture-dark:#365b45;--bb-venture-accent:#f2ce3f;--bb-venture-tint:#fbf5d9;
}
body.bb-venture-sawmill{
 --bb-venture-bg:#f6f0e7;--bb-venture-surface:#fff;--bb-venture-ink:#3c291c;--bb-venture-dark:#6b4a32;--bb-venture-accent:#d8b982;--bb-venture-tint:#f4eadb;
}

/*
 * Canonical public component primitives.
 * Legacy class names are intentionally aliased during the presentation migration.
 */

/* Actions */
.bb-action,
.bb-button,
.bb-field-button{
 display:inline-flex;
 min-height:2.75rem;
 align-items:center;
 justify-content:center;
 gap:.4rem;
 border:1px solid var(--bb-action-bg,var(--bb-venture-accent,var(--bb-yellow)));
 border-radius:999px;
 padding:.7rem 1rem;
 background:var(--bb-action-bg,var(--bb-venture-accent,var(--bb-yellow)));
 color:var(--bb-action-ink,var(--bb-teal));
 font:inherit;
 font-weight:700;
 line-height:1.15;
 text-align:center;
 text-decoration:none;
 cursor:pointer;
 transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease,color 180ms ease,border-color 180ms ease;
}
.bb-action:hover,.bb-action:focus-visible,
.bb-button:hover,.bb-button:focus-visible,
.bb-field-button:hover,.bb-field-button:focus-visible{
 box-shadow:0 .35rem 0 color-mix(in srgb,var(--bb-action-bg,var(--bb-venture-accent,var(--bb-yellow))) 45%,transparent);
 transform:translateY(-.1rem);
 text-decoration:none;
}
.bb-action--secondary{
 --bb-action-bg:transparent;
 --bb-action-ink:var(--bb-venture-accent,var(--bb-teal));
}
.bb-action--text,.bb-field-link{
 display:inline-flex;
 align-items:center;
 gap:.3rem;
 border:0;
 padding:.2rem 0;
 background:transparent;
 color:inherit;
 font-weight:700;
 text-decoration:underline;
 text-decoration-thickness:.08em;
 text-underline-offset:.22em;
}
.bb-action--text:hover,.bb-action--text:focus-visible,.bb-field-link:hover,.bb-field-link:focus-visible{text-decoration-thickness:.14em}

/* Notices and explanatory callouts */
.bb-notice,
.bb-sawmill-path-note{
 border-left:.3rem solid var(--bb-notice-accent,var(--bb-venture-accent,var(--bb-teal)));
 padding:clamp(1rem,3vw,1.4rem);
 background:var(--bb-notice-bg,var(--bb-venture-tint,#f7f4ed));
 color:inherit;
}
.bb-notice>:first-child,.bb-sawmill-path-note>:first-child{margin-top:0}
.bb-notice>:last-child,.bb-sawmill-path-note>:last-child{margin-bottom:0}

/* Shared focus contract for canonical actions. */
.bb-action:focus-visible,.bb-button:focus-visible,.bb-field-button:focus-visible,.bb-field-link:focus-visible{
 outline:.18rem solid var(--bb-venture-accent,var(--bb-yellow));
 outline-offset:.18rem;
}

@media(max-width:36rem){
 .bb-action,.bb-button,.bb-field-button{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 .bb-action,.bb-button,.bb-field-button{transition:none}
}


/* Standard public page headers. Legacy field/apiary headers remain aliases until templates migrate. */
.bb-page-header{
 padding-block:clamp(2.75rem,6vw,5rem);
 background:var(--bb-page-header-bg,var(--bb-venture-dark,var(--bb-teal)));
 color:var(--bb-page-header-ink,#fff);
}
.bb-page-header__inner,
.bb-section-header__grid{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);
 align-items:center;
 gap:clamp(1.5rem,5vw,4rem);
}
.bb-page-header h1{
 max-width:14ch;
 margin:.3rem 0 .75rem;
 color:inherit;
 font-family:"Cormorant Garamond",Georgia,serif;
 font-size:clamp(2.8rem,6vw,5.25rem);
 line-height:.92;
}
.bb-page-header__lede,
.bb-venture-journal__lede,
.bb-apiary-page__lede{
 max-width:42rem;
 margin:.75rem 0 0;
 color:color-mix(in srgb,currentColor 82%,transparent);
 font-size:1.08rem;
 line-height:1.6;
}
.bb-page-header__media,
.bb-section-header__photo{
 margin:0;
 overflow:hidden;
}
.bb-page-header__media img,
.bb-section-header__photo img{
 display:block;
 width:100%;
 max-height:20rem;
 aspect-ratio:16/9;
 object-fit:cover;
}

/* Canonical pathway cards. Apply directly with .bb-pathway-grid/.bb-pathway-card.
   Legacy landing-card markup migrates venture by venture rather than being forced here. */
.bb-pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.bb-pathway-card{
 display:flex;
 min-height:22rem;
 flex-direction:column;
 padding:clamp(1.5rem,3vw,2rem);
 background:var(--bb-pathway-bg,#fff);
 color:var(--bb-pathway-ink,var(--bb-venture-ink,var(--bb-teal)));
 text-decoration:none;
 transition:transform 180ms ease,box-shadow 180ms ease;
}
.bb-pathway-card:hover,.bb-pathway-card:focus-visible{
 box-shadow:.75rem .75rem 0 color-mix(in srgb,var(--bb-venture-accent,var(--bb-yellow)) 45%,transparent);
 transform:translateY(-.2rem);
 text-decoration:none;
}
.bb-pathway-card__number{
 font-family:"Cormorant Garamond",Georgia,serif;
 font-size:3rem;
 font-weight:700;
 line-height:1;
}
.bb-pathway-card h2,.bb-pathway-card h3{
 margin:auto 0 .75rem;
 font-family:"Cormorant Garamond",Georgia,serif;
 font-size:clamp(2rem,3vw,2.65rem);
 line-height:.98;
}
.bb-pathway-card p{margin:.25rem 0 0;line-height:1.55}

@media(max-width:48rem){
 .bb-page-header__inner,.bb-section-header__grid{grid-template-columns:1fr}
 .bb-page-header__media,.bb-section-header__photo{order:-1}
 .bb-page-header__media img,.bb-section-header__photo img{max-height:15rem}
 .bb-pathway-grid{grid-template-columns:1fr}
 .bb-pathway-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){.bb-pathway-card{transition:none}}


/* Reusable editorial media */
.bb-media{
 display:block;
 margin:0;
 overflow:hidden;
 background:var(--bb-media-bg,#eef3ed);
}
.bb-media--landscape{aspect-ratio:16/9}
.bb-media--card{aspect-ratio:4/3}
.bb-media img{display:block;width:100%;height:100%;object-fit:cover}
.bb-media--offset{box-shadow:.75rem .75rem 0 var(--bb-venture-accent,var(--bb-yellow))}

/* Canonical editorial/article cards. Legacy journal classes are compatibility aliases. */
.bb-article-grid,
.bb-venture-stories__grid,
.bb-apiary-stories__grid,
.bb-homestead-journal-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:1rem;
}
.bb-article-card{
 overflow:hidden;
 border:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 14%,transparent);
 background:#fff;
 color:var(--bb-venture-ink,var(--bb-teal));
}
.bb-article-card__image{
 display:block;
 aspect-ratio:4/3;
 overflow:hidden;
 background:#eef3ed;
}
.bb-article-card__image img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform 220ms ease;
}
.bb-article-card:hover .bb-article-card__image img{transform:scale(1.025)}
.bb-article-card__body{padding:1.25rem}
.bb-article-card h2,.bb-article-card h3{
 margin:.35rem 0 .75rem;
 font-family:"Cormorant Garamond",Georgia,serif;
 font-size:clamp(1.6rem,3vw,2rem);
 line-height:1.05;
}
.bb-article-card h2 a,.bb-article-card h3 a{color:inherit;text-decoration:none}

@media(max-width:64rem){
 .bb-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:40rem){
 .bb-article-grid{grid-template-columns:1fr}
 .bb-media--offset{box-shadow:.5rem .5rem 0 var(--bb-venture-accent,var(--bb-yellow))}
}
@media(prefers-reduced-motion:reduce){
 .bb-article-card__image img{transition:none}
}


/* Canonical catalogs and commerce */
.bb-catalog,
.bb-commerce-page{
 width:min(100% - 2rem,76rem);
 margin-inline:auto;
 padding-block:clamp(2.5rem,6vw,5rem);
 color:var(--bb-venture-ink,var(--bb-teal));
}
.bb-catalog>.bb-shell,
.bb-catalog .bb-shell,
.bb-commerce-page>.bb-shell{width:100%;max-width:none;margin-inline:auto}
.bb-catalog-section__header{max-width:48rem;margin-bottom:clamp(1.5rem,4vw,2.5rem)}
.bb-catalog-section__header h2{margin:.3rem 0 .65rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1}
.bb-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.5rem);width:100%}
.bb-catalog-card{
 display:flex;
 min-width:0;
 overflow:hidden;
 flex-direction:column;
 border:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 14%,transparent);
 background:var(--bb-venture-surface,#fff);
 color:var(--bb-venture-ink,var(--bb-teal));
 text-decoration:none;
}
.bb-catalog-card__image{display:grid;aspect-ratio:4/3;overflow:hidden;place-items:center;background:color-mix(in srgb,var(--bb-venture-tint,#eef3ed) 78%,#fff)}
.bb-catalog-card__image img{display:block;width:100%;height:100%;object-fit:cover}
.bb-catalog-card__image--placeholder span{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(3rem,8vw,5.5rem);font-weight:700;opacity:.28}
.bb-catalog-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1rem,2.5vw,1.4rem)}
.bb-catalog-card__body h2,.bb-catalog-card__body h3{margin:.2rem 0 .65rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1}
.bb-catalog-card__body p{margin:.25rem 0 .8rem;line-height:1.5}
.bb-catalog-card__body>strong:last-child{margin-top:auto;padding-top:.5rem}
.bb-card-scales{display:grid;gap:.45rem;margin:.6rem 0 1rem}
.bb-card-scale{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.84rem}
.bb-dot-scale{display:inline-flex;gap:.22rem}.bb-dot-scale i{width:.48rem;height:.48rem;border:1px solid currentColor;border-radius:50%}.bb-dot-scale i.is-filled{background:currentColor}

.bb-fact-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:1.5rem 0 2.5rem;border-block:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 18%,transparent)}
.bb-fact-strip>div{padding:1.1rem;border-right:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 14%,transparent)}
.bb-fact-strip>div:last-child{border-right:0}.bb-fact-strip dt{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bb-fact-strip dd{margin:.25rem 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:2.1rem;font-weight:700}

.bb-commerce-page{display:grid;gap:1.25rem}
.bb-commerce-page .bb-field-cards__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.bb-commerce-page .bb-field-cards__grid>a,
.bb-lumber-row{
 display:block;
 border:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 15%,transparent);
 padding:clamp(1.35rem,3vw,2rem);
 background:var(--bb-venture-surface,#fff);
 color:inherit;
 text-decoration:none;
}
.bb-commerce-page .bb-field-cards__grid>a{min-height:15rem}
.bb-commerce-page .bb-field-cards__grid h2,.bb-lumber-row h2{margin:.15rem 0 .75rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,3.5vw,2.8rem);line-height:1}
.bb-commerce-page .bb-field-cards__grid p,.bb-lumber-row p{max-width:42rem;line-height:1.6}
.bb-commerce-page .bb-sawmill-path-note{margin-top:.25rem}
.bb-sawmill-how{max-width:52rem;margin-top:clamp(2rem,5vw,4rem)}
.bb-sawmill-how h2{margin-top:2rem;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem)}
.bb-sawmill-request{display:grid;gap:1.25rem;max-width:64rem}
.bb-sawmill-request label{display:grid;gap:.45rem;font-weight:700}
.bb-sawmill-request input,.bb-sawmill-request select,.bb-sawmill-request textarea{width:100%;border:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 28%,transparent);border-radius:.35rem;padding:.75rem;background:#fff;color:inherit;font:inherit}
.bb-sawmill-request textarea{min-height:7rem;resize:vertical}
.bb-sawmill-request fieldset{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;border:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 15%,transparent);padding:1rem}
.bb-sawmill-request fieldset label{display:flex;align-items:center;gap:.4rem;font-weight:400}.bb-sawmill-request fieldset input{width:auto}
.bb-custom-sawn__builder{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);gap:1.25rem;align-items:start}
.bb-custom-sawn__builder>div:first-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.bb-custom-sawn__builder>div:first-child .bb-term-help,.bb-custom-sawn__builder>div:first-child .bb-field-button{grid-column:1/-1}
.bb-custom-sawn__result{position:sticky;top:1rem;border-left:.3rem solid var(--bb-venture-accent);padding:1.25rem;background:var(--bb-venture-tint)}
.bb-custom-sawn__result>strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem}

.bb-mushroom-yard{width:min(100% - 2rem,76rem)}
.bb-mushroom-yard__hero{overflow:hidden;background:var(--bb-venture-surface,#fff)}
.bb-mushroom-yard__hero-media{aspect-ratio:16/7;overflow:hidden}.bb-mushroom-yard__hero-media img{width:100%;height:100%;object-fit:cover}
.bb-mushroom-yard__hero-copy{padding-block:clamp(1.5rem,4vw,2.5rem)}
.bb-mushroom-yard__method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.bb-mushroom-yard__method-grid article{overflow:hidden;background:#fff}.bb-mushroom-yard__method-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.bb-mushroom-yard__method-grid article>div{padding:1.25rem}
.bb-mushroom-yard__harvest{margin-block:clamp(2.5rem,6vw,5rem);background:var(--bb-venture-tint)}.bb-mushroom-yard__harvest-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;padding-block:2rem}.bb-mushroom-yard__harvest figure{margin:0}.bb-mushroom-yard__harvest img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.bb-mushroom-yard__profile-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.bb-mushroom-yard__profile-links a{display:grid;gap:.25rem;border:1px solid color-mix(in srgb,var(--bb-venture-ink) 14%,transparent);padding:1rem;background:#fff;color:inherit;text-decoration:none}

@media(max-width:64rem){
 .bb-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bb-fact-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .bb-fact-strip>div:nth-child(3){border-right:0}
 .bb-mushroom-yard__profile-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:44rem){
 .bb-catalog,.bb-commerce-page,.bb-mushroom-yard{width:min(100% - 1.25rem,76rem);padding-block:2rem}
 .bb-catalog-grid,.bb-commerce-page .bb-field-cards__grid,.bb-mushroom-yard__method-grid,.bb-mushroom-yard__harvest-grid,.bb-mushroom-yard__profile-links,.bb-custom-sawn__builder{grid-template-columns:1fr}
 .bb-catalog-card__image{aspect-ratio:16/10}
 .bb-fact-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bb-fact-strip>div{border-bottom:1px solid color-mix(in srgb,var(--bb-venture-ink) 14%,transparent)}
 .bb-fact-strip>div:nth-child(even){border-right:0}
 .bb-custom-sawn__builder>div:first-child{grid-template-columns:1fr}
 .bb-custom-sawn__result{position:static}
}


/* Post-audit catalog and commerce refinements */
.bb-catalog-section + .bb-catalog-section{padding-top:clamp(1rem,3vw,2rem);border-top:1px solid color-mix(in srgb,var(--bb-venture-ink,var(--bb-teal)) 12%,transparent)}
.bb-commerce-page{padding-top:clamp(1.75rem,4vw,3rem)}
.bb-sawmill-request{row-gap:1rem}
.bb-sawmill-request .bb-term-help{margin-top:-.25rem}
.bb-sawmill-request .bb-sawmill-path-note{margin-block:.5rem}

@media(max-width:44rem){
 .bb-catalog-section{margin-block:2.25rem}
 .bb-catalog-section__header{margin-bottom:1rem}
 .bb-catalog-section__header h2{font-size:clamp(1.9rem,9vw,2.5rem)}
 .bb-catalog-grid{gap:.75rem}
 .bb-catalog-card{
  display:grid;
  grid-template-columns:minmax(8.75rem,42%) minmax(0,1fr);
  align-items:stretch;
 }
 .bb-catalog-card__image{
  width:100%;
  height:auto;
  min-height:9.5rem;
  aspect-ratio:1/1;
 }
 .bb-catalog-card__image img{width:100%;height:100%;min-height:0;object-fit:cover}
 .bb-catalog-card__image--placeholder span{font-size:2.6rem}
 .bb-catalog-card__body{min-width:0;padding:.9rem}
 .bb-catalog-card__body h2,.bb-catalog-card__body h3{margin:.1rem 0 .4rem;font-size:1.45rem}
 .bb-catalog-card__body p{display:-webkit-box;overflow:hidden;margin:.15rem 0 .5rem;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.9rem;line-height:1.4}
 .bb-card-scales{gap:.3rem;margin:.35rem 0 .55rem}
 .bb-card-scale{font-size:.72rem}
 .bb-dot-scale i{width:.4rem;height:.4rem}
 .bb-catalog-card__body>strong:last-child{font-size:.82rem}
 .bb-commerce-page{padding-top:1.25rem}
 .bb-sawmill-request{gap:.85rem}
}
@media(max-width:23rem){
 .bb-catalog-card{grid-template-columns:minmax(6.75rem,38%) minmax(0,1fr)}
 .bb-catalog-card__image{width:100%;min-height:7.5rem}
 .bb-card-scales{display:none}
}
