/* ===========================================================
   Brantjes Fresh — light, rounded, friendly
   (styles shared content; overrides the dark Bold sections)
   =========================================================== */
:root{
  --green:#0f7a3d;--green-2:#16a34a;--green-deep:#0a5a2c;--mint:#e4f5ea;--mint-2:#d2eedd;
  --ink:#14241b;--ink-soft:#52615a;--line:#e6efe9;--white:#fff;--sun:#ffd23f;
  --sans:"Plus Jakarta Sans",system-ui,sans-serif;
}
*{box-sizing:border-box;}
html{overflow-x:clip;max-width:100%;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip;}
h1,h2,h3,h4,h5,h6{font-family:var(--sans);letter-spacing:-.02em;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.bj-skip-link:focus{left:8px;top:8px;width:auto;height:auto;clip:auto;background:#fff;color:#000;padding:10px 16px;z-index:1000;}

/* ---- layout ---- */
.bj-main{width:100%;}
.bj-content{width:100%;}
.bj-content > *{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
.bj-content > .alignwide{max-width:1280px;}
.bj-content > .alignfull{max-width:none;padding-left:0;padding-right:0;}
.bj-content > *:first-child{margin-top:0;}

/* ---- header: floating pill navbar ---- */
.bj-site-header{position:sticky;top:0;z-index:60;padding:14px 0;background:transparent;}
.bj-header-inner{max-width:1240px;margin:0 auto;padding:0 24px;}
.bj-navbar{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:22px;display:flex;align-items:center;gap:16px;padding:12px 14px 12px 20px;box-shadow:0 10px 30px -18px rgba(15,122,61,.4);}
.bj-brand{display:flex;align-items:center;gap:11px;flex:none;}
.bj-brand .custom-logo,.bj-brand img,.custom-logo{width:46px!important;height:46px!important;object-fit:contain;}
.bj-brand .custom-logo-link{display:inline-flex;line-height:0;flex:none;}
.bj-brand-text{display:flex;flex-direction:column;line-height:1;text-decoration:none;}
.bj-brand-text strong{font-weight:800;font-size:18px;color:var(--ink);}
.bj-brand-text small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:700;margin-top:3px;}
.bj-nav{margin-left:auto;}
.bj-menu{list-style:none;display:flex;gap:4px;margin:0;padding:0;font-size:15px;font-weight:600;}
.bj-menu li{position:relative;}
.bj-menu a{display:block;padding:9px 16px;border-radius:999px;color:var(--ink-soft);transition:.2s;}
.bj-menu a:hover,.bj-menu .current-menu-item>a{background:var(--mint);color:var(--green);}
.bj-menu .sub-menu{position:absolute;top:100%;left:0;background:#fff;min-width:200px;padding:8px;display:none;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px -20px rgba(0,0,0,.25);}
.bj-menu li:hover>.sub-menu{display:block;}
.bj-menu .sub-menu a{padding:8px 14px;}
.bj-call-btn{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#fff;font-weight:700;font-size:15px;padding:12px 20px;border-radius:999px;flex:none;transition:.2s;box-shadow:0 8px 20px -8px rgba(15,122,61,.8);}
.bj-call-btn:hover{background:var(--green-deep);transform:translateY(-2px);}
.bj-call-btn svg{width:17px;height:17px;}
.bj-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.bj-burger span{width:24px;height:2.5px;background:var(--ink);display:block;border-radius:2px;transition:.25s;}
.bj-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.bj-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.bj-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
@media(max-width:940px){
  .bj-nav{position:absolute;left:24px;right:24px;top:78px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px -20px rgba(0,0,0,.25);margin:0;max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .bj-nav.bj-open{max-height:70vh;}
  .bj-menu{flex-direction:column;gap:2px;padding:12px;font-size:16px;}
  .bj-menu a{padding:12px 14px;}
  .bj-menu .sub-menu{position:static;display:block;border:none;box-shadow:none;padding:4px 0 4px 14px;}
  .bj-burger{display:flex;}
}
@media(max-width:600px){.bj-call-btn{display:none;}.bj-brand{flex:0 1 auto;min-width:0;}.bj-brand-text{min-width:0;}.bj-brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;}.bj-brand-text small{display:none;}.bj-header-inner{padding:0 14px;}}

/* ---- eyebrow as mint pill ---- */
.bj-eyebrow{display:block!important;background:transparent!important;color:var(--green)!important;padding:0!important;font-weight:700!important;font-size:13px!important;letter-spacing:.04em!important;text-transform:uppercase!important;margin:0 0 12px!important;}
.bj-eyebrow.bj-on-dark{color:var(--green)!important;}

/* ---- headings: sentence case ---- */
.bj-display,.bj-h2{text-transform:none!important;font-weight:800!important;letter-spacing:-.02em!important;line-height:1.05!important;}
.bj-lead{font-size:18px;color:var(--ink-soft)!important;}
.bj-lime{color:var(--green)!important;}
.bj-outline{-webkit-text-stroke:0!important;color:var(--green)!important;}

/* ---- sections ---- */
.bj-section{padding-top:80px;padding-bottom:80px;}
@media(max-width:781px){.bj-section{padding-top:56px;padding-bottom:56px;}}
.bj-hero::before{display:none!important;}

/* dark forest sections -> light mint with dark text */
.bj-section.has-forest-background-color{background-color:var(--mint)!important;color:var(--ink)!important;}
.bj-section.has-forest-background-color.has-white-color,
.bj-section.has-forest-background-color .has-white-color{color:var(--ink)!important;}
.bj-section.has-forest-background-color [style*="#fff"],
.bj-section.has-forest-background-color [style*="#ffffff"]{color:var(--ink)!important;}
.bj-section.has-forest-background-color .bj-lead{color:var(--ink-soft)!important;}
/* paper -> soft mint-white */
.bj-section.has-paper-background-color{background-color:#f5fbf7!important;}

/* lime CTA -> green gradient panel */
.bj-section.has-lime-background-color{background:linear-gradient(150deg,var(--green),var(--green-deep))!important;color:#fff!important;}
.bj-section.has-lime-background-color .bj-h2,
.bj-section.has-lime-background-color p,
.bj-section.has-lime-background-color.has-forest-color{color:#fff!important;}
.bj-section.has-lime-background-color .bj-eyebrow{color:#fff!important;}

/* rounded media inside sections */
.bj-section .wp-block-image img{border-radius:22px;}

/* ---- buttons (pills) ---- */
.bj-btn-lime .wp-block-button__link{background:var(--green)!important;color:#fff!important;border-radius:999px!important;padding:13px 24px!important;font-weight:700;border:none!important;box-shadow:0 8px 20px -8px rgba(15,122,61,.8);transition:.2s;}
.bj-btn-lime .wp-block-button__link:hover{background:var(--green-deep)!important;transform:translateY(-2px);}
.bj-btn-ghost .wp-block-button__link{background:#fff!important;border:1.5px solid var(--line)!important;color:var(--ink)!important;border-radius:999px!important;padding:12px 24px!important;font-weight:700;transition:.2s;}
.bj-btn-ghost .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(0,0,0,.25);}
.bj-btn-dark .wp-block-button__link{background:var(--green)!important;color:#fff!important;border-radius:999px!important;padding:13px 24px!important;font-weight:700;border:none!important;}
.bj-btn-dark .wp-block-button__link:hover{background:var(--green-deep)!important;}
.has-lime-background-color .bj-btn-dark .wp-block-button__link{background:#fff!important;color:var(--green)!important;}
.has-lime-background-color .bj-btn-ghost .wp-block-button__link{background:transparent!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important;}

/* ---- hero media + stat bar ---- */
.bj-hero-img img{height:440px;object-fit:cover;border-radius:28px!important;border:none!important;}
@media(max-width:781px){.bj-hero-img img{height:320px;}}
.bj-stats{display:flex!important;flex-wrap:wrap;gap:14px!important;border-top:none!important;margin-top:40px!important;}
.bj-stats > .wp-block-column{flex:1 1 160px;border-right:none!important;padding:18px 20px!important;background:#fff;border:1px solid var(--line);border-radius:18px;}
.bj-stats strong{color:var(--green)!important;font-family:var(--sans)!important;font-size:clamp(20px,2.4vw,26px)!important;font-weight:800!important;display:block;line-height:1;}
.bj-stats .bj-stat-label,.bj-stats p{color:var(--ink-soft)!important;margin:6px 0 0;}

/* ---- marquee ---- */
.bj-marquee{background:var(--mint)!important;color:var(--green);overflow:hidden;white-space:nowrap;padding:16px 0!important;font-weight:700;font-size:18px;}
.bj-marquee .bj-marquee-track{display:inline-flex;animation:bj-scroll 30s linear infinite;}
.bj-marquee .bj-marquee-track span{padding:0 26px;display:inline-flex;align-items:center;gap:26px;}
.bj-marquee .bj-marquee-track span::after{content:"\2726";color:var(--green-2);}
@keyframes bj-scroll{to{transform:translateX(-50%);}}

/* ---- services as cards ---- */
.bj-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;}
.bj-head-row .bj-head-copy{max-width:330px;}
.bj-svc-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important;border:none!important;}
.bj-svc-grid > *{margin:0;}
.bj-svc-cell{border:1.5px solid var(--line)!important;border-radius:24px!important;padding:28px!important;background:#fff!important;min-height:auto!important;display:flex!important;flex-direction:column;transition:.25s;}
.bj-svc-cell:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(15,122,61,.5);background:#fff!important;}
.bj-svc-cell:hover *{color:inherit!important;}
.bj-svc-num{font-family:var(--sans)!important;font-size:13px!important;letter-spacing:0!important;color:var(--green)!important;text-transform:none!important;font-weight:700!important;margin:0 0 6px!important;}
.bj-svc-cell h3,.bj-svc-cell h2{color:var(--ink)!important;text-transform:none!important;font-size:21px!important;margin:0 0 9px!important;font-weight:700;}
.bj-svc-cell p{color:var(--ink-soft)!important;margin:0;font-size:15px;}
.bj-svc-cell a{color:inherit;}
.bj-svc-cell.bj-svc-cta{background:var(--green)!important;border-color:var(--green)!important;}
.bj-svc-cell.bj-svc-cta *{color:#fff!important;}
.bj-svc-cell.bj-svc-cta .bj-svc-num{color:rgba(255,255,255,.82)!important;}
@media(max-width:900px){.bj-svc-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:600px){.bj-svc-grid{grid-template-columns:1fr!important;}}

/* ---- pills ---- */
.bj-pills{display:flex;flex-wrap:wrap;gap:8px;}
.bj-pill{border:1.5px solid var(--line)!important;background:#fff;color:var(--ink)!important;border-radius:999px!important;text-transform:none!important;font-weight:600!important;letter-spacing:0!important;padding:8px 15px;display:inline-block;}

/* ---- gallery (home mosaic) ---- */
.bj-gallery{display:grid!important;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:14px;}
.bj-gallery .wp-block-image{margin:0;height:100%;}
.bj-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover;border-radius:22px;}
.bj-gallery .bj-ga{grid-column:span 5;grid-row:span 2;}
.bj-gallery .bj-gb{grid-column:span 7;grid-row:span 2;}
.bj-gallery .bj-gc,.bj-gallery .bj-gd,.bj-gallery .bj-ge{grid-column:span 4;}
.bj-gallery .bj-gf,.bj-gallery .bj-gg{grid-column:span 6;}
@media(max-width:781px){.bj-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}.bj-gallery>*{grid-column:span 1!important;grid-row:span 1!important;}}

/* ---- gallery page large + before/after ---- */
.bj-gallery-lg{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;}
.bj-gallery-lg .bj-gtile{margin:0;}
.bj-gallery-lg .bj-gtile img{width:100%;height:330px;object-fit:cover;border-radius:24px;cursor:zoom-in;transition:transform .3s;}
.bj-gallery-lg .bj-gtile:hover img{transform:scale(1.02);}
.bj-gallery-lg .bj-gfeature{grid-column:span 2;grid-row:span 2;}
.bj-gallery-lg .bj-gfeature img{height:100%;min-height:676px;}
@media(max-width:900px){.bj-gallery-lg{grid-template-columns:repeat(2,1fr);}.bj-gallery-lg .bj-gfeature{grid-column:span 2;grid-row:auto;}.bj-gallery-lg .bj-gfeature img{min-height:330px;}}
@media(max-width:600px){.bj-gallery-lg{grid-template-columns:1fr;}.bj-gallery-lg .bj-gtile img{height:260px;}.bj-gallery-lg .bj-gfeature{grid-column:span 1;}}
.bj-ba .wp-block-image{margin:0;}
.bj-ba .wp-block-image img{width:100%;height:300px;object-fit:cover;border-radius:24px;cursor:zoom-in;}
.bj-ba .wp-block-image figcaption{margin:0;text-align:center;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 0 0;color:var(--ink-soft);}
.bj-ba .bj-after figcaption{color:var(--green);}
@media(max-width:600px){.bj-ba .wp-block-image img{height:230px;}}

/* ---- clients ---- */
.bj-clients .bj-logos{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:8px;}
.bj-clients .bj-logo{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 22px;display:flex;align-items:center;justify-content:center;min-width:150px;height:88px;}
.bj-clients .bj-logo img{height:42px;width:auto;max-width:168px;object-fit:contain;border-radius:0!important;}
@media(max-width:600px){.bj-clients .bj-logo{min-width:120px;height:72px;padding:12px 16px;}.bj-clients .bj-logo img{height:32px;}}

/* ---- contact info + form ---- */
.bj-ci{border-top:1px solid var(--line)!important;padding:18px 0;}
.bj-ci .bj-k{font-family:var(--sans)!important;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)!important;margin:0 0 5px;}
.bj-ci .bj-v,.bj-ci .bj-v a{font-size:18px;font-weight:700;color:var(--ink)!important;margin:0;}
.bj-ci .bj-v.bj-big,.bj-ci .bj-v.bj-big a{font-size:26px;color:var(--green)!important;}
.bj-form{background:#fff;border-radius:26px;padding:34px;color:var(--ink);box-shadow:0 24px 60px -36px rgba(15,122,61,.5);}
.bj-form h3{font-family:var(--sans);font-weight:800;font-size:23px;text-transform:none!important;margin:0 0 4px;}
.bj-form .bj-sub{font-size:14px;color:var(--ink-soft);margin:0 0 20px;}
.bj-form label{display:block;font-family:var(--sans)!important;font-size:13px;font-weight:700;letter-spacing:0!important;text-transform:none!important;margin:0 0 7px;color:var(--ink);}
.bj-field{margin-bottom:15px;}
.bj-form .bj-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bj-form input,.bj-form select,.bj-form textarea{width:100%;border:1.5px solid var(--line)!important;border-radius:14px!important;padding:13px 15px!important;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fbfdfc!important;transition:.2s;}
.bj-form input:focus,.bj-form select:focus,.bj-form textarea:focus{outline:none;border-color:var(--green)!important;background:#fff!important;}
.bj-form textarea{resize:vertical;min-height:90px;}
.bj-form button{width:100%;margin-top:12px;background:var(--green);color:#fff;font-family:var(--sans);font-weight:700;font-size:15px;border:none;border-radius:999px;padding:15px;cursor:pointer;transition:.2s;box-shadow:0 8px 20px -8px rgba(15,122,61,.8);}
.bj-form button:hover{background:var(--green-deep);}
.bj-form .bj-note{font-size:12.5px;color:var(--ink-soft);text-align:center;margin:13px 0 0;}
.bj-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}
.bj-form-error{color:#b00020;font-size:13.5px;margin:0 0 14px;font-weight:700;}
@media(max-width:520px){.bj-form .bj-row{grid-template-columns:1fr;}}

/* ---- footer (light) ---- */
.bj-site-footer{background:#fff;color:var(--ink-soft);border-top:1px solid var(--line);padding:56px 0 30px;font-size:14px;}
.bj-footer-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
.bj-foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid var(--line);}
.bj-site-footer .bj-brand-text strong{color:var(--ink);}
.bj-foot-cols{display:flex;gap:48px;flex-wrap:wrap;}
.bj-foot-cols h4{font-family:var(--sans);color:var(--green);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-weight:700;}
.bj-foot-cols a,.bj-foot-cols span{display:block;margin-bottom:9px;color:var(--ink-soft);}
.bj-foot-cols a:hover{color:var(--green);}
.bj-foot-bot{padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);}

/* ---- floating call button ---- */
.bj-fab{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:10px;background:var(--green);color:#fff;font-weight:700;padding:15px 22px;border-radius:999px;box-shadow:0 14px 34px -10px rgba(15,122,61,.8);transition:.2s;}
.bj-fab:hover{transform:scale(1.05);background:var(--green-deep);}
.bj-fab svg{width:20px;height:20px;}
@media(max-width:640px){.bj-fab span{display:none;}.bj-fab{padding:16px;}}

/* ---- reveal ---- */
.bj-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.bj-reveal.bj-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.bj-reveal{opacity:1;transform:none;}.bj-marquee .bj-marquee-track{animation:none;}}

/* ---- hero blob + floating cards (home) ---- */
.bj-hero-media{position:relative;}
.bj-hero-media .bj-hero-img{position:relative;z-index:1;margin:0;}
.bj-hero-media .bj-hero-img img{border-radius:40% 60% 64% 36%/62% 38% 62% 38%!important;border:5px solid #fff;box-shadow:0 26px 55px -36px rgba(15,122,61,.55);}
.bj-blob{display:none;}
.bj-hero-media .bj-hero-img::before{display:none;}
.bj-float-card{position:absolute;z-index:3;background:#fff;border-radius:18px;padding:13px 17px;box-shadow:0 18px 40px -18px rgba(0,0,0,.32);display:flex;align-items:center;gap:11px;font-weight:700;font-size:14px;color:var(--ink);line-height:1.2;}
.bj-float-card .bj-fc-ic{width:34px;height:34px;border-radius:11px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:16px;font-weight:800;flex:none;}
.bj-fc-bond{top:16px;right:-14px;}
.bj-fc-hours{bottom:20px;left:-18px;}
.bj-fc-hours small{display:block;font-weight:500;color:var(--ink-soft);font-size:12px;margin-top:2px;}
@media(max-width:940px){.bj-fc-bond{right:6px;}.bj-fc-hours{left:6px;}}
@media(max-width:560px){.bj-float-card{display:none;}.bj-hero-media .bj-hero-img::before{inset:-4% -4%;}}

/* ---- hand-drawn underline under "spotless" (hero) ---- */
.bj-hero .bj-lime{position:relative;white-space:nowrap;}
.bj-hero .bj-lime::after{content:"";position:absolute;left:0;right:-2px;bottom:-0.16em;height:0.22em;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%2014'%20preserveAspectRatio='none'%3E%3Cpath%20d='M2%209c40-7%20156-9%20196-3'%20stroke='%23ffd23f'%20stroke-width='5'%20fill='none'%20stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%;pointer-events:none;}
