/* Creamy Multimedia Portfolio — front end */
.cmp{
  --cmp-accent:#E8452C;
  --cmp-cols:3; --cmp-aspect:4/3; --cmp-gap:0px; --cmp-radius:0px;
  --cmp-scrim:.64; --cmp-scrim-1:rgba(0,0,0,.64); --cmp-scrim-2:rgba(0,0,0,.18);
  --cmp-zoom:1.045; --cmp-hspeed:550ms; --cmp-circ:80px; --cmp-circ-bg:rgba(15,15,16,.30);
  --cmp-title-font:"Barlow Condensed"; --cmp-title-size:1.5rem; --cmp-title-color:#fff; --cmp-title-weight:600; --cmp-title-ls:.5px;
  --cmp-sub-font:"Barlow"; --cmp-sub-size:12px; --cmp-sub-color:rgba(255,255,255,.85);
  --cmp-h-font:"Barlow Condensed"; --cmp-h-color:#E8452C; --cmp-h-weight:700; --cmp-h-size:2.4rem;
  --cmp-lbsub-color:#ecebe9; --cmp-lbsub-size:18px; --cmp-roleh-color:#E8452C; --cmp-roleh-size:1.1rem;
  --cmp-body-font:"Barlow"; --cmp-body-size:14px; --cmp-body-color:#b9b7bf; --cmp-body-lh:1.6;
  --cmp-lbw:1440px; --cmp-thumb-aspect:16/10; --cmp-play:#e02b20;
  --cmp-close-bg:#111111; --cmp-close-x:#ffffff; --cmp-rel-size:96px;
  --cmp-cap-bg:#2B1410; --cmp-media-bg:#f4f2ef;
  --cmp-ink:#1C1813; --cmp-muted:#6E655A; --cmp-hair:#E4DCCE; --cmp-surface:#fff; --cmp-surface2:#FBF8F1;
  font-family:var(--cmp-body-font),"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cmp-ink);
}
.cmp *{box-sizing:border-box;}

