/* Bearly Portfolio: grid, rail, project page, gallery, before & after. Shares classes with the block library. */
/* ---- from block 11-work-rail ---- */
.bc-railhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.bc-railhead>div:first-child{display:grid;gap:14px}
.bc-filters{display:flex;flex-wrap:wrap;gap:8px}
.bc-filters button{font:500 .9rem/1 var(--bc-font);padding:.8em 1.2em;border-radius:999px;border:1.5px solid var(--bc-line);background:transparent;color:var(--bc-ink);cursor:pointer;transition:all .25s}
.bc-filters button:hover{border-color:var(--bc-ink)}
.bc-filters button[aria-pressed="true"]{background:var(--bc-ink);color:var(--bc-page);border-color:var(--bc-ink)}
.bc-arrows{display:flex;gap:8px}
.bc-arrows button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--bc-line);background:var(--bc-card);color:var(--bc-ink);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s}
.bc-arrows button:hover{background:var(--bc-ink);color:var(--bc-page)}
.bc-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:thin;cursor:grab;overscroll-behavior-x:contain}
.bc-rail.drag{cursor:grabbing;scroll-snap-type:none}
@media (max-width:900px){.bc-rail{grid-auto-columns:46%}}
@media (max-width:600px){.bc-rail{grid-auto-columns:82%}}
.bc-piece{scroll-snap-align:start;display:grid;gap:14px;text-decoration:none;min-width:0}
.bc-piece[hidden]{display:none}
.bc-piece .frame{aspect-ratio:4/5;border-radius:var(--bc-r)}
.bc-piece .frame>*{transition:transform .8s var(--bc-ease)}
.bc-piece:hover .frame>.bc-ph,.bc-piece:hover .frame>img{transform:scale(1.06) rotate(-1deg)}
.bc-piece .peek{position:absolute;right:14px;bottom:14px;width:52px;height:52px;border-radius:50%;background:var(--bc-honey);color:var(--bc-ink);display:grid;place-items:center;font-size:1.2rem;transform:scale(0) rotate(-90deg);transition:transform .45s var(--bc-ease)}
.bc-piece:hover .peek,.bc-piece:focus-visible .peek{transform:scale(1) rotate(0)}
.bc-piece .cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bc-piece h3{font-size:1.3rem;letter-spacing:-.02em}
.bc-piece small{color:var(--bc-ink-2);font-weight:500;font-size:.85rem;white-space:nowrap}
@supports (animation-timeline:view()){.bc-piece{animation:bc-tilt linear both;animation-timeline:view(inline);animation-range:entry 0% entry 80%}@keyframes bc-tilt{from{transform:translateY(30px) rotate(3deg)}to{transform:none}}}
/* ---- from block 12-work-grid ---- */
.bc-grid-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}
.bc-grid-top .count{color:var(--bc-ink-2);font-weight:500;font-size:.9rem;font-variant-numeric:tabular-nums}
.bc-gfilters{display:flex;flex-wrap:wrap;gap:8px}
.bc-gfilters button{font:500 .9rem/1 var(--bc-font);padding:.8em 1.2em;border-radius:999px;border:1.5px solid var(--bc-line);background:transparent;color:var(--bc-ink);cursor:pointer;transition:all .25s}
.bc-gfilters button[aria-pressed="true"]{background:var(--bc-ink);color:var(--bc-page);border-color:var(--bc-ink)}
.bc-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.bc-gitem{text-decoration:none;display:grid;gap:14px}
.bc-gitem[hidden]{display:none}
.bc-gitem:nth-child(even){translate:0 clamp(0px,6vw,80px)}
.bc-gitem .frame{aspect-ratio:5/4;border-radius:var(--bc-r)}
.bc-gitem:nth-child(3n) .frame{aspect-ratio:4/5}
.bc-gitem .frame>.bc-ph,.bc-gitem .frame>img{transition:transform .9s var(--bc-ease)}
.bc-gitem:hover .frame>.bc-ph,.bc-gitem:hover .frame>img{transform:scale(1.05)}
.bc-gitem .over{position:absolute;inset:auto 14px 14px 14px;background:var(--bc-ink);color:var(--bc-on-deep);border-radius:20px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;transform:translateY(calc(100% + 20px));transition:transform .55s var(--bc-ease)}
.bc-gitem:hover .over,.bc-gitem:focus-visible .over{transform:none}
.bc-gitem .over b{font-weight:500}
.bc-gitem .over span{color:var(--bc-honey);font-size:.85rem;font-weight:500}
.bc-gitem .cap{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.bc-gitem h3{font-size:clamp(1.3rem,1rem + 1vw,1.8rem)}
.bc-gitem small{color:var(--bc-ink-2);font-weight:500}
.bc-pgrid-end{height:clamp(0px,6vw,80px)}
@media (max-width:700px){.bc-pgrid{grid-template-columns:1fr}.bc-gitem:nth-child(even){translate:none}.bc-pgrid-end{display:none}}
/* ---- from block 13-case-study-header ---- */
.bc-case{padding-block:calc(env(safe-area-inset-top,0px) + 130px) 0}
.bc-case .bc-wrap{display:grid;gap:28px}
.bc-case .back{font-weight:500;font-size:.9rem;text-decoration:none;color:var(--bc-ink-2);display:inline-flex;gap:.5em;align-items:center;width:max-content}
.bc-case .back:hover{color:var(--bc-ink)}
.bc-case h1{font-size:clamp(2.8rem,1.4rem + 6vw,6.4rem);letter-spacing:-.05em;max-width:12ch}
.bc-case .sum{font-size:clamp(1.1rem,1rem + .5vw,1.4rem);color:var(--bc-ink-2);max-width:46ch}
.bc-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--bc-ink);border-bottom:1px solid var(--bc-line)}
.bc-meta div{padding:18px 18px 18px 0;display:grid;gap:4px}
.bc-meta div+div{padding-left:18px;border-left:1px solid var(--bc-line)}
.bc-meta small{font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bc-ink-2)}
.bc-meta b{font-weight:500}
.bc-cover{aspect-ratio:16/8;margin-top:12px;border-radius:var(--bc-r)}
@supports (animation-timeline:view()){.bc-cover>*{animation:bc-zoom linear both;animation-timeline:view();animation-range:cover 0% cover 100%}@keyframes bc-zoom{from{transform:scale(1.15)}to{transform:scale(1)}}}
@media (max-width:760px){.bc-meta{grid-template-columns:1fr 1fr}.bc-meta div:nth-child(3){padding-left:0;border-left:0}.bc-meta div:nth-child(n+3){border-top:1px solid var(--bc-line)}.bc-cover{aspect-ratio:4/3}}
/* ---- from block 15-gallery ---- */
.bc-gal{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(120px,14vw,190px);gap:clamp(10px,1.6vw,16px)}
.bc-gal button{all:unset;cursor:zoom-in;position:relative;border-radius:22px;overflow:hidden;background:var(--bc-stone)}
.bc-gal button:focus-visible{outline:3px solid var(--bc-honey);outline-offset:3px}
.bc-gal button>*{transition:transform .8s var(--bc-ease)}
.bc-gal button:hover>*{transform:scale(1.06)}
.bc-gal img{width:100%;height:100%;object-fit:cover}
.bc-gal .w4{grid-column:span 4;grid-row:span 2}.bc-gal .w2{grid-column:span 2}.bc-gal .w3{grid-column:span 3;grid-row:span 2}.bc-gal .t2{grid-row:span 2}
@media (max-width:700px){.bc-gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.bc-gal>*{grid-column:span 1!important;grid-row:span 1!important}.bc-gal>*:first-child{grid-column:span 2!important;grid-row:span 2!important}}
.bc-lb{position:fixed;inset:0;z-index:10000;background:rgba(16,15,12,.94);display:grid;grid-template-rows:auto 1fr auto;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);color:#F3F1EC;font-family:var(--bc-font)}
.bc-lb[hidden]{display:none}
.bc-lb .bar{display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:.9rem}
.bc-lb button{all:unset;cursor:pointer;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(243,241,236,.08);transition:background .25s}
.bc-lb button:hover{background:#F5A524;color:#16140F}
.bc-lb .stage{display:grid;place-items:center;min-height:0;padding-block:16px}
.bc-lb .stage>*{max-width:min(1100px,100%);max-height:100%;width:100%;aspect-ratio:16/10;border-radius:18px;overflow:hidden;position:relative;animation:bc-lbin .45s var(--bc-ease)}
.bc-lb .stage img{width:100%;height:100%;object-fit:contain}
@keyframes bc-lbin{from{transform:scale(.94)}to{transform:none}}
.bc-lb .nav{display:flex;justify-content:center;gap:12px}
/* ---- from block 14-before-after ---- */
.bc-ba-wrap{display:grid;gap:20px}
.bc-ba{position:relative;aspect-ratio:16/9;border-radius:var(--bc-r);overflow:hidden;background:var(--bc-stone);touch-action:pan-y;user-select:none;--pos:50%}
.bc-ba .side{position:absolute;inset:0}
.bc-ba .side img{width:100%;height:100%;object-fit:cover}
.bc-ba .before .bc-ph{background:repeating-linear-gradient(45deg,#cfcac0 0 14px,#d8d3c9 14px 28px)}
.bc-ba .after{clip-path:inset(0 0 0 var(--pos))}
.bc-ba .after .bc-ph{background:radial-gradient(circle at 70% 40%,#FFC05A,#F5A524 40%,#D97A10)}
.bc-ba .label{position:absolute;top:14px;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.45em .8em;border-radius:999px;background:rgba(22,20,15,.8);color:#F3F1EC;z-index:2}
.bc-ba .label.l{left:14px}.bc-ba .label.r{right:14px;background:#F5A524;color:#16140F}
.bc-ba .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;z-index:3;cursor:ew-resize}
.bc-ba .handle span{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.3);display:grid;place-items:center;color:#16140F;font-size:1rem;transition:transform .3s var(--bc-ease)}
.bc-ba .handle:focus-visible span,.bc-ba:hover .handle span{transform:scale(1.1)}
.bc-ba .handle:focus-visible{outline:none}
.bc-ba .handle:focus-visible span{box-shadow:0 0 0 4px var(--bc-honey)}
.bc-ba-wrap p{color:var(--bc-ink-2);max-width:60ch}
/* ---- from block 24-cta-band ---- */
.bc-band{background:var(--bc-deep);color:var(--bc-on-deep);border-radius:999px;padding:14px 14px 14px clamp(22px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative;overflow:hidden}
.bc-band::before{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--x,80%) 50%,rgba(245,165,36,.35),transparent 70%);transition:background .1s;pointer-events:none}
.bc-band>*{position:relative}
.bc-band p{font-size:clamp(1.05rem,.95rem + .6vw,1.4rem);font-weight:500;letter-spacing:-.02em}
.bc-band p span{color:var(--bc-honey)}
@media (max-width:640px){.bc-band{border-radius:var(--bc-r);padding:24px}.bc-band .bc-btn{width:100%}}
/* ---- portfolio plugin extras ---- */
.bc-pf-empty{padding:28px;border:1.5px dashed var(--bc-line);border-radius:var(--bc-r);color:var(--bc-ink-2);font-weight:500}
.bc-pf-empty a{color:var(--bc-ink)}
.bc-rail-more{margin-top:24px}
.bc-piece .frame img,.bc-gitem .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--bc-ease)}
.bc-piece:hover .frame img{transform:scale(1.06) rotate(-1deg)}
.bc-gitem:hover .frame img{transform:scale(1.05)}
.bc-gitem .over{z-index:1}
.bc-piece .peek{z-index:1}

/* project header */
.bearly-theme-mode .bc-case{padding-top:clamp(40px,6vw,72px)}
.bc-meta.bc-meta-1{grid-template-columns:1fr}
.bc-meta.bc-meta-2{grid-template-columns:repeat(2,1fr)}
.bc-meta.bc-meta-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.bc-meta.bc-meta-3{grid-template-columns:1fr 1fr}}
.bc-cover img{width:100%;height:100%;object-fit:cover}

/* story */
.bc-pf-story{padding-bottom:0}
.bc .bc-prose{max-width:720px;font-size:1.1rem;line-height:1.7;color:var(--bc-ink)}
.bc .bc-prose>*+*{margin-top:1.1em}
.bc .bc-prose h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.4rem);margin-top:1.6em}
.bc .bc-prose h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);margin-top:1.4em}
.bc .bc-prose p{color:var(--bc-ink-2)}
.bc .bc-prose a{color:var(--bc-ink);text-decoration-color:var(--bc-honey);text-decoration-thickness:2px;text-underline-offset:3px}
.bc .bc-prose ul,.bc-prose ol{padding-left:1.2em;color:var(--bc-ink-2)}
.bc .bc-prose ul{list-style:disc}.bc-prose ol{list-style:decimal}
.bc .bc-prose li+li{margin-top:.4em}
.bc .bc-prose li::marker{color:var(--bc-honey-deep)}
.bc .bc-prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:4px solid var(--bc-honey);font-size:1.25rem;font-weight:500;color:var(--bc-ink)}
.bc .bc-prose img,.bc-prose figure img{border-radius:20px;height:auto}
.bc .bc-prose figure{margin:1.6em 0}
.bc .bc-prose figcaption{font-size:.85rem;color:var(--bc-ink-2);margin-top:8px}
.bc .bc-prose .alignwide,.bc-prose .alignfull{max-width:none;width:min(1120px,calc(100vw - 32px))}

