*{box-sizing:border-box}body{margin:0;font:400 16px/1.6 Montserrat,Arial,sans-serif;color:#343A40;background:#fff}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4,summary,th,nav a,.b,.mbar a,cite{font-family:"Barlow",Arial,sans-serif}nav a,.b,.mbar a{font-weight:600;letter-spacing:.06em}h1,h2,h3,h4{font-weight:600;letter-spacing:.02em;margin:0 0 16px;line-height:1.25}
.in{max-width:1224px;margin:0 auto;padding:0 28px}
.pv{background:#343A40;color:#C9D1D8;font-size:12px;text-align:center;padding:4px}.pv a{color:#8ECAE6}
header{background:#fff}header .in{display:flex;align-items:center;justify-content:space-between;height:104px}
.logo{background:#343A40;padding:10px 14px;display:block}.logo img{width:150px;height:auto}
nav{display:flex;gap:36px}nav a{text-decoration:none;text-transform:uppercase;font-size:14px;letter-spacing:.02em}nav a.on{border-bottom:1px solid #343A40}
.hero{background:linear-gradient(rgba(25,28,31,.72),rgba(25,28,31,.72)),url(/assets/hero-wide.webp) center/cover;color:#fff;min-height:680px;display:flex;align-items:center}
.hero h1{font-size:52px;text-transform:uppercase;color:#8ECAE6;max-width:900px}
.hero p{font-size:22px;max-width:800px;margin:0 0 40px}
.btns{display:flex;gap:16px;flex-wrap:wrap}.call{font-size:16px!important;margin:24px 0 0!important;color:#E8EDF0}
.b{display:inline-block;text-decoration:none;text-transform:uppercase;font-size:16px;letter-spacing:.03em;padding:22px 40px;border:2px solid transparent}
.lt{background:#8ECAE6;color:#343A40}.ol{border-color:#fff;color:#fff}.dk{background:#343A40;color:#8ECAE6;font-size:14px;padding:16px 44px}
.b:hover{opacity:.9}
section{padding:96px 0}.svc,.rev{text-align:center}h2{font-size:34px}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin:56px auto 64px;max-width:1000px}
.t img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.t h3{text-transform:uppercase;font-size:21px;margin:22px 0 8px;padding-top:0}.t p{font-size:15px;margin:0 auto;max-width:440px}
.rev{background:#F2F4F6}.rt{margin:0 0 48px;font-size:15px}.q{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
blockquote{margin:0;background:#fff;padding:36px 28px}blockquote p{margin:0 0 16px;font-size:16px}cite{font-style:normal;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.band{background:#343A40;color:#E8EDF0}.band h2{color:#8ECAE6;font-size:32px}.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.band p{font-size:17px}.band .b{margin-top:16px;font-size:14px;padding:16px 32px}.map iframe{width:100%;height:420px;border:0;display:block}
footer{background:#8ECAE6;color:#343A40;padding:64px 0 24px}footer p{margin:0;font-size:15px}
.cr{text-align:center;font-size:13px!important;text-transform:uppercase;margin-top:48px!important}.mbar{display:none}.burger{display:none}
.ind{margin:0 auto 56px;max-width:1000px;border-top:1px solid #D9DEE2;padding-top:40px}.ind h3{font-size:17px;margin-bottom:20px}
.ind ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ind li{border:1px solid #343A40;background:#fff;padding:8px 16px;font-size:14px}
.trade{background:#fff;border-top:1px solid #E3E8EC}.trade p{font-size:17px}.trade .b{margin-top:16px}
.facts{margin:0;border-top:2px solid #343A40}.facts div{display:grid;grid-template-columns:240px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #D9DEE2}
.facts dt{font-weight:600;letter-spacing:.03em;font-family:"Barlow",Arial,sans-serif;font-size:14px;text-transform:uppercase}.facts dd{margin:0;font-size:15px}
@media(max-width:800px){header{position:relative}header .in{height:80px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#343A40;flex-direction:column;gap:0;z-index:20}
nav.open{display:flex}nav a{color:#8ECAE6;padding:16px 28px;border-top:1px solid #4A5158}nav a.on{border-bottom:0}
.burger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;background:#343A40;border:0;padding:0 12px;cursor:pointer}.burger span{display:block;height:2px;background:#8ECAE6}
.facts div{grid-template-columns:1fr;gap:2px}.ind li{font-size:13px;padding:6px 12px}.hero{min-height:0;padding:64px 0}.hero h1{font-size:24px}.hero p{font-size:17px}
.b{display:block;text-align:center;padding:18px 12px;width:100%;font-size:17px;letter-spacing:.06em}.btns{flex-direction:column;gap:12px}section{padding:64px 0}h2{font-size:22px}.band h2{font-size:21px}.t h3{font-size:18px}
.tiles,.q,.two,.fcols{grid-template-columns:1fr}.tiles{gap:40px}.two{gap:40px}.dk{display:inline-block;width:auto}
.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:9}.mbar a{text-align:center;padding:19px 4px;text-decoration:none;text-transform:uppercase;font-size:16px;letter-spacing:.06em}
.mbar a:first-child{background:#343A40;color:#8ECAE6}.mbar a:last-child{background:#8ECAE6;color:#343A40}footer{padding-bottom:80px}}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#343A40;color:#fff;padding:8px 12px;z-index:50}
.ind a{text-decoration:none}
.split{max-width:1100px;margin:0 auto}.row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#F2F4F6}.row.rev .ph{order:2}
.ph img{width:100%;height:100%;min-height:380px;object-fit:cover}.tx{padding:56px;display:flex;flex-direction:column;justify-content:center}.tx h2,.tx h3{text-transform:uppercase;font-size:24px;margin:0 0 12px}.tx p{font-size:16px;margin:0 0 16px}
.svc .split{margin:56px auto 72px;text-align:left}
.more{font-family:Barlow,Arial,sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:14px;color:#343A40;text-decoration:none;border-bottom:2px solid #343A40;align-self:flex-start;padding-bottom:2px}
.phero{background:#343A40;color:#fff;padding:88px 0 80px}.phero h1{font-size:44px;text-transform:uppercase;color:#8ECAE6;max-width:960px}.phero p{font-size:19px;max-width:780px;margin:0 0 32px}.phero p a{color:#fff}
.sx{padding:80px 0}.sx+.sx{padding-top:0}.split+.split,.split+.prose,.prose+.split,.gal+.prose,.prose+.gal,.split+.gal,.gal+.split{margin-top:64px}.prose+.prose{margin-top:40px}
.prose{max-width:1100px;margin-left:auto;margin-right:auto}.prose>p,.prose>ul,.prose>h2,.prose>h3{max-width:800px}.prose.wide{max-width:1100px;margin:0 auto}.prose h2{font-size:30px}.prose h3{font-size:21px;margin-top:28px}.prose p,.prose li{font-size:16px}
.sx a:not(.b):not(.more),.faqs a,.tx a:not(.more){color:#343A40;text-decoration:underline;text-underline-offset:3px}
ul{padding-left:20px}li{margin:4px 0}.lede{font-size:18px!important}
.gal h2{font-size:30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.grid.g2{grid-template-columns:1fr 1fr}.grid.g1{grid-template-columns:1fr}.grid.g1 img{aspect-ratio:16/9}.grid.lead>div:first-child{grid-column:1/-1}.grid.lead>div:first-child img{aspect-ratio:16/9}.grid>div{min-width:0}.grid img{display:block}.gal .lede{max-width:800px}.gal .lede p{margin:0 0 8px}.grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.faqs{background:#F2F4F6;padding:80px 0}.narrow{max-width:860px}.faqs h2{font-size:30px;margin-bottom:24px}
details{border-top:1px solid #C9D1D8;padding:0}details:last-child{border-bottom:1px solid #C9D1D8}summary{cursor:pointer;font-weight:600;font-size:19px;padding:18px 0;list-style:none;letter-spacing:.02em}summary::after{content:"+";float:right;font-size:22px}details[open] summary::after{content:"−"}details p{margin:0 0 20px;font-size:16px}
.rel{padding:64px 0;border-top:1px solid #E3E8EC}.rel h2{font-size:26px}.rel ul,.linkcols{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}.rel li,.linkcols li{border-bottom:1px solid #D9DEE2;margin:0}.rel a,.linkcols a{display:block;padding:14px 0;text-decoration:none!important;font-weight:500}
.cta{background:#343A40;color:#fff;padding:88px 0}.cta h2{color:#8ECAE6;font-size:34px;text-transform:uppercase}.cta p{font-size:18px;max-width:760px;margin:0 0 32px}.cta .call{color:#E8EDF0}
.call a{color:#fff}.band a{color:#fff}.arealinks{font-size:15px!important}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.fh{font-size:20px;margin:0 0 12px}.fh2{margin-top:28px}footer a{color:#343A40}footer p{line-height:1.9}.cr a{color:#343A40}
.two.top{align-items:start}.two.top .map iframe{height:520px}
table.dist{width:100%;border-collapse:collapse;font-size:15px;margin:4px 0 12px;background:#fff}table.dist th,table.dist td{text-align:left;padding:10px 12px;border-bottom:1px solid #D9DEE2;font-weight:500}table.dist thead th{font-weight:600;background:#343A40;color:#fff}
.small{font-size:13px!important}
@media(max-width:800px){.row{grid-template-columns:1fr}.row.rev .ph{order:0}.ph img{min-height:0;aspect-ratio:4/3;height:auto}.tx{padding:28px 22px 36px}.tx h2,.tx h3{font-size:21px}
.phero{padding:56px 0}.phero h1{font-size:26px}.phero p{font-size:17px}.sx,.faqs,.cta{padding:56px 0}.prose h2,.gal h2,.faqs h2,.cta h2{font-size:22px}.grid.g3{grid-template-columns:1fr}.grid.g3 img,.grid.g1 img,.grid.lead>div:first-child img{aspect-ratio:4/3}
.grid{grid-template-columns:1fr 1fr}.rel ul,.linkcols{grid-template-columns:1fr}summary{font-size:17px}table.dist{font-size:13px}table.dist th,table.dist td{padding:8px 6px}.in{padding:0 20px}.fcols{grid-template-columns:1fr;gap:28px}footer a{overflow-wrap:anywhere}.facts dd{overflow-wrap:anywhere}.two.top .map iframe{height:340px}}
.gal{max-width:1100px;margin-left:auto;margin-right:auto}.gal>h2{margin-bottom:12px}
.hublede{max-width:800px;font-size:17px;margin:0 0 28px}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 24px}.card{grid-column:span 2;display:flex;flex-direction:column;color:#343A40;text-decoration:none}.card .ci img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.card h3{font-size:19px;margin:16px 0 8px;text-transform:none}.card p{font-size:15px;margin:0 0 12px;flex:1}.card .more{font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:14px}.cards.f1 .card:first-child{grid-column:1/-1}.cards.f1 .card:first-child .ci img{aspect-ratio:21/9}.cards.f2 .card:nth-child(-n+2){grid-column:span 3}@media(max-width:760px){.cards{grid-template-columns:1fr}.card,.cards.f1 .card:first-child,.cards.f2 .card:nth-child(-n+2){grid-column:auto}.cards.f1 .card:first-child .ci img{aspect-ratio:4/3}}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 20px;max-width:1100px}.pc{background:#F2F4F6;padding:28px 24px;display:flex;flex-direction:column;gap:8px}.pc span{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:#475569}.pc strong{font-size:34px;line-height:1.1;color:#0F1B2D}
.tbl{overflow-x:auto;margin:20px 0}.tbl table{border-collapse:collapse;width:100%;max-width:800px}.tbl th,.tbl td{text-align:left;padding:10px 12px;border-bottom:1px solid #E2E8F0;font-size:15px}
.vid{position:relative;display:block;max-width:340px;margin:24px 0 12px}.vid img{width:100%;height:auto;display:block}.vid span{position:absolute;left:16px;bottom:16px;background:#0F1B2D;color:#fff;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none}
@media(max-width:760px){.prices{grid-template-columns:1fr}.pc strong{font-size:28px}}

/* r5 premium header */
header{background:#343A40;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.06)}
header .in{height:76px;display:flex;align-items:center;justify-content:space-between}
.logo{background:none;padding:0;display:flex;align-items:center;line-height:0}
.logo img{height:38px;width:auto}
nav a{color:#E9EEF2}
nav a:hover,nav a.on{color:#8ECAE6}
nav a.on{border-bottom:1px solid #8ECAE6}
.logo:focus-visible,nav a:focus-visible,.burger:focus-visible{outline:2px solid #8ECAE6;outline-offset:3px;border-radius:2px}
@media(max-width:800px){
header .in{height:64px}
.logo img{height:30px}
.burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;width:44px;height:44px;margin-right:-10px;background:none;border:0;padding:0;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;width:22px;height:2px;border-radius:2px;background:#8ECAE6;transition:transform .28s ease,opacity .2s ease,top .28s ease}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
nav{display:flex;position:absolute;top:64px;left:0;right:0;background:#343A40;flex-direction:column;gap:0;z-index:40;padding:6px 0 14px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 14px 28px rgba(0,0,0,.18);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease,visibility 0s .22s}
nav.open{visibility:visible;opacity:1;transform:none;transition:opacity .22s ease,transform .22s ease}
nav a{color:#E9EEF2;font-family:"Barlow",Arial,sans-serif;font-weight:600;font-size:15px;letter-spacing:.08em;padding:15px 20px;min-height:48px;box-sizing:border-box;border-top:0;border-bottom:1px solid rgba(255,255,255,.08);margin:0 20px;padding-left:0;padding-right:0}
nav a:last-child{border-bottom:0}
nav a.on{color:#8ECAE6;border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(prefers-reduced-motion:reduce){.burger span,nav{transition:none!important}}

/* r5 layout polish */
p.lp strong{display:block;font-family:"Barlow",Arial,sans-serif;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:14px;color:#343A40;margin-bottom:4px}
.chips{list-style:none;padding:0;margin:14px 0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{margin:0;border:0}
.chips a,.chip{display:inline-block;padding:8px 14px;border:1px solid #D3DAE0;border-radius:999px;font-size:14px;line-height:1.3;text-decoration:none!important;background:#fff}
.chips a:hover{border-color:#8ECAE6;background:#F3F9FC}
span.chips{display:flex;margin:14px 0}
.lcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.lcard{display:block;border:1px solid #E1E6EA;padding:18px 20px;text-decoration:none!important;background:#fff}
.lcard:hover{border-color:#8ECAE6}
.lcard strong{display:block;font-family:"Barlow",Arial,sans-serif;font-weight:600;font-size:17px;color:#343A40;margin-bottom:6px}
.lcard span{display:block;font-size:14px;line-height:1.5;color:#555}
.rel ul.relchips{display:flex;flex-wrap:wrap;gap:10px 12px;grid-template-columns:none}
.rel ul.relchips li{border:0}
.rel ul.relchips a{display:inline-block;padding:10px 16px;border:1px solid #D3DAE0;border-radius:999px;font-size:15px;background:#fff}
.rel ul.relchips a:hover{border-color:#8ECAE6;background:#F3F9FC}
.gintro{max-width:760px;margin-bottom:28px}
.gfig{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gfig figure{margin:0}.gfig img{width:100%;height:auto;display:block}
.gfig figcaption{font-size:14px;color:#555;padding:8px 2px 0;line-height:1.4}
@media(max-width:900px){.lcards,.gfig{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.lcards,.gfig{grid-template-columns:1fr}}
span.chips{flex-wrap:wrap;gap:10px}span.chips a{display:inline-block;padding:8px 14px;border:1px solid #D3DAE0;border-radius:999px;font-size:14px;line-height:1.3;text-decoration:none!important;background:#fff}span.chips a:hover{border-color:#8ECAE6;background:#F3F9FC}

/* ---- build8: conversion upgrades ---- */
/* header CTA */
nav a.navcta{background:#8ECAE6;color:#343A40;padding:11px 20px;border:0;letter-spacing:.06em;margin-left:-8px}
nav a.navcta:hover{background:#fff;color:#343A40}
@media(max-width:1180px){nav{gap:24px}nav a.navcta{padding:10px 14px}}
@media(max-width:1020px) and (min-width:801px){nav a.navcta{display:none}nav{gap:30px}}
@media(max-width:800px){nav a.navcta{display:none}}
/* proof strip */
.proofbar{padding:0;background:#fff;border-bottom:1px solid #E3E8EC}
.proofbar ul{list-style:none;margin:0 auto;padding:22px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px}
.proofbar li{font-size:14px;line-height:1.4;color:#475569;padding-left:16px;border-left:2px solid #8ECAE6}
.proofbar strong{display:block;font-family:"Barlow",Arial,sans-serif;font-weight:600;font-size:17px;letter-spacing:.02em;color:#343A40}
.homeproof{padding:64px 0 48px}.homeproof .gal>h2{margin-bottom:6px}.homeproof .grid{margin-top:20px}.homeproof p{margin:20px 0 0}
@media(max-width:800px){.proofbar ul{grid-template-columns:1fr 1fr;padding:18px 0;gap:14px 12px}.proofbar li{font-size:12.5px;padding-left:10px}.proofbar strong{font-size:15px}.homeproof{padding:44px 0 32px}
 .hero{padding:44px 0 40px}.hero p{margin-bottom:28px}}
/* compact inner-page hero */
.phero{padding:68px 0 60px}
@media(max-width:800px){.phero{padding:34px 0 30px}.phero h1{font-size:24px;margin-bottom:12px}.phero p{font-size:16px;margin-bottom:20px}
 .phero .btns{flex-direction:row;gap:10px}.phero .b{width:auto;flex:1 1 0;padding:15px 6px;font-size:14px;letter-spacing:.04em}.phero .call{margin-top:16px!important;font-size:15px!important}}
.call .em{white-space:nowrap}
/* case-study media beside text */
.csgrid{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start;max-width:1100px;margin:0 auto}
.csgrid .vid{margin:0}.csmain>.prose:first-child h2{margin-top:0}.csmain .prose+.prose{margin-top:32px}
@media(max-width:560px){.csgrid{grid-template-columns:1fr;gap:28px}.csgrid .vid{max-width:260px}}@media(min-width:561px) and (max-width:800px){.csgrid{grid-template-columns:240px 1fr;gap:32px}}
/* similar-job card */
.simjob{max-width:1100px;margin:0 auto}.simjob .cards{display:block;max-width:320px}.simjob .card{display:flex}
/* delivery block */
.deliv{max-width:1100px;margin:0 auto}.deliv .dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.deliv .dc{background:#F2F4F6;padding:26px 24px}.deliv .dc h3{font-size:19px;margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em}.deliv .dc p{margin:0;font-size:15px}
.deliv .dgrid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.deliv .dgrid,.deliv .dgrid.two{grid-template-columns:1fr;gap:12px}}
.prices.one{grid-template-columns:minmax(0,1fr);max-width:460px}.pc strong.sm{font-size:24px}
/* quote form */
.qf{background:#F2F4F6}.qf-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start}
.qf h2{margin-bottom:12px}.qf p{font-size:16px}
.qf form{display:grid;gap:16px}.qf label{display:grid;gap:6px;font-family:"Barlow",Arial,sans-serif;font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:#343A40}
.qf input[type=text],.qf textarea{font:400 16px "Montserrat",Arial,sans-serif;letter-spacing:0;text-transform:none;padding:14px;border:1px solid #C9D1D8;background:#fff;color:#343A40;border-radius:0;width:100%;box-sizing:border-box}
.qf input:focus,.qf textarea:focus{outline:2px solid #8ECAE6;outline-offset:0;border-color:#8ECAE6}
.qf input[type=file]{font:400 14px "Montserrat",Arial,sans-serif;text-transform:none;letter-spacing:0;padding:12px;border:1px dashed #9AA6B0;background:#fff;width:100%;box-sizing:border-box}
.qf .hint{font-weight:400;text-transform:none;letter-spacing:0;font-size:13px;color:#5B6670}
.qf .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.qf-files{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}.qf-files:empty{display:none}
.qf-files button{background:none;border:0;color:#343A40;text-decoration:underline;cursor:pointer;font:inherit;padding:0 0 0 8px}
.qf .b{width:auto;justify-self:start;cursor:pointer}.qf .b:disabled{opacity:.6;cursor:wait}
.qf-status{margin:0;min-height:1.4em;font-size:15px}.qf-status.bad{color:#9B2C2C}.qf-status a{text-decoration:underline}
.qf .fine{font-size:13px;color:#5B6670}
.formlink{margin:18px 0 0;font-size:16px;color:#E8EDF0}.formlink a{color:#8ECAE6;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.qf-wrap{grid-template-columns:1fr;gap:24px}.qf .b{width:100%;justify-self:stretch}}

.sx.pad{padding-top:72px}.sx.qf{padding:72px 0}@media(max-width:800px){.sx.pad{padding-top:48px}.sx.qf{padding:48px 0}}

/* ---- build8 visual QA fixes ---- */
h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}
/* reversed image rows must not inherit the reviews-section centring */
.row.rev{text-align:left}
/* gallery */
.gintro{margin-left:0}.gnext{margin-top:64px}
@media(min-width:801px){.gfig{grid-template-columns:1fr 1fr;gap:28px 24px}.gfig figcaption{font-size:15px}}
/* case-study / blog card thumbnails: keep the caption at the top of the thumb in view */
.card .ci img[src*="/assets/case-studies/"]{aspect-ratio:4/5;object-position:50% 0}.cards.f2 .card:nth-child(-n+2) .ci img[src*="/assets/case-studies/"]{aspect-ratio:1/1}
.cards.f1 .card:first-child .ci img[src*="/assets/case-studies/"]{aspect-ratio:4/5;object-position:50% 0}
/* FAQ column lines up with the page text */
.faqs .in.narrow{max-width:1100px;box-sizing:content-box}.faqs .in.narrow>*{max-width:800px}
/* stray plain "send photos" links */
.sx a.more{display:inline-block;margin-top:4px}
/* mobile hero buttons: single-line labels */
@media(max-width:800px){.phero .b{font-size:13px;letter-spacing:.03em;padding:15px 4px;white-space:normal;text-wrap:balance}}
/* tablet (561-800px): don't use the phone layout stretched out */
@media(min-width:561px) and (max-width:800px){
 .hero h1{font-size:36px}.hero p{font-size:19px}.phero h1{font-size:32px}.phero p{font-size:18px}
 .hero .btns,.phero .btns,.cta .btns{flex-direction:row;gap:14px}.hero .b,.cta .b{width:auto;flex:0 1 auto;padding:18px 30px}.phero .b{flex:0 1 auto;padding:16px 26px;font-size:14px}
 .homeproof .grid.g3,.gal .grid.g3{grid-template-columns:repeat(3,1fr)}.grid.g3 img{aspect-ratio:4/3}
 .ph img{aspect-ratio:16/9}.row .ph img{max-height:340px}
 .proofbar ul{grid-template-columns:repeat(4,1fr)}.proofbar li{font-size:12.5px}
 .q{grid-template-columns:1fr}
 .deliv .dgrid.two{grid-template-columns:1fr 1fr}
 .simjob .cards{max-width:320px}
}
.prose .btns{margin-top:22px}.prose .btns .b{font-size:14px;padding:16px 32px;margin-top:0;text-align:center}@media(max-width:560px){.prose .btns .b{width:100%}}
@media(min-width:561px){.prose .btns .b{width:auto;flex:0 1 auto;display:inline-block}.prose .btns{flex-direction:row;gap:14px}}

.simjob .cards.f1 .card:first-child .ci img:not([src*="/assets/case-studies/"]){aspect-ratio:4/3;object-position:50% 50%}

main .in:not(.narrow){max-width:1156px}
.hero .in{width:100%}
.suit{padding:72px 0}
.suit h2{margin-bottom:10px}
.suit .sl{max-width:640px;margin:0 0 32px}
.suit .sg{display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px}
.suit .sg>div{background:#F2F4F6;padding:20px 20px 22px}
.suit .sg h3{font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}
.suit .sg p{font-size:15px;margin:0}
.suit .sn{max-width:820px;margin:32px 0 28px;font-size:15px}
.suit .btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.suit .btns .more{color:#343A40}
@media(max-width:1000px){.suit .sg{grid-template-columns:1fr 1fr;gap:28px 32px}}
@media(max-width:600px){.suit{padding:48px 0}.suit .sg{grid-template-columns:1fr;gap:22px}.suit .btns{flex-direction:column;align-items:stretch}.suit .btns .b{width:100%;text-align:center}.suit .btns .more{text-align:center}}
h1,h2{text-wrap:balance}
footer .in{max-width:1156px}
.prose>ol{max-width:800px;padding-left:22px}
.sx a.card:not(.b):not(.more),.rel a.card{text-decoration:none}
.sx a.card:hover h3{text-decoration:underline;text-underline-offset:3px}
.ph img[src*="before-after.jpg"]{object-fit:contain;background:#1c1d21}
table.dist td:nth-child(2){white-space:nowrap}
@media(min-width:801px){.simjob .cards{max-width:680px}.simjob .card{display:grid;grid-template-columns:230px 1fr;grid-template-rows:auto auto 1fr;column-gap:28px;align-items:start}.simjob .card .ci{grid-row:1/4;grid-column:1}.simjob .card h3{grid-column:2;grid-row:1;margin-top:0}.simjob .card p{grid-column:2;grid-row:2;flex:none}.simjob .card .more{grid-column:2;grid-row:3;justify-self:start}}
.simjob>p{margin-top:28px}

/* ===== build9: real workshop photos ===== */
h1,h2{text-wrap:balance}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;--ar:4/3}
.ba.o-p{--ar:3/4}.ba.o-s{--ar:1/1}.ba.o-w{--ar:2/1}.ba.o-n{--ar:1/2}
.ba .bi{position:relative;margin:0;background:#E9ECEF;overflow:hidden}
.ba .bi img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;border:0}
.ba .tag,.ci .tag{position:absolute;left:0;bottom:0;background:#343A40;color:#fff;font:600 12px/1 Barlow,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;padding:7px 10px}
.ba .tag.a,.ci .tag.a{background:#8ECAE6;color:#1F2A33}
.ba figcaption{grid-column:1/-1;font-size:14px;line-height:1.4;color:#555;padding:4px 2px 0}
.ba.one{grid-template-columns:1fr}
.ci{position:relative}
.card .ci img{aspect-ratio:4/3;object-fit:cover}
.card .ci .tag{left:0;bottom:0}
/* stacked pair in a tall split-row cell (desktop) */
@media(min-width:801px){.ph .ba.fill.stack{grid-template-columns:1fr;grid-template-rows:1fr 1fr;min-height:480px}.ph .ba.fill.stack .bi{min-height:240px}}
/* image fills a split-row cell */
.ph .ba.fill{height:100%;min-height:380px;grid-template-rows:1fr;gap:4px}
.ph .ba.fill .bi{height:100%}
.ph .ba.fill .bi img{height:100%;min-height:0;max-height:none;aspect-ratio:auto;position:absolute;inset:0;width:100%}
.ph .ba.fill.one .bi{min-height:380px}
/* home strip tiles */
.ba.tile .bi{aspect-ratio:3/4}
.ba.tile .bi img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.homeproof .grid .ba figcaption{font-size:15px;padding-top:8px;color:#343A40}.homeproof .grid .ba figcaption a{color:inherit;text-decoration:underline;text-decoration-color:#8ECAE6;text-decoration-thickness:2px;text-underline-offset:3px}.homeproof .grid .ba figcaption a:hover{text-decoration-color:#343A40}
/* case study layout */
.cs2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start;max-width:1100px;margin:0 auto}
.cs2 .csmain>.prose:first-child h2{margin-top:0}.cs2 .csmain .prose+.prose{margin-top:32px}
.csmedia2{display:grid;gap:28px}
.csmedia2 .ba figcaption{font-size:15px}
.grid.g1 .ba{max-width:640px}.grid.g1 .ba img{aspect-ratio:var(--ar)}
.grid.g1 .ba.o-w{max-width:none}
.row+.grid.g1,.row+.gal{margin-top:28px}
.gfig .ba{align-self:start}
.gfig .ba img{width:100%;height:auto}
.gfig{align-items:start}
.gfig .ba.wide{grid-column:1/-1;max-width:760px;width:100%;justify-self:center}
@media(min-width:801px){.gfig .tall{grid-row:span 2}}
@media(max-width:800px){.gfig{grid-template-columns:1fr!important;gap:30px}.gfig .ba{max-width:640px;width:100%;justify-self:center}}
@media(max-width:900px){.cs2{grid-template-columns:1fr;gap:36px}}
@media(max-width:800px){
 .ph .ba.fill{height:auto;min-height:0;aspect-ratio:4/3}
 .ph .ba.fill.one .bi{min-height:0;aspect-ratio:4/3}
}
@media(max-width:480px){
 .ba.o-l:not(.tile):not(.fill):not(.one){grid-template-columns:1fr;gap:6px}
 .ba.o-w:not(.tile):not(.fill):not(.one){grid-template-columns:1fr}
}
