/* barmSTUDIO 7.1.0 — consistent rhythm, natural typography, full project framing.
   Last in the cascade; no hiding content, no dependencies, no SEO metadata changes. */
body.bs-v6{
  --bs71-rhythm:clamp(68px,7.5vw,114px);
  --bs71-softline:#dde3ed;
}
body.bs-v6 .bs-shell{--section:var(--bs71-rhythm)}
body.bs-v6 :where(main,article,section){min-width:0}
body.bs-v6 :where(main h1,main h2,main h3,main h4,main p,main li,main summary,footer p){overflow-wrap:break-word;hyphens:manual}
body.bs-v6 :where(main h1,main h2,main h3,main h4){text-wrap:balance;line-height:1.12;letter-spacing:-.045em}
body.bs-v6 :where(main p,main li,main blockquote,footer p){text-wrap:pretty}
body.bs-v6 :where(.bs7-section-title h2,.bs7-about h2,.bs7-closing h2,.bs7-hero h1){line-height:1.075;letter-spacing:-.052em}
body.bs-v6 :where(main p,main li){line-height:1.7}
body.bs-v6 :where(.bs7-section-title p,.bs-section-head p,.bs7-about p,.bs-page-hero .bs-lead){max-width:59ch}
body.bs-v6 :where(.bs7-section-title,.bs-section-head){align-items:center;column-gap:clamp(28px,5vw,74px)}
body.bs-v6 :where(.bs7-label,.bs-eyebrow){letter-spacing:.085em}
body.bs-v6 .bs7-section-title h2{max-width:20ch}
body.bs-v6 :is(a,button,summary){-webkit-tap-highlight-color:transparent}
body.bs-v6 :where(.bs-card,.bs-project-card,.bs7-case){min-width:0}
body.bs-v6 :where(.bs-btn,.bs7-button,.bs7-case-visit){touch-action:manipulation}
body.bs-v6 :where(.bs7-button,.bs7-line-button,.bs-text-link,.bs-btn){text-wrap:balance}

