/* RB CMS 4.0 – Portfolio Story Builder, responsive art direction, design system, client galleries */
:root{--rb4-card:var(--ds-surface-elevated,#0d141d);--rb4-border:var(--ds-border,#26303a)}
.project-back-row{padding-top:26px;padding-bottom:10px}.project-back-row a{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-back-row a:hover{color:var(--accent)}
@media(max-width:980px){.portfolio-project-hero-img{object-position:var(--project-hero-x-t,var(--project-hero-x,50%)) var(--project-hero-y-t,var(--project-hero-y,50%))}}
@media(max-width:640px){.portfolio-project-hero-img{object-position:var(--project-hero-x-m,var(--project-hero-x-t,50%)) var(--project-hero-y-m,var(--project-hero-y-t,50%))}}
.portfolio-project-card .portfolio-project-cover{object-position:var(--listing-x,50%) var(--listing-y,50%)}
@media(max-width:640px){.portfolio-project-card .portfolio-project-cover{object-position:var(--listing-x-m,var(--listing-x,50%)) var(--listing-y-m,var(--listing-y,50%))}}
/* Story Builder */
.rb-project-story{display:grid;gap:clamp(16px,2.2vw,34px);padding-top:clamp(28px,5vw,72px);padding-bottom:clamp(34px,6vw,90px)}
.rb-story-block{margin:0}.rb-story-block img{display:block;width:100%;height:auto}.rb-story-full,.rb-story-panorama{width:100%}.rb-story-panorama img{aspect-ratio:21/9;object-fit:cover}.rb-story-block figcaption{margin-top:9px;color:var(--muted);font-size:12px}
.rb-story-duo,.rb-story-split,.rb-story-triple{display:grid;gap:clamp(10px,1.5vw,20px)}.rb-story-duo{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-story-split{grid-template-columns:2fr 1fr}.rb-story-split.ratio-34-66{grid-template-columns:1fr 2fr}.rb-story-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.rb-story-duo>div,.rb-story-split>div,.rb-story-triple>div{min-width:0;overflow:hidden}.rb-story-duo img,.rb-story-split img,.rb-story-triple img{height:100%;object-fit:cover;min-height:260px}
.rb-story-text{max-width:820px;margin:clamp(14px,3vw,44px) auto;padding:0 2%}.rb-story-text h2{font-size:clamp(28px,4vw,54px);margin:0 0 18px}.rb-story-text>div{font-size:clamp(15px,1.5vw,18px);line-height:1.75;color:var(--muted)}
.rb-story-video{aspect-ratio:16/9}.rb-story-video iframe,.rb-story-video video{width:100%;height:100%;border:0;display:block}.rb-story-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(28px,4vw,54px);background:var(--rb4-card);border:1px solid var(--rb4-border)}.rb-story-cta p{margin:0;font-size:clamp(18px,2vw,28px)}
@media(max-width:700px){.rb-story-duo,.rb-story-split,.rb-story-split.ratio-34-66,.rb-story-triple{grid-template-columns:1fr}.rb-story-duo img,.rb-story-split img,.rb-story-triple img{min-height:0}.rb-story-panorama img{aspect-ratio:3/2}.rb-story-cta{align-items:flex-start;flex-direction:column}}
/* random recommendation and project navigation */
.project-related{padding-top:clamp(42px,6vw,84px);padding-bottom:clamp(42px,6vw,84px);border-top:1px solid var(--rb4-border)}.project-related-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}.project-related-head small{color:var(--accent);font-size:10px;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.project-related-head h2{margin:0;font-size:clamp(26px,3vw,40px)}.project-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}.project-related-card{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;color:#fff;background:#071019}.project-related-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--rx,50%) var(--ry,50%);transition:transform .35s ease}.project-related-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,6,10,.72));z-index:1}.project-related-copy{position:absolute;left:16px;right:16px;bottom:14px;z-index:2}.project-related-copy small{display:block;color:var(--accent);font-size:9px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;margin-bottom:5px}.project-related-copy strong{display:block;color:#fff;font-size:clamp(15px,1.45vw,21px);line-height:1.12}.project-related-card:hover img{transform:scale(1.025)}.project-pagination-three{grid-template-columns:1fr minmax(180px,.7fr) 1fr}.project-pagination-three .portfolio-home{text-align:center}.project-pagination-three .next{text-align:right}
@media(max-width:900px){.project-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-related-card:last-child:nth-child(odd){grid-column:1/-1;max-width:50%;width:100%}}@media(max-width:700px){.project-related-head{display:block}.project-related-head small{display:block;margin-bottom:6px}.project-related-grid{grid-template-columns:1fr;gap:14px}.project-related-card:last-child:nth-child(odd){grid-column:auto;max-width:none}.project-related-card img{object-position:var(--rxm,var(--rx,50%)) var(--rym,var(--ry,50%))}.project-pagination-three{grid-template-columns:1fr}.project-pagination-three>a,.project-pagination-three .next{text-align:left!important}}
/* Design System baseline */
body{font-size:var(--ds-body-size,16px)}.section-kicker{font-size:var(--ds-small-size,12px)}
/* Client galleries */
.rb-client-body{margin:0;background:#070b10;color:#fff;font-family:Inter,Arial,sans-serif}.rb-client-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(18px,4vw,54px);background:rgba(7,11,16,.9);backdrop-filter:blur(16px);border-bottom:1px solid #202a34}.rb-client-header>div:first-child{display:flex;gap:14px;align-items:baseline}.rb-client-header strong{letter-spacing:.12em}.rb-client-header span{font-size:10px;color:#91a0af;letter-spacing:.16em}.rb-client-count{font-size:13px;color:#b8c5d0}.rb-client-count b{color:var(--client-accent,#29a3ff)}.rb-client-main{width:min(1500px,94vw);margin:auto;padding:clamp(38px,6vw,90px) 0 90px}.rb-client-intro{max-width:820px;margin-bottom:40px}.rb-client-intro small{color:var(--client-accent,#29a3ff);letter-spacing:.16em;font-weight:800}.rb-client-intro h1{font-size:clamp(38px,6vw,84px);margin:8px 0 14px}.rb-client-intro p{color:#a6b4c0;line-height:1.65}.rb-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rb-client-item{position:relative;background:#0c131b;border:1px solid transparent;transition:.18s}.rb-client-item.is-selected{border-color:var(--client-accent,#29a3ff);box-shadow:0 0 0 1px var(--client-accent,#29a3ff)}.rb-client-item>a:first-child{display:block;aspect-ratio:3/2;overflow:hidden}.rb-client-item>a:first-child img{width:100%;height:100%;object-fit:cover;display:block}.rb-client-item-bar{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 12px}.rb-client-item-bar button,.rb-client-item-bar a{appearance:none;border:0;background:transparent;color:#d8e1e8;text-decoration:none;font:inherit;font-size:12px;cursor:pointer}.rb-client-item-bar button[aria-pressed=true]{color:var(--client-accent,#29a3ff)}.rb-client-item p{padding:0 12px 12px;margin:0;color:#94a4b3;font-size:12px}.rb-client-approval{display:flex;gap:6px;padding:0 12px 12px}.rb-client-approval button{border:1px solid #2a3542;background:#0a1118;color:#aab8c5;padding:7px 9px;border-radius:6px;cursor:pointer;font-size:11px}.rb-client-approval button.active{border-color:var(--client-accent);color:#fff;background:color-mix(in srgb,var(--client-accent) 18%,#0a1118)}.rb-client-note{width:calc(100% - 24px);margin:0 12px 12px;box-sizing:border-box;background:#070c12;border:1px solid #26313d;color:#fff;padding:8px 10px;border-radius:6px}.rb-client-login{min-height:100vh;display:grid;place-items:center;padding:24px}.rb-client-login-card{width:min(420px,92vw);padding:34px;background:#0d141d;border:1px solid #27313d}.rb-client-login-card h1{font-size:32px}.rb-client-login-card input{width:100%;box-sizing:border-box;padding:12px;background:#070b10;border:1px solid #314052;color:#fff;margin:8px 0 14px}.rb-client-error{color:#ff9898;margin:10px 0}
@media(max-width:980px){.rb-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rb-client-grid{grid-template-columns:1fr}.rb-client-header span{display:none}}
body{font-family:var(--ds-body-font,var(--body-font))}h1,h2,h3,h4,h5,h6,.section-kicker{font-family:var(--ds-heading-font,var(--heading-font))}
#portfolio-list{scroll-margin-top:110px}

/* Desktop keeps the existing transparent-header overlap and its matching spacer. */
body.inner-view.header-top-all .portfolio-project>.project-back-row{
  padding-top:calc(var(--header-h,94px) + 22px);
}
body.inner-view.header-top-all .portfolio-project>.project-back-row a{
  position:relative;
  z-index:2;
}
/* RB CMS 6.7.2: mobile detail layout has a normal-flow header. No artificial
   height-based padding, even if the header is transparent, sticky or configured taller. */
@media(max-width:980px){
  body.inner-view.header-top-all.portfolio-detail-view .portfolio-project>.project-back-row{
    padding-top:26px;
  }
}

