/* Kent Marketing photo banners (tools/place_kent_photos.py). Bands sit between page sections; every photo links to its aisle. */
.kb{position:relative;padding:0;margin:0;--r:var(--r-card)}
.kb a{text-decoration:none}
.kb img{display:block;width:100%;height:100%;object-fit:cover}
.kb-eb{display:inline-block;font:800 12px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;padding:7px 11px;border-radius:99px;background:var(--lime);color:var(--deep)}
.kb h2{font:800 clamp(30px,4.4vw,58px)/1 var(--d);letter-spacing:-.015em;margin:14px 0 0}
.kb p{margin:12px 0 0;font-size:17px;line-height:1.5;max-width:36ch}
.kb-cta{display:inline-flex;align-items:center;gap:8px;margin-top:20px;min-height:48px;padding:0 22px;border-radius:99px;font:600 16px var(--d);background:#fff;color:var(--ink);box-shadow:0 5px 0 rgba(0,0,0,.18);transition:transform .15s}
.kb a:hover .kb-cta,.kb-cta:hover{transform:translateY(-2px)}
.kb a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
/* wide: full-bleed photo with copy over a soft green gradient */
.kb-wide{margin:28px 0}
.kb-wide>a{position:relative;display:block;height:clamp(320px,40vw,540px);overflow:hidden;color:#fff;background:#173f1b}
.kb-wide img{object-position:var(--pos,50% 50%);transition:transform 6s ease}
.kb-wide>a:hover img{transform:scale(1.03)}
.kb-wide>a::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,38,15,.78) 0%,rgba(13,38,15,.38) 45%,rgba(13,38,15,0) 75%)}
.kb-wide .kb-tx{position:absolute;z-index:1;left:max(24px,calc((100% - 1192px)/2));bottom:clamp(28px,5vw,64px);max-width:560px}
.kb-wide h2{color:#fff}
/* split: portrait photo beside a coloured panel */
.kb-split{max-width:1180px;margin:44px auto;padding:0 16px}
.kb-split>a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);border-radius:var(--r,28px);overflow:hidden;background:var(--kbg,#e5f0d4);color:var(--ink);box-shadow:0 10px 30px #173f1b12}
.kb-split.kb-rev>a{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.kb-split.kb-rev .kb-ph{order:2}
.kb-split .kb-ph{aspect-ratio:4/5;max-height:620px;overflow:hidden}
.kb-split img{object-position:var(--pos,50% 50%)}
.kb-split .kb-tx{align-self:center;padding:clamp(28px,5vw,64px)}
.kb-split h2{color:var(--deep)}
.kb-split .kb-cta{background:var(--leaf);color:#fff;box-shadow:0 5px 0 var(--deep)}
.kb-split .kb-tx::before{content:"";display:block;width:64px;height:40px;margin-bottom:14px;background:url(/c1/l/sprig.svg) no-repeat left center/contain;opacity:.9}
/* duo: two photos side by side, each with its own caption */
.kb-duo{max-width:1180px;margin:44px auto;padding:0 16px}
.kb-duo .kb-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kb-duo .kb-row>a{position:relative;display:block;aspect-ratio:var(--ar,1/1);max-height:560px;border-radius:var(--r,28px);overflow:hidden;color:#fff;background:#173f1b}
.kb-duo .kb-row>a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,38,15,.8) 0%,rgba(13,38,15,0) 55%)}
.kb-duo .kb-tx{position:absolute;z-index:1;left:22px;right:22px;bottom:22px}
.kb-duo h2{font-size:clamp(24px,2.6vw,36px);color:#fff;margin-top:10px}
.kb-duo .kb-go{display:inline-block;margin-top:8px;font:700 13px/1.3 var(--f);letter-spacing:.06em;text-transform:uppercase}
.kb-duo img{object-position:var(--pos,50% 50%);transition:transform .6s ease}
.kb-duo .kb-row>a:hover img{transform:scale(1.04)}
.kb-duo .kb-head{margin:0 0 18px}
.kb-duo .kb-head h2{color:var(--deep);font-size:clamp(28px,3.4vw,44px);margin-top:10px}
/* page header photo (About, Where to buy) */
.kb-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding:92px max(20px,calc((100% - 1192px)/2)) 44px;color:var(--ink);overflow:hidden;background:radial-gradient(ellipse 70% 60% at 30% 60%,rgba(255,255,255,.7),rgba(255,255,255,0) 70%),var(--bg,#e3f1d4)}
.kb-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:110px;background:url(/c1/l/canopy.svg) repeat-x 0 0/311px 110px;pointer-events:none}
.kb-hero>img{position:relative;order:2;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--pos,50% 50%);border-radius:var(--r-card);box-shadow:0 18px 30px -22px rgba(40,30,10,.55)}
.kb-hero .kb-tx{position:relative;z-index:1;order:1;min-width:0}
.kb-hero .crumbs,.kb-hero .crumbs a{color:var(--ink)}
.kb-hero h1{font:800 var(--h1-page)/1 var(--d);letter-spacing:-.02em;color:var(--deep);margin:10px 0 0}
.kb-hero p{font-size:18px;max-width:34em;margin:12px 0 0}
.kb-hero+.ip{padding-top:44px}
@media(max-width:700px){
.kb-wide{margin:20px 0}
.kb-wide>a{height:auto;aspect-ratio:4/5;max-height:560px}
.kb-wide>a::after{background:linear-gradient(0deg,rgba(13,38,15,.85) 0%,rgba(13,38,15,.45) 42%,rgba(13,38,15,0) 70%)}
.kb-wide .kb-tx{left:20px;right:20px;bottom:24px}
.kb-split,.kb-duo{margin:32px auto}
.kb-split>a,.kb-split.kb-rev>a{grid-template-columns:1fr}
.kb-split.kb-rev .kb-ph{order:0}
.kb-split .kb-ph{aspect-ratio:4/3}
.kb-split .kb-tx{padding:24px 22px 28px}
.kb-duo .kb-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}
.kb-duo .kb-row::-webkit-scrollbar{display:none}
.kb-duo .kb-row>a{flex:0 0 80%;scroll-snap-align:start;aspect-ratio:4/5}
.kb p{font-size:16px}
.kb-hero{grid-template-columns:1fr;gap:18px;padding:84px 20px 28px}.kb-hero>img{order:0}
}
@media(prefers-reduced-motion:reduce){.kb img{transition:none!important;transform:none!important}}

/* strip: a shorter full-bleed photo under a page's header */
.kb-strip{margin:0 0 8px}
.kb-strip>a{height:clamp(220px,24vw,340px)}
.kb-strip h2{font-size:clamp(26px,3.2vw,42px)}
.kb-strip p{display:none}
.kb-strip .kb-cta{margin-top:14px;min-height:42px;padding:0 18px;font-size:15px}
@media(max-width:700px){.kb-strip>a{aspect-ratio:16/10;height:auto}.kb-strip .kb-tx{bottom:18px}.kb-strip .kb-cta{margin-top:10px}}
