.bt-portfolio{display:grid;grid-template-columns:repeat(var(--pf-desktop,3),minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem)}
.bt-portfolio-card{min-width:0;break-inside:avoid;margin:0 0 2rem}.bt-portfolio-image{display:block;overflow:hidden}.bt-portfolio-image img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease}.bt-portfolio-image:hover img{transform:scale(1.025)}.bt-portfolio-copy{padding:1.25rem 0}.bt-portfolio-copy h3{margin:.25rem 0 .75rem}.bt-portfolio-copy h3 a{color:inherit;text-decoration:none}.bt-portfolio-link{text-underline-offset:.35em}.bt-portfolio-masonry{display:block;column-count:var(--pf-desktop,3);column-gap:2rem}.bt-portfolio-masonry .bt-portfolio-image img{aspect-ratio:auto}.bt-portfolio-editorial{display:block}.bt-portfolio-editorial .bt-portfolio-card{display:grid;grid-template-columns:3fr 2fr;gap:clamp(2rem,6vw,6rem);align-items:center;margin-bottom:clamp(3rem,8vw,8rem)}.bt-portfolio-editorial .bt-portfolio-card:nth-child(even){grid-template-columns:2fr 3fr}.bt-portfolio-editorial .bt-portfolio-card:nth-child(even) .bt-portfolio-image{order:2}.bt-portfolio-editorial .bt-portfolio-image img{aspect-ratio:4/3}
.bt-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.bt-project-gallery figure{margin:0 0 1.5rem;break-inside:avoid}.bt-project-gallery img{width:100%;height:auto;display:block}.bt-project-gallery figcaption{padding:.75rem 0;font-size:.9em}.bt-project-gallery-masonry{display:block;columns:2;column-gap:1.5rem}.bt-project-gallery-stacked{grid-template-columns:1fr}.bt-project-gallery-grid img{aspect-ratio:4/3;object-fit:cover}
.bt-portfolio-dialog{width:min(96vw,1400px);max-width:96vw;max-height:95dvh;padding:1rem;border:0;background:#151515;color:white}.bt-portfolio-dialog::backdrop{background:rgb(0 0 0 / .88)}.bt-portfolio-dialog img{display:block;margin:auto;max-width:100%;max-height:75dvh;object-fit:contain}.bt-portfolio-dialog-controls{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:1rem}.bt-portfolio-dialog button{color:white;background:transparent;border:1px solid #aaa;padding:.6rem 1rem;cursor:pointer}.bt-portfolio-dialog p{text-align:center}
@media(max-width:1000px){.bt-portfolio{grid-template-columns:repeat(var(--pf-tablet,2),minmax(0,1fr))}.bt-portfolio-masonry{column-count:var(--pf-tablet,2)}}
@media(max-width:600px){.bt-portfolio{grid-template-columns:repeat(var(--pf-mobile,1),minmax(0,1fr))}.bt-portfolio-masonry{column-count:var(--pf-mobile,1)}.bt-portfolio-editorial .bt-portfolio-card,.bt-portfolio-editorial .bt-portfolio-card:nth-child(even){display:flex;flex-direction:column;gap:.5rem;align-items:stretch}.bt-portfolio-editorial .bt-portfolio-card:nth-child(even) .bt-portfolio-image{order:0}.bt-project-gallery{grid-template-columns:1fr}.bt-project-gallery-masonry{columns:1}}
@media(prefers-reduced-motion:reduce){.bt-portfolio-image img{transition:none}}
/* Project reveal cards: first touch reveals, second touch follows the project. */
.bt-project-reveal-grid{display:grid;grid-template-columns:repeat(var(--pr-cols-desktop,3),minmax(0,1fr));gap:clamp(16px,2.5vw,32px)}
.bt-project-reveal{position:relative;isolation:isolate;overflow:hidden;min-width:0;height:var(--pr-height-desktop,580px);background:var(--bc-light,#f2ede2);border:0;border-radius:0;padding:0}
.bt-project-reveal>img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.bt-project-reveal .pr-overlay{position:absolute;inset:0;background:var(--pr-bg);opacity:var(--pr-opacity,.9);transform:translateY(101%);transition:transform .55s ease,opacity .55s ease;pointer-events:none}
.bt-project-reveal .pr-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--pr-fg,#fff);padding:clamp(20px,3vw,44px);opacity:0;transition:opacity .4s ease;pointer-events:none;overflow:auto}
.bt-project-reveal .pr-copy h3{margin:0;font-weight:400;color:inherit}.bt-project-reveal .pr-copy p{margin:1rem 0 0;font-size:1rem;line-height:1.5;color:inherit}.bt-project-reveal .pr-copy a{color:inherit;text-decoration:none;pointer-events:auto}.bt-project-reveal .pr-copy a::after{content:"";position:absolute;inset:0;z-index:2}
.bt-project-reveal.pr-motion-down .pr-overlay{transform:translateY(-101%)}.bt-project-reveal.pr-motion-left .pr-overlay{transform:translateX(-101%)}.bt-project-reveal.pr-motion-right .pr-overlay{transform:translateX(101%)}.bt-project-reveal.pr-motion-fade .pr-overlay{transform:none;opacity:0}
.bt-project-reveal.pr-open .pr-overlay,.bt-project-reveal:has(:focus-visible) .pr-overlay,.bt-project-reveal.pr-no-image .pr-overlay{transform:none;opacity:var(--pr-opacity,.9)}
.bt-project-reveal.pr-open .pr-copy,.bt-project-reveal:has(:focus-visible) .pr-copy,.bt-project-reveal.pr-no-image .pr-copy{opacity:1}
@media(hover:hover) and (pointer:fine){.bt-project-reveal:not(.pr-touch):hover .pr-overlay{transform:none;opacity:var(--pr-opacity,.9)}.bt-project-reveal:not(.pr-touch):hover .pr-copy{opacity:1}}
@media(max-width:1000px){.bt-project-reveal-grid{grid-template-columns:repeat(var(--pr-cols-tablet,2),minmax(0,1fr))}.bt-project-reveal{height:var(--pr-height-tablet,480px)}}
@media(max-width:600px){.bt-project-reveal-grid{grid-template-columns:repeat(var(--pr-cols-mobile,1),minmax(0,1fr))}.bt-project-reveal{height:var(--pr-height-mobile,440px)}}
@media(prefers-reduced-motion:reduce){.bt-project-reveal .pr-overlay,.bt-project-reveal .pr-copy{transition:none}}
/* Natural image proportions with the same reveal treatment as featured cards. */
.bt-project-reveal-masonry{display:block;column-count:var(--pr-cols-desktop,3);column-gap:clamp(16px,2.5vw,32px)}
.bt-project-reveal-masonry>.bt-project-reveal{display:inline-block;vertical-align:top;break-inside:avoid;width:100%;height:auto;aspect-ratio:var(--pr-image-ratio,4 / 5);margin:0 0 clamp(16px,2.5vw,32px)}
.bt-project-reveal-masonry>.bt-project-reveal>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){.bt-project-reveal-masonry{column-count:var(--pr-cols-tablet,2)}}
@media(max-width:600px){.bt-project-reveal-masonry{column-count:var(--pr-cols-mobile,1)}}
.bt-project-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;width:100%}
.bt-project-heading-row h2{margin:0!important;text-align:left!important}.bt-project-heading-row>:last-child:not(h2){margin:0 0 0 auto;flex-shrink:0}.bt-project-heading-row :is(.bt-section-action,.bt-section-button){margin:0}
.bt-project-reveal-grid[data-bt-cards]{width:100%;max-width:100%;min-width:0;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain}
.bt-project-reveal-grid[data-bt-cards]>.bt-project-reveal{scroll-snap-align:start;flex-shrink:0}
@media(min-width:901px){.bt-project-reveal-grid[data-desktop=slider]{display:flex;overflow-x:auto;padding-bottom:16px}.bt-project-reveal-grid[data-desktop=slider]>.bt-project-reveal{flex:0 0 calc((100% - (var(--pr-cols-desktop,3) - 1)*clamp(16px,2.5vw,32px))/var(--pr-cols-desktop,3));min-width:220px}}
@media(max-width:900px){.bt-project-reveal-grid[data-mobile=slider]{display:flex;overflow-x:auto;padding-bottom:16px}.bt-project-reveal-grid[data-mobile=slider]>.bt-project-reveal{flex:0 0 min(84%,400px)}}
@media(max-width:420px){.bt-project-heading-row{gap:12px}.bt-project-heading-row h2{min-width:0}.bt-project-heading-row .bt-button{padding:10px 16px;font-size:14px}}
.bt-project-heading-row>.bt-button-position{width:auto;justify-content:flex-end;margin:0 0 0 auto}
/* Phones and portrait tablets use portrait project imagery when available. */
.bt-smart-project-hero{width:100%;min-width:0}.bt-smart-set{width:100%}.bt-smart-portrait{display:none}
@media(max-width:600px),(max-width:1100px) and (orientation:portrait){.bt-smart-landscape{display:none}.bt-smart-portrait{display:block}}