/* A meaningful, complete code sample instead of 7 lines and empty space. */
body.bs-v6 .bs7-hero-layout{grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)}
body.bs-v6 .bs7-hero-copy{padding:clamp(30px,4.4vw,67px)}
body.bs-v6 .bs7-hero h1{font-size:clamp(39px,4.6vw,69px);max-width:16ch}
body.bs-v6 .bs7-hero-description{max-width:57ch}
body.bs-v6 .bs7-hero-right{gap:14px}
body.bs-v6 .bs7-codewindow{min-height:0;box-shadow:0 18px 45px rgba(3,8,24,.2)}
body.bs-v6 .bs7-codewindow-lines{min-height:345px;max-height:440px;overflow:auto;padding:17px 14px 19px 9px;font:500 11.4px/1.64 var(--mono);color:#d1dbf5;white-space:normal;scrollbar-color:#425378 #131d34;scrollbar-width:thin}
body.bs-v6 .bs7-code-list{list-style:none;counter-reset:code-number;margin:0;padding:0;width:max-content;min-width:100%}
body.bs-v6 .bs7-code-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:baseline;min-height:18px;line-height:1.65;counter-increment:code-number;white-space:pre}
body.bs-v6 .bs7-code-list li::before{content:counter(code-number,decimal-leading-zero);text-align:right;color:#677a9c;font:500 10px/1.7 var(--mono);user-select:none}
body.bs-v6 .bs7-code-list code{font:inherit;color:#d4def6;white-space:pre}
body.bs-v6 .bs7-code-list li:nth-child(1) code,body.bs-v6 .bs7-code-list li:nth-child(3) code,body.bs-v6 .bs7-code-list li:nth-child(14) code{color:#b5a7ff}
body.bs-v6 .bs7-code-list li:nth-child(2) code{color:#778aa7}
body.bs-v6 .bs7-code-list li:nth-child(4) code,body.bs-v6 .bs7-code-list li:nth-child(5) code,body.bs-v6 .bs7-code-list li:nth-child(10) code{color:#98deba}
body.bs-v6 .bs7-code-list li:nth-child(13) code,body.bs-v6 .bs7-code-list li:nth-child(15) code{color:#f0c996}
body.bs-v6 .bs7-code-status{font-size:10px;min-height:45px}
body.bs-v6 .bs7-codewindow:focus-within{border-color:#7ea2eb}

/* Show the entire source screenshot. 'cover' on website screenshots hid logos and UI. */
body.bs-v6 .bs7-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.7vw,35px)}
body.bs-v6 .bs7-case-image,body.bs-v6 .bs7-case-lead .bs7-case-image{background:linear-gradient(155deg,#e8eef7,#f5f6fa);border:1px solid #e1e6ef;display:grid;place-items:center;box-shadow:inset 0 1px 2px rgba(25,45,82,.03);overflow:hidden;padding:clamp(8px,1.4vw,17px)}
body.bs-v6 .bs7-case-image{aspect-ratio:1.74}
body.bs-v6 .bs7-case-lead .bs7-case-image{aspect-ratio:2.08}
body.bs-v6 .bs7-case-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;filter:none!important;border-radius:clamp(6px,.7vw,10px);box-shadow:0 10px 25px rgba(13,27,58,.13);background:#fff}
body.bs-v6 .bs7-case-image:hover img{box-shadow:0 17px 35px rgba(13,27,58,.18)}
body.bs-v6 .bs7-case-visit{right:22px;bottom:22px;z-index:2}
body.bs-v6 .bs7-case-caption{padding-top:16px;align-items:center}
body.bs-v6 .bs7-case-caption h3{font-size:clamp(22px,2.2vw,31px)}
body.bs-v6 .bs7-case-caption h3 a{text-decoration:none}
body.bs-v6 .bs7-work-foot{margin-top:32px}

/* Balanced offer and method blocks. */
body.bs-v6 .bs7-offer-detail{gap:clamp(12px,2.1vw,28px);flex-wrap:wrap}
body.bs-v6 .bs7-paths{gap:clamp(17px,2.6vw,32px);align-items:stretch}
body.bs-v6 .bs7-path{min-height:0;padding:clamp(27px,4vw,49px);display:flex;flex-direction:column}
body.bs-v6 .bs7-path-top{margin-bottom:clamp(28px,3.2vw,45px)}
body.bs-v6 .bs7-path h3{font-size:clamp(26px,3vw,43px);max-width:17ch}
body.bs-v6 .bs7-path p{max-width:56ch}
body.bs-v6 .bs7-path .bs7-path-link{margin-top:auto}
body.bs-v6 .bs7-method-list>div{min-width:0}
body.bs-v6 .bs7-method-list p{max-width:28ch}
body.bs-v6 .bs7-about-highlights span{line-height:1.5}
body.bs-v6 .bs7-review-grid .bs-review{min-height:0}
body.bs-v6 .bs7-closing{margin-top:clamp(75px,8vw,115px)}

/* Other page families: sensible line lengths, consistent card alignment. */
body.bs-v6 .bs-page-hero{padding-top:clamp(25px,3vw,40px)}
body.bs-v6 .bs-page-hero-card{min-height:0;padding:clamp(32px,4.5vw,63px)}
body.bs-v6 .bs-page-hero-card h1{line-height:1.1;max-width:21ch}
body.bs-v6 .bs-page-hero-card p{max-width:66ch}
body.bs-v6 .bs-section-head h2{max-width:23ch}
body.bs-v6 .bs-section-head p{font-size:clamp(14px,1.05vw,16px)}
body.bs-v6 .bs-project-grid{gap:clamp(16px,2vw,25px);align-items:stretch}
body.bs-v6 .bs-project-card{display:flex;flex-direction:column;height:100%;overflow:hidden}
body.bs-v6 .bs-project-media{aspect-ratio:16/10;background:linear-gradient(140deg,#e9eef6,#f8faff);padding:clamp(8px,1vw,14px);display:grid;place-items:center}
body.bs-v6 .bs-project-media img{width:100%;height:100%;object-fit:contain!important;object-position:center;transform:none!important;border-radius:8px;box-shadow:0 5px 17px rgba(27,44,74,.11)}
body.bs-v6 .bs-project-body{display:flex;flex-direction:column;flex:1;gap:0;padding:clamp(19px,2vw,26px)}
body.bs-v6 .bs-project-body>p{max-width:56ch;line-height:1.6}
body.bs-v6 .bs-project-card-foot{margin-top:auto;padding-top:18px}
body.bs-v6 .bs-editorial-grid{gap:clamp(15px,2.2vw,25px);align-items:stretch}
body.bs-v6 .bs-editorial-card{height:100%;display:flex;flex-direction:column}
body.bs-v6 .bs-editorial-content{display:flex;flex-direction:column;flex:1}
body.bs-v6 .bs-editorial-content h2{line-height:1.22;font-size:clamp(21px,2vw,27px)}
body.bs-v6 .bs-editorial-content p{line-height:1.67}
body.bs-v6 .bs-service-detail-grid{grid-template-columns:minmax(265px,.75fr) minmax(0,1.25fr);gap:clamp(16px,2vw,25px)}
body.bs-v6 .bs-service-sticky{top:100px;min-height:0;padding:clamp(24px,2.7vw,37px)}
body.bs-v6 .bs-service-sticky h2{line-height:1.14}
body.bs-v6 .bs-service-sticky p{font-size:14px;max-width:41ch}
body.bs-v6 .bs-service-detail-list{gap:clamp(15px,1.8vw,22px)}
body.bs-v6 .bs-service-detail-list article,body.bs-v6 .bs-service-detail-list article:first-child{min-height:0;padding:clamp(22px,2.3vw,30px)}
body.bs-v6 .bs-service-detail-list h3{line-height:1.2}
body.bs-v6 .bs-service-detail-list p{font-size:14px;line-height:1.68}
body.bs-v6 .bs-specialization-visual{min-width:0}
body.bs-v6 .bs-portfolio-tools{gap:18px}
body.bs-v6 .bs-article-content-section{padding-top:clamp(24px,4vw,50px)}
body.bs-v6 .bs-prose{line-height:1.82}
body.bs-v6 .bs-prose :where(p,li){line-height:1.85;text-wrap:pretty}
body.bs-v6 .bs-prose h2,body.bs-v6 .bs-prose h3{line-height:1.2;max-width:28ch}
body.bs-v6 .bs-faq-list{max-width:1000px}
body.bs-v6 .bs-faq-list summary{line-height:1.5;text-wrap:pretty}
body.bs-v6 .bs-contact-layout>*{min-width:0}
body.bs-v6 .bs-contact-form :is(input,textarea,select){min-height:44px}
body.bs-v6 .bs-footer{margin-top:clamp(65px,7vw,95px)}

@media(max-width:1000px){
  body.bs-v6 .bs7-hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
  body.bs-v6 .bs7-hero h1{font-size:clamp(38px,4.7vw,56px)}
  body.bs-v6 .bs7-codewindow-lines{font-size:10.5px;max-height:340px}
  body.bs-v6 .bs-service-detail-grid{grid-template-columns:minmax(0,1fr)}
  body.bs-v6 .bs-service-sticky{position:relative;top:auto}
}
@media(max-width:800px){
  body.bs-v6 .bs7-hero-layout{grid-template-columns:1fr}
  body.bs-v6 .bs7-hero h1{font-size:clamp(39px,7vw,59px)}
  body.bs-v6 .bs7-codewindow-lines{max-height:340px}
  body.bs-v6 .bs7-featured-grid{gap:25px}
  body.bs-v6 .bs7-path{min-height:0}
  body.bs-v6 .bs7-section-title{gap:15px}
}
@media(max-width:600px){
  body.bs-v6{--bs71-rhythm:clamp(63px,16vw,78px)}
  body.bs-v6 .bs-shell{--section:var(--bs71-rhythm)}
  body.bs-v6 .bs7-hero h1{font-size:clamp(39px,10vw,52px)}
  body.bs-v6 .bs7-hero-description{font-size:14px}
  body.bs-v6 .bs7-codewindow-lines{font-size:10px;max-height:255px;min-height:215px;padding:12px 8px}
  body.bs-v6 .bs7-code-list li{grid-template-columns:24px minmax(0,1fr);gap:9px}
  body.bs-v6 .bs7-code-list li::before{font-size:9px}
  body.bs-v6 .bs7-case-image,body.bs-v6 .bs7-case-lead .bs7-case-image{aspect-ratio:1.54;padding:8px}
  body.bs-v6 .bs7-case-visit{right:12px;bottom:12px;padding:9px 12px}
  body.bs-v6 .bs7-paths{gap:13px}
  body.bs-v6 .bs7-path{padding:27px 24px}
  body.bs-v6 .bs7-path h3{font-size:31px}
  body.bs-v6 .bs7-section-title h2,body.bs-v6 .bs7-about h2{font-size:clamp(36px,9vw,48px)}
  body.bs-v6 .bs7-about{margin-top:var(--bs71-rhythm)}
  body.bs-v6 .bs-page-hero-card{padding:26px 22px}
  body.bs-v6 .bs-page-hero-card h1{font-size:clamp(30px,8.7vw,41px)}
  body.bs-v6 .bs-project-body{padding:20px}
  body.bs-v6 .bs-editorial-content{padding:20px}
  body.bs-v6 .bs-service-sticky,body.bs-v6 .bs-service-detail-list article,body.bs-v6 .bs-service-detail-list article:first-child{padding:22px}
  body.bs-v6 .bs7-review-grid .bs-review{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  body.bs-v6 .bs7-case-image img,body.bs-v6 .bs-project-media img{transition:none!important;animation:none!important}
}

/* A short, honest code-entry effect; text remains readable throughout. */
body.bs-v6 .bs7-code-list li:last-child code::after{content:' ▍';color:#91b0ff;animation:bs71-caret 1.1s steps(1,end) infinite}
@keyframes bs71-caret{50%{opacity:0}}
@media(prefers-reduced-motion:no-preference){
  body.bs-v6 .bs7-code-list li{animation:bs71-code-enter .35s ease-out both;animation-delay:calc(var(--line-order,1) * 35ms)}
  @keyframes bs71-code-enter{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){body.bs-v6 .bs7-code-list li:last-child code::after{animation:none}}