.cmp-controls{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:flex-end;padding:0;margin:0 0 var(--cmp-fgap,40px);justify-content:flex-start;}
.cmp[data-fpos="center"] .cmp-controls{justify-content:center;}
.cmp[data-fpos="right"] .cmp-controls{justify-content:flex-end;}
.cmp[data-fsticky="on"] .cmp-controls{position:sticky;top:0;z-index:30;background:var(--cmp-ground,#fff);padding-top:12px;}
.cmp-fbar{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end;}
.cmp-ctl{display:flex;flex-direction:column;gap:7px;}
.cmp-lbl{font-family:var(--cmp-h-font),"Barlow Condensed",sans-serif;font-weight:600;letter-spacing:.6px;text-transform:uppercase;font-size:11.5px;color:var(--cmp-muted);}
.cmp-search{position:relative;margin-left:auto;}
.cmp-search input{font-family:var(--cmp-fctrl-font),"Barlow",sans-serif;font-size:14px;padding:9px 13px 9px 34px;border:1px solid var(--cmp-hair);border-radius:var(--cmp-fctrl-radius,9px);background:var(--cmp-surface)!important;color:var(--cmp-ink);width:220px;}
.cmp-search input:hover,.cmp-search input:focus{background:var(--cmp-fctrl-hbg,var(--cmp-surface))!important;color:var(--cmp-fctrl-hcolor,var(--cmp-ink))!important;border-color:var(--cmp-ink);outline:none;}
.cmp-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);opacity:.5;}
.cmp-dd{font-family:var(--cmp-fctrl-font),"Barlow",sans-serif;font-size:14px;font-weight:var(--cmp-fctrl-weight,400);padding:9px 12px;border:1px solid var(--cmp-hair);border-radius:var(--cmp-fctrl-radius,9px);background:var(--cmp-surface)!important;color:var(--cmp-fctrl-color,var(--cmp-ink))!important;min-width:150px;height:auto;line-height:1.3;box-shadow:none;}
.cmp-dd:hover,.cmp-dd:focus{background:var(--cmp-fctrl-hbg,var(--cmp-surface))!important;color:var(--cmp-fctrl-hcolor,var(--cmp-fctrl-color,var(--cmp-ink)))!important;border-color:var(--cmp-ink);outline:none;}
.cmp-chips{display:flex;flex-wrap:wrap;gap:7px;}
.cmp-chip{font-size:13.5px;font-weight:var(--cmp-fctrl-weight,600);color:var(--cmp-fctrl-color,var(--cmp-muted));background:transparent!important;border:1px solid var(--cmp-hair);padding:6px 13px;border-radius:999px;cursor:pointer;transition:.15s;font-family:var(--cmp-fctrl-font),"Barlow",sans-serif;}
.cmp-chip:hover{background:var(--cmp-fctrl-hbg,transparent)!important;color:var(--cmp-fctrl-hcolor,var(--cmp-ink))!important;border-color:var(--cmp-ink);}
.cmp-chip[aria-pressed="true"]{color:#fff!important;background:var(--cmp-ink)!important;border-color:var(--cmp-ink);}
.cmp-chip[aria-pressed="true"]:hover{color:#fff!important;background:var(--cmp-ink)!important;}
.cmp-chip .n{opacity:.6;font-size:11px;margin-left:5px;}
.cmp-clear{align-self:flex-end;background:var(--cmp-surface)!important;border:1px solid var(--cmp-hair);color:var(--cmp-fctrl-color,var(--cmp-ink))!important;font-family:var(--cmp-fctrl-font),"Barlow",sans-serif;font-size:14px;font-weight:var(--cmp-fctrl-weight,400);letter-spacing:0;line-height:1.3;cursor:pointer;padding:9px 12px;min-width:150px;text-align:center;border-radius:var(--cmp-fctrl-radius,9px);transition:.15s;}
.cmp-clear:hover,.cmp-clear:focus{background:var(--cmp-fctrl-hbg,var(--cmp-surface))!important;border-color:var(--cmp-ink);color:var(--cmp-fctrl-hcolor,var(--cmp-fctrl-color,var(--cmp-ink)))!important;outline:none;}
.cmp-count{padding:14px 0 6px;color:var(--cmp-muted);font-size:13px;font-family:var(--cmp-h-font),"Barlow Condensed",sans-serif;letter-spacing:.5px;text-transform:uppercase;}

.cmp-grid{display:grid;grid-template-columns:repeat(var(--cmp-cols),1fr);gap:var(--cmp-gap);padding:6px 0 10px;}
@media(max-width:820px){.cmp-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.cmp-grid{grid-template-columns:1fr;}}
.cmp-card{position:relative;display:block;aspect-ratio:var(--cmp-aspect);overflow:hidden;border:var(--cmp-tile-border,0) solid var(--cmp-tile-border-color,transparent);border-radius:var(--cmp-radius);padding:0;cursor:pointer;background:var(--cmp-surface2);color:#fff;text-align:left;font-family:inherit;transition:transform .3s,box-shadow .3s;}
.cmp-imgwrap{position:absolute;inset:0;overflow:hidden;}
.cmp-card img,.cmp-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--cmp-hspeed) cubic-bezier(.2,.7,.2,1);}
.cmp[data-hover="zoom"] .cmp-card:hover img,.cmp[data-hover="circle"] .cmp-card:hover img{transform:scale(var(--cmp-zoom));}
.cmp[data-hover="lift"] .cmp-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px -20px rgba(0,0,0,.55);}
.cmp[data-hover="fade"] .cmp-card:hover .cmp-scrim{background:rgba(0,0,0,.5);}
@keyframes cmpkb{0%{transform:scale(1.03) translate(0,0)}50%{transform:scale(1.1) translate(-1.6%,-1.2%)}100%{transform:scale(1.03) translate(0,0)}}
.cmp-card.kb img{animation:cmpkb 10s ease-in-out infinite;}
.cmp-scrim{position:absolute;inset:0;transition:background .3s;background:linear-gradient(to top,var(--cmp-scrim-1) 0%,var(--cmp-scrim-2) 32%,transparent 58%);}
.cmp-meta{position:absolute;left:22px;right:22px;bottom:20px;}
.cmp[data-textpos="center"] .cmp-meta{left:0;right:0;text-align:center;bottom:auto;top:50%;transform:translateY(-50%);}
.cmp[data-textpos="bar"] .cmp-meta{left:0;right:0;bottom:0;padding:14px 20px;background:rgba(0,0,0,.55);}