/* gallery: natural-ratio masonry so any image size looks right */
.bc-pf-gallery .bc-gal{display:block;columns:3 260px;column-gap:clamp(10px,1.6vw,16px)}
.bc-pf-gallery .bc-gal button{display:block;width:100%;margin:0 0 clamp(10px,1.6vw,16px);break-inside:avoid;border-radius:20px}
.bc-pf-gallery .bc-gal button img{width:100%;height:auto;display:block}
.bc-pf-gallery .bc-gal button:first-child{column-span:all}
.bc-pf-gallery .bc-gal button:first-child img{max-height:78vh;object-fit:cover}
.bc-pf-gallery .bc-gal-1,.bc-pf-gallery .bc-gal-2{columns:auto}
.bc-pf-gallery .bc-gal-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bc-pf-gallery .bc-gal-2 button{margin:0}
.bc-lb .stage img{max-width:min(1400px,100%);max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;animation:bc-lbin .45s var(--bc-ease)}
.bc-lb .stage>img{aspect-ratio:auto}

/* before & after with real images */
.bc-pf-ba .bc-ba .side img{position:absolute;inset:0}

/* big quote */
.bc-bigq{margin:0;background:var(--bc-deep);color:var(--bc-on-deep);border-radius:var(--bc-r);padding:clamp(28px,6vw,72px);position:relative;overflow:hidden}
.bc-bigq::before{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-180px;border-radius:50%;background:rgba(245,165,36,.3);filter:blur(80px);animation:bc-hot 10s ease-in-out infinite alternate}
@keyframes bc-hot{to{transform:translate(-120px,80px) scale(1.2)}}
.bc-bigq>*{position:relative}
.bc-bigq blockquote{margin:0;font-size:clamp(1.5rem,1.1rem + 2vw,2.6rem);font-weight:500;line-height:1.2;letter-spacing:-.03em;max-width:28ch}
.bc-bigq blockquote::before{content:"“";display:block;color:var(--bc-honey);font-size:2.4em;line-height:.6;margin-bottom:.15em}
.bc-bigq figcaption{margin-top:28px;display:grid;gap:2px}
.bc-bigq figcaption b{font-weight:500}
.bc-bigq figcaption span{color:var(--bc-on-deep-2);font-size:.95rem}

