/* Constrained template safety: content drives height; owner copy never relies on a fixed character count. */
.bf-section,.bf-campaign-copy,.bf-card,.bf-maintenance-head>div,.bf-band-copy,.bf-home-contact>div{min-width:0}.bf-site :is(h1,h2,h3,p,a,summary){overflow-wrap:anywhere}.bf-site .bf-button,.bf-site .bf-nav-cta{white-space:normal!important;height:auto;min-width:0;text-align:center}.bf-actions{flex-wrap:wrap}.bf-site .bf-card{height:auto!important;display:flex;flex-direction:column}.bf-site .bf-card>.bf-button{margin-top:auto}.bf-site .bf-campaign{height:auto!important;min-height:600px!important}.bf-site .bf-campaign-copy{height:auto!important;min-height:0!important;padding-bottom:110px!important}.bf-site .bf-band-copy{height:auto!important}.bf-site .bf-intro{height:auto!important;min-height:0!important}.bf-site .bf-hero-benefits{position:relative!important;inset:auto!important;flex-wrap:wrap}.bf-site .bf-grid{align-items:stretch}.bf-mobile-menu{max-height:calc(100dvh - 24px);overflow:auto!important}.smb-editor details{margin-block:18px;padding:16px;border:1px solid #d4dfcb;border-radius:12px}.smb-editor summary{cursor:pointer;font-weight:650}.smb-editor fieldset{min-width:0;margin-block:18px;padding:20px;border:1px solid #d4dfcb;border-radius:12px}.smb-preview-scroll{overflow:auto;max-width:100%;background:#eaf0e5;padding:12px}.smb-preview-scroll iframe{width:390px;height:720px;border:0;max-width:none}.smb-editor [data-smb-feedback]{color:#4e764a}.smb-editor [data-smb-proposal]{padding:16px;background:#eaf0e5}.bf-site .bf-simple-action{height:auto!important;flex-wrap:wrap}.bf-simple-popup{max-height:90dvh;overflow:auto}.bf-site .bf-ride-campaign,.bf-site .bf-workshop-campaign{height:auto!important;min-height:360px}
@media(max-width:767px){.bf-site .bf-campaign{display:flex!important;flex-direction:column;min-height:0!important;height:auto!important}.bf-site .bf-campaign>picture{display:block;order:2;position:relative!important;inset:auto!important;height:auto!important;background:#edf1e8}.bf-site .bf-campaign .bf-campaign-bg{position:relative!important;inset:auto!important;height:auto!important;max-height:none!important;width:100%;aspect-ratio:16/9;object-fit:contain!important;display:block}.bf-site .bf-campaign .bf-campaign-copy{order:1;position:relative!important;inset:auto!important;padding-bottom:32px!important;max-width:none!important}.bf-site .bf-campaign .bf-campaign-brand{order:3;position:relative!important;inset:auto!important;background:#edf1e8;padding:18px 24px;color:#112019}.bf-site .bf-campaign[data-bf-tint="on"]>picture:after{inset:0!important;height:auto!important}.bf-site .bf-campaign .bf-campaign-shade{display:none}.bf-site .bf-campaign h1{font-size:clamp(34px,9vw,48px)!important}.bf-site .bf-card,.bf-site .bf-contact-card{padding:24px}.bf-site .bf-workshop-values{flex-wrap:wrap}.bf-site .bf-band-copy{max-width:none!important}.bf-site .bf-ride-campaign,.bf-site .bf-workshop-campaign{display:block;padding-bottom:36px;min-height:0!important}.bf-site .bf-workshop-values{margin-top:32px}.bf-site .bf-intro h1{font-size:clamp(34px,9vw,48px)!important}.bf-site .bf-maintenance-head{display:block}.bf-site .bf-maintenance-head>p{margin-top:20px}}
@media(max-width:767px){.bf-site .bf-campaign>picture{isolation:isolate}.bf-site .bf-campaign .bf-campaign-bg{z-index:0!important}}

/* Hero canvas stays identical across all public page templates. */
.bf-site :is(.bf-campaign,.bf-hero,.bf-intro){width:100%;max-width:none!important;margin-inline:0;box-sizing:border-box}
.bf-site .bf-intro-visual{display:none}
@media(max-width:767px){
 .bf-site .bf-campaign>picture{position:relative!important;isolation:isolate;overflow:hidden;flex-shrink:0;width:100%;min-height:220px;background:#e5ecdf}
 .bf-site .bf-campaign .bf-campaign-bg{position:relative!important;top:0!important;bottom:auto!important;left:0!important;right:auto!important;z-index:0!important;transform:none!important;opacity:1!important;visibility:visible!important;width:100%!important;height:auto!important;min-height:220px;aspect-ratio:3/2;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal}
 .bf-site .bf-campaign .bf-campaign-copy{padding-top:116px!important;padding-bottom:26px!important}
 .bf-site .bf-campaign[data-bf-tint="on"]>picture:after{z-index:1;background:rgba(78,118,74,.16);top:0;bottom:0!important;height:100%!important}
 .bf-site .bf-intro{padding-bottom:0!important;overflow:hidden}
 .bf-site .bf-intro-visual{display:block;position:relative;isolation:isolate;grid-column:1/-1;width:calc(100% + 2 * var(--bf-gutter));margin:28px calc(-1 * var(--bf-gutter)) 0;aspect-ratio:3/2;background:#e5ecdf;overflow:hidden}
 .bf-site .bf-intro-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
 .bf-site .bf-intro-contain .bf-intro-image{object-fit:contain;padding:12px}
 .bf-site .bf-intro-tinted:after{content:"";position:absolute;inset:0;background:rgba(78,118,74,.22);pointer-events:none}
}
@media(max-width:767px){.bf-site .bf-intro{padding-inline:24px!important}.bf-site .bf-intro-visual{width:calc(100% + 48px);margin-inline:-24px}}

/* Explicit stacking prevents the hero photo falling behind the page canvas. */
.bf-site .bf-campaign{position:relative;isolation:isolate}
.bf-site .bf-campaign>picture{z-index:0}
.bf-site .bf-campaign .bf-campaign-bg{z-index:0!important}
.bf-site .bf-campaign .bf-campaign-shade{z-index:1;pointer-events:none}
.bf-site .bf-campaign :is(.bf-campaign-copy,.bf-campaign-brand,.bf-vertical-note){z-index:2}
@media(min-width:768px) and (max-width:1100px){
 .bf-site .bf-campaign{display:flex!important;flex-direction:column;min-height:0!important;height:auto!important}
 .bf-site .bf-campaign>picture{display:block;order:2;position:relative!important;inset:auto!important;isolation:isolate;overflow:hidden;width:100%;height:auto!important;background:#e5ecdf}
 .bf-site .bf-campaign .bf-campaign-bg{position:relative!important;inset:auto!important;transform:none!important;display:block;width:100%;height:auto!important;aspect-ratio:2/1;object-fit:contain!important;object-position:center!important;opacity:1!important;visibility:visible!important}
 .bf-site .bf-campaign .bf-campaign-copy{order:1;position:relative!important;inset:auto!important;width:100%;max-width:none!important;padding-top:150px!important;padding-bottom:30px!important}
 .bf-site .bf-campaign .bf-campaign-brand{order:3;position:relative!important;inset:auto!important;background:#edf1e8;color:#112019;padding:18px 6%}
 .bf-site .bf-campaign .bf-campaign-shade{display:none}
 .bf-site .bf-campaign .bf-hero-benefits{display:none}
}

.bf-site .bf-campaign .bf-inline-bike{display:none}
@media(max-width:1100px){
 .bf-site .bf-campaign>picture{display:none!important}
 .bf-site .bf-campaign .bf-campaign-copy{background:#0b1d12;padding-bottom:32px!important}
 .bf-site .bf-campaign .bf-inline-bike{display:block;position:relative!important;inset:auto!important;isolation:isolate;overflow:hidden;width:100%;margin:12px 0 24px;background:#dce7d5;border-radius:14px}
 .bf-site .bf-campaign .bf-inline-bike .bf-campaign-bg{display:block;position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/10;object-fit:contain!important;object-position:center!important;z-index:0!important}
 .bf-site .bf-campaign .bf-inline-bike:after{content:"";position:absolute;inset:0;background:rgba(78,118,74,.12);pointer-events:none}
}
@media(min-width:520px) and (max-width:1100px){
 .bf-site .bf-campaign .bf-campaign-copy{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);column-gap:22px;align-items:start}
 .bf-site .bf-campaign-copy>.bf-eyebrow{grid-column:1/-1}
 .bf-site .bf-campaign-copy>h1{grid-column:1;grid-row:2;font-size:clamp(34px,5.5vw,54px)!important;letter-spacing:-1.8px}
 .bf-site .bf-campaign-copy>p:not(.bf-eyebrow){grid-column:1;grid-row:3}
 .bf-site .bf-campaign-copy>.bf-inline-bike{grid-column:2;grid-row:2/5;align-self:center;margin:0}
 .bf-site .bf-campaign-copy>.bf-actions{grid-column:1;grid-row:4;flex-wrap:wrap!important;gap:10px!important}
 .bf-site .bf-campaign-copy>.bf-hero-benefits{display:none}
}
/* The homepage keeps its studio photograph, with a crop around the whole bicycle. */
@media(max-width:1100px){
 .bf-site .bf-home-studio .bf-inline-bike{aspect-ratio:3/2;background:#0b1d12;border-radius:0}
 .bf-site .bf-home-studio .bf-inline-bike .bf-campaign-bg{height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:right center!important;transform:scale(1.15)!important;transform-origin:right center!important}
 .bf-site .bf-home-studio .bf-inline-bike:after{background:linear-gradient(180deg,rgba(11,29,18,.2),transparent 35%)}
}
@media(max-width:519px){
 .bf-site .bf-home-studio .bf-campaign-copy{padding-inline:24px!important}
 .bf-site .bf-home-studio .bf-inline-bike{width:calc(100% + 48px);margin:20px -24px 24px}
}

/* Homepage art direction: a continuous studio canvas and deliberate editorial pacing. */
.home.bf-site .bf-maintenance{padding-block:96px 104px}
.home.bf-site .bf-maintenance-head{margin-bottom:40px}
.home.bf-site .bf-reviews-section{padding-block:96px;gap:40px 8vw}
.home.bf-site .bf-review-card{box-shadow:none;background:rgba(16,36,24,.48);border-radius:12px}
.home.bf-site .bf-collection-campaign{padding-block:112px;gap:64px;align-items:center}
.home.bf-site .bf-collection-campaign>div{max-width:430px}
.home.bf-site .bf-selection{padding-block:64px}
.home.bf-site .bf-ride-campaign{min-height:460px;padding-block:80px;display:flex;align-items:center}
.home.bf-site .bf-practical-faq{padding-block:88px;max-width:1120px;margin-inline:auto}
.home.bf-site .bf-home-contact{padding-block:64px;background:#e3ecd9;border-top:1px solid #c7d8bc}
@media(max-width:1100px){
 .home.bf-site .bf-home-studio .bf-inline-bike:after{background:linear-gradient(180deg,#0b1d12 0%,transparent 16%,transparent 82%,#0b1d12 100%)}
 .home.bf-site .bf-home-studio .bf-campaign-brand{background:#0b1d12;color:#d6e5cc;padding-block:16px 24px;border-top:1px solid #b8e5a722}
 .home.bf-site .bf-home-studio .bf-campaign-brand strong{color:#d6e5cc}
 .home.bf-site .precision-rail{padding-block:16px;background:#e8eee2}
}
@media(max-width:767px){
 .home.bf-site .bf-home-studio .bf-campaign-copy{display:block;padding-inline:24px!important;padding-bottom:24px!important}
 .home.bf-site .bf-home-studio .bf-campaign-copy>h1{font-size:clamp(40px,10.5vw,60px)!important;line-height:1.03;letter-spacing:-2.2px;max-width:530px;margin-bottom:20px}
 .home.bf-site .bf-home-studio .bf-campaign-copy>p:not(.bf-eyebrow){max-width:380px;font-size:14px;line-height:1.65;margin-bottom:0}
 .home.bf-site .bf-home-studio .bf-inline-bike{width:calc(100% + 48px);margin:10px -24px 12px;aspect-ratio:3/2}
 .home.bf-site .bf-home-studio .bf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px!important;align-items:stretch}
 .home.bf-site .bf-home-studio .bf-actions .bf-button{font-size:12px;padding:16px 12px;gap:8px;justify-content:center;min-height:52px}
 .home.bf-site .bf-home-studio .bf-actions .bf-outline{background:transparent;border-color:#b8e5a74d;color:#d6e5cc}
 .home.bf-site .bf-home-studio .bf-hero-benefits{display:none}
 .home.bf-site .bf-maintenance{padding:64px 24px 72px}
 .home.bf-site .bf-maintenance-head{margin-bottom:30px}
 .home.bf-site .bf-maintenance .bf-card{border-radius:16px}
 .home.bf-site .bf-reviews-section{padding:72px 24px;gap:28px}
 .home.bf-site .bf-reviews-section h2{margin-block:16px 24px}
 .home.bf-site .bf-reviews-panel{border-radius:12px;padding:24px;background:rgba(16,36,24,.62);box-shadow:none}
 .home.bf-site .bf-review-excerpts{gap:0}
 .home.bf-site .bf-review-card{border:none;border-top:1px solid #b8e5a733;border-radius:0;background:transparent;padding:28px 0}
 .home.bf-site .bf-review-card:last-child{padding-bottom:0}
 .home.bf-site .bf-collection-campaign{padding:80px 24px 64px;gap:32px}
 .home.bf-site .bf-selection{padding:48px 24px}
 .home.bf-site .bf-ride-campaign{padding:64px 24px;min-height:380px;display:flex;align-items:center}
 .home.bf-site .bf-practical-faq{padding:64px 24px}
 .home.bf-site .bf-home-contact{padding:44px 24px}
}
@media(max-width:359px){.home.bf-site .bf-home-studio .bf-actions{grid-template-columns:1fr}}

/* Compact mobile maintenance cards on Home and Werkplaats; details expand naturally. */
@media(max-width:767px){
 .bf-site .bf-grid:has(>.bf-card .bf-price){gap:12px!important}
 .bf-site .bf-card:has(.bf-price){display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px;padding:20px!important;min-height:0!important;border-radius:14px}
 .bf-site .bf-card:has(.bf-price)>.bf-eyebrow{display:none}
 .bf-site .bf-card:has(.bf-price)>h3{grid-column:1;margin:0!important;font-size:24px!important;line-height:1.15;align-self:center}
 .bf-site .bf-card>.bf-price{grid-column:2;margin:0!important;font-size:28px!important;line-height:1.15;letter-spacing:-1px;text-align:right}
 .bf-site .bf-card:has(.bf-price)>p:not(.bf-eyebrow){grid-column:1/-1;margin:0!important;font-size:13px;line-height:1.55}
 .bf-site .bf-card:has(.bf-price)>.bf-package-use{font-size:11px!important;margin-top:2px!important}
 .bf-site .bf-card:has(.bf-price)>details{grid-column:1/-1;margin:6px 0 0!important;padding:0!important;border-top:1px solid #dce5d6}
 .bf-site .bf-card:has(.bf-price)>details>summary{font-size:12px!important;padding:12px 0!important;min-height:44px;box-sizing:border-box}
 .bf-site .bf-card:has(.bf-price)>details ul{font-size:13px;line-height:1.6;margin:0 0 14px;padding-left:18px}
 .bf-site .bf-card:has(.bf-price)>.bf-button{grid-column:1/-1;margin:0!important;min-height:44px;padding:12px 18px!important;font-size:12px!important;justify-content:space-between}
}
@media(max-width:767px){
 .bf-site .bf-card:has(h3>.bf-price)>h3{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:center}
 .bf-site .bf-card h3>.bf-price{font-size:28px!important;line-height:1.15;margin:0!important;white-space:nowrap}
 .bf-site .bf-card:has(.bf-price)>.bf-textlink{grid-column:1/-1;display:flex;align-items:center;min-height:44px;margin:0!important;font-size:13px}
}

/* Single full-width workshop hero, with clearance beneath the floating header. */
.bf-site .bf-workshop-hero{width:100%;max-width:none!important;margin-inline:0;box-sizing:border-box;position:relative;isolation:isolate;min-height:560px!important;padding-top:180px!important;padding-bottom:64px!important}
.bf-site .bf-workshop-hero .bf-band-bg{z-index:0!important;object-position:60% center}
.bf-site .bf-workshop-hero .bf-band-shade{z-index:1;pointer-events:none}
.bf-site .bf-workshop-hero :is(.bf-band-copy,.bf-workshop-values){position:relative;z-index:2}
.bf-site .bf-workshop-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-.045em;margin:16px 0 20px;color:#f2f6ed}
@media(max-width:767px){
 .bf-site .bf-workshop-hero{padding:160px 24px 36px!important;min-height:0!important}
 .bf-site .bf-workshop-hero h1{font-size:clamp(38px,8vw,52px)!important}
 .bf-site .bf-workshop-hero .bf-band-copy{width:100%;max-width:420px!important}
 .bf-site .bf-workshop-hero .bf-band-bg{object-position:65% center}
 .bf-site .bf-workshop-hero .bf-workshop-values{margin-top:32px}
}

/* Contact is a short route to a conversation, directions and practical information. */
.bf-site .bf-contact-quick{grid-column:1/-1;margin-top:24px}
@media(max-width:767px){
 .bf-site .bf-contact-intro{display:block!important;padding:160px 24px 28px!important}
 .bf-site .bf-contact-intro h1{font-size:clamp(36px,8vw,48px)!important;line-height:1.06;letter-spacing:-1.8px;margin-bottom:18px}
 .bf-site .bf-contact-intro .bf-lead,.bf-site .bf-contact-intro>div>p:not(.bf-eyebrow){font-size:14px;line-height:1.6;max-width:430px;margin-bottom:0}
 .bf-site .bf-contact-intro .bf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
 .bf-site .bf-contact-intro .bf-actions .bf-button{font-size:12px;min-height:48px;padding:14px 12px;gap:8px;justify-content:center}
 .bf-site .bf-contact-intro .bf-actions>.bf-textlink{grid-column:1/-1;font-size:13px;min-height:44px;display:flex;align-items:center;margin:0}
 .bf-site .bf-contact-grid{padding:8px 24px 56px!important;gap:32px}
 .bf-site .bf-contact-grid .bf-contact-card{padding:24px!important;border-radius:14px}
 .bf-site .bf-contact-grid h2{font-size:28px!important;line-height:1.1;letter-spacing:-1px;margin-bottom:18px}
 .bf-site .bf-contact-card>p:not(.bf-eyebrow){font-size:14px;line-height:1.55;margin-bottom:16px}
 .bf-site .bf-contact-card>.bf-textlink{display:flex;width:fit-content;align-items:center;min-height:44px;font-size:13px;margin:0!important;padding:8px 0}
 .bf-site .bf-contact-card .bf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
 .bf-site .bf-contact-card .bf-actions .bf-button{justify-content:center;padding:12px;min-height:44px;font-size:12px}
 .bf-site .bf-contact-hours .bf-hours{font-size:13px}
 .bf-site .bf-contact-hours .bf-hours>div{padding-block:10px}
 .bf-site .bf-contact-hours>p{font-size:13px;line-height:1.6}
}
@media(max-width:359px){.bf-site .bf-contact-intro .bf-actions{grid-template-columns:1fr}}
@media(max-width:767px){.bf-site .bf-contact-intro .bf-actions .bf-outline{background:transparent;color:#112019;border:1px solid #a9bea0}}
.bf-site .bf-contact-intro .bf-actions .bf-outline{background:transparent;color:#112019;border:1px solid #a9bea0}
.bf-site .bf-contact-intro .bf-actions .bf-outline{background:transparent!important;color:#112019!important;border:1px solid #a9bea0!important}