/* Caption-bar tile style: solid colour bar below an un-cropped graphic, no gradient */
.cmp[data-tilestyle="caption"] .cmp-card{aspect-ratio:auto;display:flex;flex-direction:column;background:var(--cmp-cap-bg);}
.cmp[data-tilestyle="caption"] .cmp-imgwrap{position:relative;inset:auto;aspect-ratio:auto;height:var(--cmp-cap-h,220px);background:var(--cmp-media-bg);flex:0 0 auto;}
.cmp[data-tilestyle="caption"] .cmp-card img,.cmp[data-tilestyle="caption"] .cmp-card video{object-fit:var(--cmp-cap-fit,cover);}
.cmp[data-tilestyle="caption"] .cmp-scrim{display:none;}
.cmp[data-tilestyle="caption"] .cmp-meta{position:static;left:auto;right:auto;bottom:auto;top:auto;transform:none;text-align:left;background:var(--cmp-cap-bg);padding:14px 18px;}
.cmp .cmp-name{display:block;font-family:var(--cmp-title-font),"Barlow Condensed",sans-serif!important;font-weight:var(--cmp-title-weight)!important;font-size:var(--cmp-title-size)!important;line-height:1.02;letter-spacing:var(--cmp-title-ls);color:var(--cmp-title-color)!important;}
.cmp[data-upper="on"] .cmp-name{text-transform:uppercase;}
.cmp-name .pl{font-weight:300;opacity:.9;color:inherit!important;}
.cmp .cmp-svc{display:block;margin-top:7px;font-family:var(--cmp-sub-font),"Barlow",sans-serif!important;font-size:var(--cmp-sub-size)!important;color:var(--cmp-sub-color)!important;}
.cmp[data-svc="off"] .cmp-svc{display:none;}
.cmp-see{position:absolute;top:50%;left:50%;width:var(--cmp-circ);height:var(--cmp-circ);border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:calc(var(--cmp-circ)*.22);color:#fff;background:var(--cmp-circ-bg);backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.7);transform:translate(-50%,-50%) scale(.82);opacity:0;pointer-events:none;transition:opacity .25s,transform .3s,left .14s,top .14s;z-index:3;text-align:center;padding:6px;}
.cmp[data-hover="circle"] .cmp-card:hover .cmp-see{opacity:1;transform:translate(-50%,-50%) scale(1);}

/* lightbox (appended to body) */
.cmp-overlay{position:fixed;inset:0;z-index:99999;background:rgba(8,8,9,.9);backdrop-filter:blur(6px);display:grid;place-items:center;padding:2.5vh 12px;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .24s;font-family:"Barlow",sans-serif;}
.cmp-overlay.open{opacity:1;pointer-events:auto;}
.cmp-lb{width:100%;max-width:var(--lbw,1440px);margin:auto;background:#0d0d13;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:clamp(18px,2.2vw,36px);color:#f4f3f1;box-shadow:0 40px 90px -30px rgba(0,0,0,.85);transform:translateY(14px) scale(.99);transition:transform .26s cubic-bezier(.2,.8,.2,1);position:relative;}
.cmp-overlay[data-lbtheme="light"] .cmp-lb{background:#fff;border-color:#e4dcce;color:#1c1813;}
.cmp-overlay.open .cmp-lb{transform:none;}
.cmp-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:var(--closebg,#111);color:var(--closex,#fff);font-size:0;line-height:0;cursor:pointer;display:grid;place-items:center;z-index:6;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:.15s;}
.cmp-close::before,.cmp-close::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:2.5px;border-radius:2px;background:var(--closex,#fff);}
.cmp-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.cmp-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.cmp-close:hover{background:var(--accent,#E8452C);border-color:#fff;transform:scale(1.06);}
.cmp-close:hover::before,.cmp-close:hover::after{background:#fff;}
.cmp-lbg{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(22px,2.6vw,38px);align-items:start;}
@media(max-width:860px){.cmp-lbg{grid-template-columns:1fr;gap:24px;}}
.cmp-media{display:flex;flex-direction:column;gap:14px;min-width:0;}
.cmp-frame{position:relative;border-radius:10px;overflow:hidden;background:#15151d;aspect-ratio:16/10;}
.cmp-frame img{width:100%;height:100%;object-fit:cover;display:block;}
/* Main media fit: adapt to each item's shape / show whole image without cropping */
.cmp-overlay[data-mediafit="contain"] .cmp-main img,
.cmp-overlay[data-mediafit="adapt"] .cmp-main img{object-fit:contain;}
.cmp-overlay[data-mediafit="contain"] .cmp-main{background:#0b0b10;}
.cmp-overlay[data-lbtheme="light"][data-mediafit="contain"] .cmp-main{background:#f2ede3;}
.cmp-overlay[data-mediafit="contain"] .cmp-main,
.cmp-overlay[data-mediafit="adapt"] .cmp-main{max-height:82vh;}
.cmp-frame iframe,.cmp-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;}
.cmp-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.cmp-overlay[data-mediacols="2"] .cmp-thumbs{grid-template-columns:repeat(2,1fr);}
.cmp-overlay[data-mediacols="3"] .cmp-thumbs{grid-template-columns:repeat(3,1fr);}
.cmp-overlay[data-mediacols="4"] .cmp-thumbs{grid-template-columns:repeat(4,1fr);}
.cmp-thumbs .cmp-frame{aspect-ratio:var(--thumbaspect,16/10);}
.cmp-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0;cursor:pointer;background:var(--play,#e02b20);border-radius:12px;width:70px;height:50px;display:grid;place-items:center;z-index:2;transition:.15s;}
.cmp-play:hover{filter:brightness(1.1);transform:translate(-50%,-50%) scale(1.07);}
.cmp-play::before{content:"";border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff;margin-left:3px;}
.cmp-play.sm{width:48px;height:34px;border-radius:8px;}.cmp-play.sm::before{border-width:7px 0 7px 12px;}
.cmp-info{min-width:0;}
.cmp-overlay .cmp-lb-name{font-family:var(--hfont,"Barlow Condensed"),sans-serif!important;font-weight:var(--hweight,700)!important;font-size:clamp(1.6rem,3vw,var(--hsize,2.4rem))!important;line-height:1!important;letter-spacing:.5px!important;color:var(--hcolor,#E8452C)!important;margin:0 0 7px!important;text-transform:none!important;padding:0!important;}
.cmp-overlay .cmp-lb-sub{font-family:var(--bodyfont,"Barlow"),sans-serif!important;font-size:var(--lbsubsize,1.15rem)!important;color:var(--lbsubcolor,#ecebe9)!important;margin:0 0 15px!important;font-weight:500!important;line-height:1.3!important;text-transform:none!important;}
.cmp-lb-rule{height:1px;background:rgba(255,255,255,.16);margin:0 0 16px;}
.cmp-overlay[data-lbtheme="light"] .cmp-lb-rule{background:#e4dcce;}
.cmp-overlay .cmp-lb-desc{color:var(--bodycolor,#b9b7bf)!important;font-family:var(--bodyfont,"Barlow"),sans-serif!important;font-size:var(--bodysize,14px)!important;line-height:var(--bodylh,1.6)!important;margin:0 0 20px!important;}
.cmp-overlay[data-lbtheme="light"] .cmp-lb-desc{color:#5c5348;}
.cmp-overlay .cmp-role-h{font-size:var(--rolehsize,1.1rem)!important;font-weight:600!important;margin:0 0 11px!important;color:var(--rolehcolor,#E8452C)!important;font-family:"Barlow Condensed",sans-serif!important;letter-spacing:.5px!important;line-height:1.2!important;text-transform:none!important;padding:0!important;}
.cmp-roles{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
@media(max-width:520px){.cmp-roles{grid-template-columns:1fr;}}
.cmp-roles li{display:flex;align-items:center;gap:10px;font-family:var(--bodyfont,"Barlow"),sans-serif!important;font-size:var(--bodysize,14px)!important;color:#e7e6ea;list-style:none!important;}
.cmp-overlay[data-lbtheme="light"] .cmp-roles li{color:#2a251d;}
.cmp-ck{flex:0 0 auto;width:18px;height:18px;border-radius:4px;background:var(--accent,#E8452C);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;}
.cmp-quote{border-left:3px solid var(--accent,#E8452C);padding:4px 0 4px 16px;margin:0 0 22px;color:#d7d5db;}
.cmp-qstars{color:#f5b400;font-size:15px;letter-spacing:1px;display:inline-block;margin:0 0 6px;}
.cmp-qstars .off{color:rgba(255,255,255,.25);}
.cmp-overlay[data-lbtheme="light"] .cmp-qstars .off{color:rgba(0,0,0,.18);}
.cmp-quote p{margin:0 0 12px;font-size:14.5px;font-style:italic;line-height:1.55;}
.cmp-qwho{display:flex;align-items:center;gap:11px;}
.cmp-qav{flex:0 0 auto;width:40px;height:40px;border-radius:50%;object-fit:cover;display:grid;place-items:center;color:#12100c;font-weight:700;font-size:13px;font-family:"Barlow Condensed",sans-serif;letter-spacing:.5px;}
.cmp-qmeta{display:flex;flex-direction:column;line-height:1.3;}
.cmp-qmeta b{font-size:13.5px;color:#f0eee9;}.cmp-qmeta span{font-size:12px;color:#9a97a0;}
.cmp-overlay[data-lbtheme="light"] .cmp-qmeta b{color:#1c1813;}

.cmp-form{display:grid;gap:10px;width:100%;}
.cmp-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:520px){.cmp-form .row{grid-template-columns:1fr;}}
.cmp-form input,.cmp-form textarea{font-family:inherit;font-size:14px;padding:11px 13px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#15151d;color:#f4f3f1;width:100%;}
.cmp-overlay[data-lbtheme="light"] .cmp-form input,.cmp-overlay[data-lbtheme="light"] .cmp-form textarea{background:#f7f4ee;color:#1c1813;border-color:#e4dcce;}
.cmp-form .hp{position:absolute;left:-9999px;}
.cmp-form button{justify-self:start;width:auto;background:var(--accent,#E8452C);color:#fff;border:0;font-weight:600;font-size:15px;padding:12px 32px;border-radius:8px;cursor:pointer;}
.cmp-form button:disabled{opacity:.6;cursor:default;}
.cmp-msg{font-size:13.5px;margin-top:2px;}
.cmp-msg.ok{color:#4C9A6A;}.cmp-msg.err{color:#e0684a;}

.cmp-related{margin-top:26px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;}
.cmp-overlay[data-lbtheme="light"] .cmp-related{border-color:#e4dcce;}
.cmp-related .cmp-rel-h{font-family:"Barlow Condensed",sans-serif!important;letter-spacing:.5px!important;font-size:1.05rem!important;font-weight:600!important;margin:0 0 12px!important;color:inherit!important;text-transform:none!important;}
.cmp-rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--relsize,96px),1fr));gap:10px;}
.cmp-rel{position:relative;aspect-ratio:16/10;border-radius:8px;overflow:hidden;cursor:pointer;border:0;padding:0;}
.cmp-rel img{width:100%;height:100%;object-fit:cover;}
.cmp-rel span{position:absolute;left:7px;bottom:6px;right:7px;color:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:.78rem;line-height:1.05;letter-spacing:.2px;text-shadow:0 1px 6px rgba(0,0,0,.7);z-index:2;}
.cmp-rel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 60%);}
@media (prefers-reduced-motion:reduce){.cmp *{transition:none!important;}.cmp-card.kb>img{animation:none!important;}}

/* single case page */
.cmp-case{max-width:1200px;margin:0 auto;padding:40px 22px 70px;}
.cmp-case .cmp-lbg{color:var(--cmp-ink);}