/* next project */
.bc-next{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;text-decoration:none;background:var(--bc-card);border:1px solid var(--bc-line);border-radius:var(--bc-r);padding:clamp(20px,3vw,28px);position:relative;overflow:hidden;transition:background .5s var(--bc-ease),color .5s}
.bc-next:hover{background:var(--bc-honey)}
.bc-next .txt{display:grid;gap:8px;padding-left:clamp(4px,2vw,20px)}
.bc-next small{font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bc-ink-2)}
.bc-next h2{font-size:clamp(2rem,1.3rem + 3vw,3.6rem);letter-spacing:-.045em}
.bc-next .svc{color:var(--bc-ink-2);font-weight:500}
.bc-next .img{aspect-ratio:16/10;border-radius:20px}
.bc-next .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--bc-ease)}
.bc-next:hover .img img,.bc-next:hover .img .bc-ph{transform:scale(1.06)}
.bc-next .go{position:absolute;right:clamp(28px,4vw,44px);bottom:clamp(28px,4vw,44px);width:56px;height:56px;border-radius:50%;background:var(--bc-ink);color:var(--bc-honey);display:grid;place-items:center;font-size:1.3rem;transition:transform .5s var(--bc-ease);z-index:1}
.bc-next:hover .go{transform:rotate(-45deg) scale(1.1)}
@media (max-width:760px){.bc-next{grid-template-columns:1fr}.bc-next .img{order:-1}}
.bc-pf-cta{padding-bottom:24px}

/* when placed inside a theme content column, run edge to edge */
.bc.alignfull{max-width:none;margin-top:0;margin-bottom:0}
