/* barmSTUDIO 7.2.0 — type rhythm & refined motion. Runs LAST after legacy layers. */
body.bs-v6{--bs72-gap:clamp(52px,6.8vw,96px)}
body.bs-v6 .bs-shell{--section:var(--bs72-gap)}
body.bs-v6 :where(main h1, main h2,main h3,main h4){text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
body.bs-v6 :where(main p,main li,main blockquote){text-wrap:pretty;orphans:2;widows:2;overflow-wrap:break-word}
body.bs-v6 :where(.bs7-hero-description,.bs7-section-title p,.bs7-about p,.bs7-closing p){max-width:54ch;line-height:1.7}
body.bs-v6 .bs7-section-title{margin-bottom:clamp(23px,3.6vw,42px);align-items:center;gap:clamp(18px,3.5vw,48px)}
body.bs-v6 .bs7-section-title h2{max-width:17.5ch;line-height:1.065}
body.bs-v6 .bs7-work{padding-top:clamp(44px,5vw,72px)}
body.bs-v6 .bs-studio-lab{padding-top:var(--bs72-gap)}
body.bs-v6 .bs7-about{margin-top:var(--bs72-gap)}
body.bs-v6 .bs7-closing{margin-top:var(--bs72-gap)}
body.bs-v6 .bs-footer{margin-top:clamp(49px,5vw,75px)}
body.bs-v6 .bs7-path{min-height:0}
body.bs-v6 .bs7-path-top{margin-bottom:clamp(24px,3vw,37px)}
body.bs-v6 .bs7-path h3{max-width:17ch}
body.bs-v6 .bs7-path .bs7-path-link{margin-top:24px}
body.bs-v6 .bs7-path .bs7-path-price,body.bs-v6 .bs7-path .bs7-path-links{margin-top:auto}
body.bs-v6 .bs7-offer-detail{padding-top:20px;row-gap:11px}
body.bs-v6 .bs7-method-list>div{padding-right:clamp(14px,1.7vw,27px)}
/* Respect existing brand color, give only key phrases gentle motion. */
@supports(-webkit-background-clip:text){
  body.bs-v6 :is(.bs7-hero h1,.bs7-section-title h2,.bs7-about h2,.bs7-closing h2) em{
    background-image:linear-gradient(92deg,#365fb5 4%,#6a4ab8 30%,#486eaa 51%,#344b9c 72%,#365fb5 96%);
    background-size:260% 100%;background-clip:text;-webkit-background-clip:text;
    -webkit-text-fill-color:transparent;animation:bs72-inkFlow 10s linear infinite;
  }
  body.bs-v6 :is(.bs7-hero,.bs7-closing) :is(h1,h2) em{background-image:linear-gradient(92deg,#91b7ff,#b3a0ff,#c0d5ff,#86a7f8,#91b7ff)}
  body.bs-v6 :is(.bs7-work,.bs7-method,.bs7-about) :is(h2,h3) em{filter:drop-shadow(0 0 12px rgba(85,115,225,.065))}
}
@keyframes bs72-inkFlow{0%{background-position:100% 0}100%{background-position:-160% 0}}
body.bs-v6 .bs7-hero-copy:after{animation:bs72-cloud 14s ease-in-out infinite alternate;will-change:transform}
body.bs-v6 .bs7-closing:before{content:"";position:absolute;inset:-40% -18%;pointer-events:none;background:radial-gradient(ellipse at 80% 45%,rgba(74,105,228,.18),transparent 51%);animation:bs72-cloud 17s ease-in-out infinite alternate}
@keyframes bs72-cloud{from{transform:translate3d(-1%,0,0)}to{transform:translate3d(4%,3%,0)}}
body.bs-v6 .bs7-case{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){body.bs-v6 .bs7-case:hover{transform:translateY(-3px)}}
/* Delicate browser window frame: actual project image remains complete. */
body.bs-v6 .bs7-case-image,body.bs-v6 .bs7-case-lead .bs7-case-image{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:0;border:1px solid #dce2ed;background:#edf1f7;border-radius:17px;box-shadow:0 13px 35px rgba(13,29,61,.055);aspect-ratio:auto;overflow:hidden}
body.bs-v6 .bs72-browserbar{height:33px;flex:0 0 33px;display:grid;grid-template-columns:45px minmax(0,1fr) 26px;align-items:center;gap:8px;padding:0 10px;background:#f8faff;border-bottom:1px solid #dce4f0;z-index:2;color:#707f96;font:650 10px/1.2 var(--mono)}
body.bs-v6 .bs72-browserdots{display:flex;gap:4px}
body.bs-v6 .bs72-browserdots i{width:7px;height:7px;border-radius:50%;background:#b9c8df;display:block}
body.bs-v6 .bs72-browserdots i:first-child{background:#e9a1a1}
body.bs-v6 .bs72-browserdots i:nth-child(2){background:#ebd49c}
body.bs-v6 .bs72-browseraddress{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #e6ebf4;background:#fff;border-radius:5px;padding:4px 8px;max-width:260px;width:100%;justify-self:center}
body.bs-v6 .bs72-browsericon{text-align:right;font-size:13px}
body.bs-v6 .bs7-case-image>img{display:block;object-fit:contain!important;object-position:center;width:100%;height:auto;max-height:none;aspect-ratio:16/9;background:#fff;box-shadow:none;border-radius:0!important;filter:none!important;transition:transform .4s ease!important}
body.bs-v6 .bs7-case-lead .bs7-case-image>img{aspect-ratio:2.13}
body.bs-v6 .bs7-case-visit{right:12px;bottom:12px;z-index:4;padding:10px 14px}
body.bs-v6 .bs7-case-image-empty{min-height:230px}
/* Remove big vertical void and make the code occupy its panel usefully. */
body.bs-v6 .bs7-hero-layout{min-height:0;align-items:stretch}
body.bs-v6 .bs7-hero-right{grid-template-rows:auto minmax(0,1fr);gap:13px}
body.bs-v6 .bs7-codewindow{min-height:0;overflow:hidden;display:flex;flex-direction:column}
body.bs-v6 .bs7-codewindow-lines{flex:1;min-height:0;max-height:none;overflow:auto;padding:16px 12px 14px 8px;font:500 clamp(11px,0.92vw,12.8px)/1.63 var(--mono);white-space:normal}
body.bs-v6 .bs7-code-list{width:max-content;min-width:100%}
body.bs-v6 .bs7-code-list li{grid-template-columns:30px minmax(0,1fr);gap:9px;min-height:1.63em}
body.bs-v6 .bs7-code-list li code{color:#d9e5fc}
body.bs-v6 .bs7-code-list li::before{font-size:10px;color:#667fa8}
body.bs-v6 .bs7-code-list .bs72-syntax-comment{color:#6e92aa!important;font-style:italic}
body.bs-v6 .bs7-code-list .bs72-syntax-keyword{color:#bfabff!important}
body.bs-v6 .bs7-code-list .bs72-syntax-string{color:#93ddb2!important}
body.bs-v6 .bs7-code-list .bs72-syntax-variable{color:#f2c78e!important}
body.bs-v6 .bs7-code-list .bs72-syntax-function{color:#b5ceff!important}
body.bs-v6 .bs7-codewindow-top{min-height:39px;padding:10px 14px}
body.bs-v6 .bs7-code-status{flex:0 0 auto}
/* Subpages: consistent spacing and sensible card anatomy across service grids. */
body.bs-v6 .bs-page-hero{padding-top:clamp(20px,2.7vw,38px)}
body.bs-v6 .bs-section-head{margin-bottom:clamp(22px,3vw,40px);align-items:center}
body.bs-v6 .bs-service-detail{padding-top:clamp(44px,5.1vw,73px)}
body.bs-v6 .bs-service-detail-grid{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(16px,2vw,27px)}
body.bs-v6 .bs-service-sticky{align-self:start;position:relative;top:auto;min-height:0!important;display:flex;flex-direction:column;gap:10px;padding:clamp(27px,2.8vw,38px);border-radius:18px}
body.bs-v6 .bs-service-sticky .bs-service-sticky-tail{margin-top:clamp(18px,3vw,35px)}
body.bs-v6 .bs-service-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.5vw,19px);align-items:stretch}
body.bs-v6 .bs-service-detail-list article,body.bs-v6 .bs-service-detail-list article:first-child{grid-column:auto;min-height:0!important;padding:clamp(22px,2.1vw,29px);display:flex;flex-direction:column;gap:10px}
body.bs-v6 .bs-service-detail-list article:first-child{grid-column:1/-1}
body.bs-v6 .bs-service-detail-list article :is(h3,p){margin-top:0}
body.bs-v6 .bs-service-detail-list article .bs-text-link{margin-top:auto;padding-top:10px}
body.bs-v6 .bs-tech-mosaic,body.bs-v6 .bs-stack-panel{min-height:0;align-self:stretch}
body.bs-v6 .bs-tech-mosaic-head p{max-width:46ch}
body.bs-v6 .bs-project-card,body.bs-v6 .bs-editorial-card{height:100%}
body.bs-v6 .bs-project-grid,body.bs-v6 .bs-editorial-grid{row-gap:clamp(17px,2.1vw,27px)}
body.bs-v6 .bs-page-hero-card{min-height:0}
body.bs-v6 .bs-subpage-hero-grid{align-items:stretch}
body.bs-v6 .bs-page-hero-card h1{max-width:19ch}
body.bs-v6 .bs-prose :is(h2,h3,h4){text-wrap:balance}
body.bs-v6 .bs-footer{margin-top:clamp(49px,5vw,75px)}
/* All movement is opt-in and optional; never hide readable content. */
@media(max-width:1030px){
  body.bs-v6 .bs7-hero-layout{grid-template-columns:1fr}
  body.bs-v6 .bs7-hero-right{grid-template-columns:1fr 1.5fr;grid-template-rows:auto}
  body.bs-v6 .bs7-codewindow-lines{max-height:340px}
  body.bs-v6 .bs-service-detail-grid{grid-template-columns:1fr}
  body.bs-v6 .bs-service-sticky{position:relative}
}
@media(max-width:720px){
  body.bs-v6{--bs72-gap:clamp(50px,13vw,72px)}
  body.bs-v6 .bs7-hero-right{grid-template-columns:1fr;gap:12px}
  body.bs-v6 .bs7-codewindow-lines{max-height:290px;min-height:180px;font-size:10.6px}
  body.bs-v6 .bs7-codewindow{min-height:0}
  body.bs-v6 .bs7-case-image>img,body.bs-v6 .bs7-case-lead .bs7-case-image>img{aspect-ratio:1.55}
  body.bs-v6 .bs72-browserbar{height:29px;flex-basis:29px}
  body.bs-v6 .bs-service-detail-list{grid-template-columns:1fr}
  body.bs-v6 .bs-service-detail-list article:first-child{grid-column:auto}
  body.bs-v6 .bs7-section-title{row-gap:17px}
  body.bs-v6 .bs7-section-title h2{max-width:20ch}
}
@media(prefers-reduced-motion:reduce){
  body.bs-v6 :is(.bs7-hero h1,.bs7-section-title h2,.bs7-about h2,.bs7-closing h2) em,
  body.bs-v6 .bs7-hero-copy:after,body.bs-v6 .bs7-closing:before{animation:none!important}
  body.bs-v6 .bs7-case{transition:none!important}
}
