/* CP Real Work. Scoped and theme-inheriting. */
.cp-rw{width:100%;max-width:100%;font-family:inherit;color:inherit;margin:0 auto;min-width:0}
.cp-rw *, .cp-rw *::before,.cp-rw *::after{box-sizing:border-box}
.cp-rw__heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.cp-rw__heading h2{font-family:inherit;color:inherit;font-size:clamp(24px,3vw,36px);line-height:1.15;letter-spacing:-.025em;margin:0 0 7px;font-weight:750}
.cp-rw__heading p{font:inherit;font-size:15px;color:#666;margin:0;line-height:1.5}
.cp-rw__rail{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 4px;min-width:0}
.cp-rw__rail::-webkit-scrollbar{display:none}
.cp-rw__card{flex:0 0 78%;min-width:0;scroll-snap-align:start;border:0;margin:0;padding:0;background:transparent}
.cp-rw__link{display:block;color:inherit!important;text-decoration:none!important;height:100%;background:transparent}
.cp-rw__media{position:relative;overflow:hidden;background:#f4f3f1;border-radius:10px;aspect-ratio:4/5}
.cp-rw__photo{width:100%!important;height:100%!important;max-width:none!important;display:block;object-fit:cover;transition:transform 280ms ease}
.cp-rw__placeholder{width:100%;height:100%;background:linear-gradient(135deg,#eeece8,#e0ddd8)}
.cp-rw__media-arrow{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);color:#222;font-size:18px}
.cp-rw__body{padding:13px 2px 6px;min-height:115px}
.cp-rw__eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.09em;color:#777;margin-bottom:5px}
.cp-rw__body h3{font-family:inherit;font-size:clamp(17px,2vw,21px);font-weight:750;color:inherit;margin:0 0 5px;line-height:1.25;letter-spacing:-.015em}
.cp-rw__body p{font-size:13px;color:#686868;line-height:1.4;margin:0}
.cp-rw__foot{display:flex;align-items:center;justify-content:space-between;min-height:30px;gap:12px;margin-top:2px}
.cp-rw__hint{font-size:12px;color:#777}
.cp-rw__dots{display:flex;gap:6px;align-items:center;justify-content:center}
.cp-rw__dot{width:6px;height:6px;border-radius:50%;background:#d6d6d6;transition:width .15s ease,background .15s ease}
.cp-rw__dot[aria-current="true"]{width:17px;border-radius:9px;background:#333}
.cp-rw__arrows{display:none;gap:8px;flex:0 0 auto}
.cp-rw__arrows button{display:grid!important;place-items:center;width:36px;height:36px;border:1px solid #ddd!important;border-radius:50%!important;background:transparent!important;color:inherit!important;padding:0!important;cursor:pointer;box-shadow:none!important;font:inherit!important}
.cp-rw__arrows button span{font-size:25px;line-height:1;transform:translateY(-1px)}
.cp-rw__arrows button:disabled{opacity:.35;cursor:default}
.cp-rw__link:focus-visible,.cp-rw__arrows button:focus-visible,.cp-rw__rail:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cp-rw__link:hover .cp-rw__photo{transform:scale(1.035)}}
@media(min-width:640px){.cp-rw__rail{gap:18px}.cp-rw__card{flex-basis:44%}.cp-rw__arrows{display:flex}.cp-rw__body{min-height:105px}}
@media(min-width:1024px){.cp-rw__rail{gap:20px}.cp-rw__card{flex-basis:calc((100% - 60px)/4)}.cp-rw__hint{display:none}}
@media(prefers-reduced-motion:reduce){.cp-rw__photo,.cp-rw__dot{transition:none!important}.cp-rw__rail{scroll-behavior:auto!important}}

/* Work details: concise, visual, inherited from theme. */
.cp-rw__body{min-height:148px}
.cp-rw__spec{font-size:12px;color:#747474;margin-top:8px;line-height:1.45}
.cp-rw__cta{display:inline-flex;align-items:center;gap:5px;margin-top:9px;font-size:12px;font-weight:700;color:inherit}
.cp-rw__media{aspect-ratio:4/5}
@media(max-width:639px){.cp-rw__body{min-height:155px}}

/* RC2: editorial mosaic, deliberately not a carousel. */
.cp-rw--mosaic{background:var(--cp-rw-bg,#fff);padding:clamp(30px,5vw,76px) 0;isolation:isolate}
.cp-rw--mosaic.cp-rw--full{width:100vw;max-width:none;position:relative;left:50%;margin-left:-50vw;margin-right:0}
.cp-rw--mosaic .cp-rw__inner{max-width:1500px;margin-inline:auto;padding-inline:clamp(12px,2.4vw,32px)}
.cp-rw__mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:clamp(170px,17vw,275px);gap:clamp(7px,1vw,14px)}
.cp-rw__mosaic-card{min-width:0;min-height:0;position:relative;border-radius:12px;overflow:hidden;background:#e8e8e8}
.cp-rw__mosaic-card--featured{grid-column:span 2;grid-row:span 2}
.cp-rw__mosaic-link{position:relative;display:block;width:100%;height:100%;color:#fff!important;text-decoration:none!important}
.cp-rw__mosaic-photo{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .32s ease}
.cp-rw__mosaic-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.72) 100%);pointer-events:none}
.cp-rw__mosaic-copy{position:absolute;z-index:1;left:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);bottom:clamp(14px,2vw,24px);display:grid;gap:3px;color:#fff;text-shadow:0 1px 3px #0005}
.cp-rw__mosaic-meta{font-size:11px;letter-spacing:.05em;opacity:.85;line-height:1.25;text-transform:uppercase}
.cp-rw__mosaic-title{font-size:clamp(15px,1.5vw,23px);font-weight:750;line-height:1.2;color:inherit}
.cp-rw__mosaic-description{font-size:12px;line-height:1.35;max-width:48ch;opacity:.94}
.cp-rw__mosaic-arrow{position:absolute;z-index:2;right:12px;top:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#181818}
.cp-rw__mosaic--1,.cp-rw__mosaic--2,.cp-rw__mosaic--3{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(220px,23vw,400px)}
.cp-rw__mosaic--1{grid-template-columns:1fr}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.cp-rw__mosaic-link:hover .cp-rw__mosaic-photo{transform:scale(1.035)}}
@media(max-width:767px){
 .cp-rw--mosaic{padding:32px 0}
 .cp-rw__mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,36vw,220px);gap:8px}
 .cp-rw__mosaic-card--featured{grid-column:span 2;grid-row:span 2}
 .cp-rw__mosaic--1{grid-template-columns:1fr;grid-auto-rows:300px}
 .cp-rw__mosaic--2,.cp-rw__mosaic--3{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}
 .cp-rw__mosaic-copy{left:11px;right:11px;bottom:12px}
 .cp-rw__mosaic-description{display:none}
 .cp-rw__mosaic-card--featured .cp-rw__mosaic-description{display:block}
 .cp-rw__mosaic-meta{font-size:9px}
 .cp-rw__mosaic-title{font-size:clamp(13px,3.3vw,18px)}
 .cp-rw__mosaic-arrow{width:26px;height:26px;font-size:14px}
}
@media(max-width:420px){.cp-rw__mosaic{grid-auto-rows:140px}.cp-rw__mosaic--2,.cp-rw__mosaic--3{grid-auto-rows:190px}}
@media(prefers-reduced-motion:reduce){.cp-rw__mosaic-photo{transition:none!important}}

/* RC3: edge-to-edge BACKGROUND. Content centered; no viewport-width layout hack. */
.cp-rw--mosaic{position:relative;isolation:isolate;background:transparent!important;padding:clamp(32px,4.6vw,70px) 0}
.cp-rw--mosaic::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--cp-rw-bg,#fff);pointer-events:none}
.cp-rw--mosaic.cp-rw--full{width:100%!important;max-width:100%!important;left:auto!important;margin:0!important;position:relative!important}
.cp-rw--mosaic .cp-rw__inner{width:100%;max-width:1520px;margin:0 auto;padding-inline:clamp(12px,2.5vw,32px)}
/* Fixed TWO rows, additional work moves sideways, never creates third row. */
.cp-rw--mosaic .cp-rw__mosaic-rail{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x pan-y}
.cp-rw--mosaic .cp-rw__mosaic-rail::-webkit-scrollbar{display:none}
.cp-rw--mosaic .cp-rw__mosaic{display:grid!important;grid-template-columns:none!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;grid-auto-flow:column!important;grid-auto-columns:clamp(205px,23vw,350px)!important;grid-auto-rows:unset!important;gap:clamp(8px,.85vw,14px)!important;height:clamp(390px,36vw,550px)!important;width:max-content!important;min-width:100%}
.cp-rw--mosaic .cp-rw__mosaic-card{grid-column:auto;grid-row:auto;min-width:0;min-height:0;scroll-snap-align:start}
.cp-rw--mosaic .cp-rw__mosaic-card--featured{grid-column:span 2;grid-row:span 2}
.cp-rw--mosaic .cp-rw__mosaic--1,.cp-rw--mosaic .cp-rw__mosaic--2,.cp-rw--mosaic .cp-rw__mosaic--3{grid-template-columns:none!important;grid-auto-columns:clamp(210px,30vw,460px)!important}
.cp-rw--mosaic .cp-rw__mosaic--1{grid-template-rows:1fr!important}
.cp-rw--mosaic .cp-rw__mosaic--2{grid-template-rows:1fr!important}
.cp-rw--mosaic .cp-rw__mosaic--3{grid-template-rows:repeat(2,1fr)!important}
.cp-rw--mosaic .cp-rw__mosaic-arrows{display:flex}
.cp-rw--mosaic .cp-rw__mosaic-foot{margin-top:10px}
.cp-rw--mosaic .cp-rw__mosaic-progress{width:90px;height:4px;background:#9994;border-radius:6px;overflow:hidden;display:block}
.cp-rw--mosaic .cp-rw__mosaic-progress>span{display:block;height:100%;width:25%;background:currentColor;border-radius:6px;transform:translateX(0);transition:transform .1s linear}
@media(max-width:767px){
 .cp-rw--mosaic .cp-rw__mosaic{grid-auto-columns:clamp(155px,47vw,260px)!important;height:clamp(335px,97vw,445px)!important;grid-auto-rows:unset!important}
 .cp-rw--mosaic .cp-rw__mosaic-card--featured{grid-column:span 2;grid-row:span 2}
 .cp-rw--mosaic .cp-rw__mosaic-arrows{display:none}
 .cp-rw--mosaic .cp-rw__mosaic--1,.cp-rw--mosaic .cp-rw__mosaic--2,.cp-rw--mosaic .cp-rw__mosaic--3{grid-auto-columns:clamp(175px,63vw,270px)!important}
 .cp-rw--mosaic .cp-rw__mosaic--1{height:300px!important}
 .cp-rw--mosaic .cp-rw__mosaic--2{height:300px!important}
 .cp-rw--mosaic .cp-rw__mosaic--3{height:360px!important}
 .cp-rw--mosaic .cp-rw__hint{display:block}
}
@media(prefers-reduced-motion:reduce){.cp-rw--mosaic .cp-rw__mosaic-progress>span{transition:none}}
