/* v125 permanent image framing independent of the selected CMS asset */
.brand-portrait-frame{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;padding:3px;background:linear-gradient(140deg,#b5ceff,#0052ff 54%,#f6b395);box-shadow:0 10px 24px rgba(0,57,145,.10)}
.brand-portrait-frame:before{content:"";position:absolute;inset:3px;border-radius:17px;background:#fff url("images/team/team-background.svg") center/cover no-repeat;z-index:-1}
#team .team-card .brand-portrait-frame>.avatar,.team-grid .person .brand-portrait-frame>.avatar{display:block;width:100%!important;height:auto!important;aspect-ratio:1!important;object-fit:contain!important;object-position:center bottom!important;background:transparent!important;border:0!important;border-radius:17px!important;padding:0!important;margin:0!important;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.brand-object-frame{position:absolute;right:16px;top:-58px;width:128px;height:110px;isolation:isolate;overflow:visible;pointer-events:none}
.brand-object-frame:before{content:"";position:absolute;inset:18px 8px 0;border-radius:24px 24px 16px 16px;background:radial-gradient(ellipse at center,#fff 15%,#edf4ff 80%);border:1px solid #b8ceef;box-shadow:0 9px 20px rgba(0,82,255,.10);z-index:-1}
#services .mega-card .brand-object-frame>.cap-object,.mega-card .brand-object-frame>.cap-object,.mega-card:nth-child(even) .brand-object-frame>.cap-object{position:relative!important;inset:auto!important;display:block;width:128px!important;height:112px!important;max-width:128px!important;max-height:112px!important;object-fit:contain!important;transform:translateY(-7px)!important;filter:drop-shadow(0 8px 10px rgba(20,55,105,.14))!important;margin:0!important;border:0!important;background:transparent!important}
#services .mega-card:hover .brand-object-frame>.cap-object{transform:translateY(-10px)!important}
.brand-media-surface{position:relative;isolation:isolate;border:1px solid #c5d7f1!important;border-radius:24px;background:radial-gradient(ellipse at 50% 40%,#fff,#f0f6ff 80%)!important;box-shadow:0 12px 30px rgba(10,57,130,.08)!important}
.service-visual-card.brand-media-surface{overflow:visible;padding:16px;min-height:240px!important}.service-visual-card.brand-media-surface:after{content:"";position:absolute;bottom:15px;left:24px;right:24px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#0052ff,#edab81,transparent);opacity:.55;z-index:-1}.service-visual-card.brand-media-surface img{transform:translateY(-10px);filter:drop-shadow(0 12px 13px rgba(23,61,120,.14))}
.showcase-category-media.brand-media-surface,.work-media.brand-media-surface{border-radius:18px;margin:12px;padding:12px;background:#f4f8ff!important}.showcase-category-media.brand-media-surface img,.work-media.brand-media-surface img{border-radius:10px;box-shadow:0 5px 16px rgba(28,68,130,.09)}
.brand-screenshot-frame{max-width:850px;margin:0 auto;padding:12px;border:1px solid #bfd2ef;border-radius:24px;background:linear-gradient(150deg,#f5f9ff,#fff);box-shadow:0 16px 35px rgba(12,59,126,.09)}.brand-screenshot-frame>.case-project-image{border-radius:14px}
.gallery-image.brand-media-surface{border-radius:18px}.how-work-visual.brand-media-surface{overflow:visible;border-radius:30px}
@media(max-width:760px){.brand-object-frame{right:12px;top:-45px;width:110px;height:98px}#services .mega-card .brand-object-frame>.cap-object,.mega-card .brand-object-frame>.cap-object{width:110px!important;height:98px!important}.brand-screenshot-frame{padding:8px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.brand-object-frame>.cap-object{transition:none!important}}
/* v127: unframed growth image; showcase images fill their own frame. */
.growth-brand-section .showcase,.growth-brand-section .growth-media,.growth-brand-section .growth-media img{border:0!important;outline:0!important}.growth-brand-section .growth-media:after,.growth-brand-section .growth-media:before{display:none!important}.growth-brand-section .growth-media img{box-shadow:none!important}
.showcase-category-card .showcase-category-media.brand-media-surface{position:relative;align-self:stretch;min-height:300px!important;margin:12px;padding:0!important;overflow:hidden}.showcase-category-card .showcase-category-media.brand-media-surface img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center;border-radius:inherit;box-shadow:none!important}.work-card .work-media.brand-media-surface{position:relative;aspect-ratio:4/3!important;height:auto!important;padding:0!important;overflow:hidden}.work-card .work-media.brand-media-surface img{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center;border-radius:inherit;box-shadow:none!important}@media(max-width:1050px){.showcase-category-card .showcase-category-media.brand-media-surface{min-height:0!important;aspect-ratio:4/3}}

/* Final 1.0.0: match the existing studio portraits; no fading cutout edges. */
.brand-portrait-frame:before{background:radial-gradient(ellipse at 50% 34%,#193c6c 0%,#0b1d38 60%,#060d1b 100%)!important}
#team .team-card .brand-portrait-frame>.avatar,.team-grid .person .brand-portrait-frame>.avatar{mask-image:none!important;-webkit-mask-image:none!important}
/* The CMS merges Growth into this rings visual. Target its actual live container. */
.how-work-visual.brand-media-surface,.how-work-visual{border:0!important;outline:0!important;box-shadow:none!important}
.how-work-visual>img{border:0!important;outline:0!important;box-shadow:none!important}
.how-work-visual:before,.how-work-visual:after{border:0!important;box-shadow:none!important}

/* Correct reference is the CURRENT CMS white/peach team background. */
.brand-portrait-frame:before{background:#fff url("images/team/team-background.svg") center/cover no-repeat!important}

/* 1.0.2: supplied landscape growth photograph, complete uncropped composition. */
.how-work-visual>img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;aspect-ratio:16/9;filter:none!important;position:relative;z-index:2!important;border-radius:16px}
.how-work-visual .motion-rings{z-index:1!important}

/* 1.0.3: supplied Showcase visuals only. No changes to unrelated image frames. */
.work-media img[src*="/devsoft-"][src*="-v103"],.showcase-category-media img[src*="/devsoft-"][src*="-v103"]{object-fit:contain!important;background:#f3f7fd}
.case-project-image[src*="/devsoft-"][src*="-v103"]{width:100%;height:auto;object-fit:contain}
.article-feature img[src*="/devsoft-"][src*="-v103"]{height:auto;max-height:none;aspect-ratio:4/3;object-fit:contain;background:#f3f7fd}
.insight-image img[src*="/devsoft-"][src*="-v103"]{object-fit:contain;background:#f3f7fd}

/* Pending supplied Website/Games category and website project visuals only. */
.work-media img[src*="/devsoft-"][src*="-v104"],.showcase-category-media img[src*="/devsoft-"][src*="-v104"]{object-fit:contain!important;background:#f3f7fd}
.case-project-image[src*="/devsoft-"][src*="-v104"]{width:100%;height:auto;object-fit:contain}

/* Tall dedicated hub covers. Inner Showcase card frames remain unchanged. */
.showcase-hub .showcase-category-card .showcase-category-media.brand-media-surface{aspect-ratio:3/5!important;min-height:360px!important;padding:0!important}
.showcase-hub .showcase-category-media img[src*="-v105"]{object-fit:contain!important;background:#f3f7fd}
@media(max-width:1050px){.showcase-hub .showcase-category-card .showcase-category-media.brand-media-surface{aspect-ratio:3/5!important;min-height:360px!important;max-height:560px}}

/* Complete Learning illustrations: keep all infographic copy visible. */
.article-feature img[src^="images/learning/devsoft-"]{height:auto;max-height:none;aspect-ratio:4/3;object-fit:contain;background:#f3f7fd}
.insight-image img[src^="images/learning/devsoft-"]{object-fit:contain;background:#f3f7fd}

/* Final 1.0 image fit: frames follow the artwork, without fixed-height letterboxing. */
.insight-card .insight-image{align-self:start;min-height:0;height:auto;background:transparent}
.insight-card .insight-image img,.insight-card.featured .insight-image img{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important}
.article-feature{height:auto;min-height:0;background:transparent}
.article-feature img{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
.brand-screenshot-frame>.case-project-image,.case-project-image{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important}
.showcase-hub .showcase-category-card .showcase-category-media.brand-media-surface{align-self:start;aspect-ratio:3/5!important;height:auto!important;min-height:0!important;max-height:none!important}
.showcase-hub .showcase-category-media img[src*="-v105"]{object-fit:cover!important}
.work-card .work-media.brand-media-surface{align-self:start;min-height:0!important;max-height:none!important;aspect-ratio:4/3!important}

/* Final 1.0: growth artwork behind the animated rings, softly blended with the studio background. */
.how-work-visual>img{z-index:1!important;opacity:.82;filter:brightness(1.08) saturate(.88)!important}
.how-work-visual .motion-rings{z-index:3!important;pointer-events:none}
