/* ===== style.css ===== */
/* Font stylesheet is requested directly in page head to avoid CSS @import waterfall. */
:root{--paper:#f6f6f2;--ink:#111217;--muted:#6b6c74;--line:#d6d7d2;--blue:#5366ec;--dark:#12141b;--container:1480px;--gutter:clamp(20px,4.45vw,76px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#b5bbff;color:#12141b}.container{width:min(calc(100% - var(--gutter)*2),var(--container));margin:auto}.gridlines{position:absolute;inset:0;pointer-events:none;opacity:.38;background-image:linear-gradient(90deg,transparent calc(25% - .5px),#dcded9 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),#dcded9 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),#dcded9 75%,transparent calc(75% + .5px))}.skip{position:fixed;z-index:999;top:-80px;left:16px;background:white;padding:12px}.skip:focus{top:12px}.noise:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");opacity:.24;mix-blend-mode:soft-light}
.tag,.caps{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tag{display:inline-flex;align-items:center;gap:11px}.tag:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--blue)}.muted{color:var(--muted)}.serif{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.048em}.bigtitle{font-family:'Manrope',Arial,sans-serif;font-size:clamp(52px,7vw,110px);line-height:.99;letter-spacing:-.075em;font-weight:700;margin:0}.sect{padding:clamp(90px,10vw,170px) 0}.sect-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(42px,6vw,86px)}.sect-head h2{font-family:'Manrope',Arial,sans-serif;font-weight:700;letter-spacing:-.073em;line-height:1.04;font-size:clamp(48px,6.2vw,94px);margin:21px 0 0}.sect-head p{max-width:320px;line-height:1.65;color:var(--muted);margin:0 0 6px}.link-arrow{display:inline-flex;align-items:center;gap:16px;font-weight:700;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:8px}.link-arrow span{transition:transform .4s var(--ease)}.link-arrow:hover span{transform:translate(4px,-4px)}.pill-btn{display:inline-flex;align-items:center;gap:37px;padding:17px 18px 17px 24px;border-radius:50px;background:var(--ink);color:white;font-size:13px;font-weight:700;transition:background .3s,transform .35s var(--ease)}.pill-btn:hover{transform:translateY(-3px);background:var(--blue)}.pill-btn .circle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink);font-size:20px;font-weight:400}.pill-btn.light{background:white;color:var(--ink)}.pill-btn.light .circle{background:var(--ink);color:white}.text-btn{font-size:14px;font-weight:700;display:inline-flex;gap:15px;align-items:center}.text-btn span{font-size:20px}
.site-header{height:93px;position:relative;z-index:100;background:var(--paper);border-bottom:1px solid rgba(0,0,0,.12)}.site-header.is-scrolled{position:sticky;top:0;height:76px;background:rgba(246,246,242,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.header-bar{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{font-family:'Manrope',Arial,sans-serif;font-size:30px;letter-spacing:-.095em;font-weight:800;line-height:1;white-space:nowrap}.logo strong{font-weight:800;color:var(--blue)}.nav{display:flex;align-items:center;gap:clamp(24px,3vw,52px)}.nav a,.nav-trigger{font-size:13px;font-weight:700;border:0;background:none;padding:16px 0;color:var(--ink)}.nav-trigger{display:flex;gap:9px;align-items:center}.nav-trigger svg{transition:transform .3s}.nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.nav-link{position:relative}.nav-link:after,.nav-trigger:after{position:absolute;content:'';height:1px;bottom:9px;left:0;right:100%;background:var(--ink);transition:right .3s}.nav-link:hover:after{right:0}.nav-right{display:flex;align-items:center;gap:24px}.nav-right .pill-btn{padding:8px 8px 8px 22px;gap:20px}.burger{border:0;background:none;width:43px;height:43px;display:none;place-content:center;gap:6px}.burger i{width:25px;height:2px;background:var(--ink);display:block;transition:transform .3s}.burger[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.mega{display:none;position:absolute;top:100%;left:0;right:0;background:#fefefa;border-bottom:1px solid #dedfda;box-shadow:0 25px 40px #0000001c;z-index:110;opacity:0;transform:translateY(-8px)}.mega.open{display:block;animation:megain .3s var(--ease) both}@keyframes megain{to{opacity:1;transform:translateY(0)}}.mega-inner{display:grid;grid-template-columns:1.13fr 1fr .92fr;gap:clamp(26px,4vw,70px);padding:48px 0 55px}.mega-title{font:700 clamp(33px,3.5vw,57px)/1.07 'Manrope',Arial,sans-serif;letter-spacing:-.07em;margin:22px 0 28px}.mega-title em{font:italic 1em 'Instrument Serif',Georgia,serif;color:var(--blue)}.mega-rows a{display:flex;align-items:center;gap:17px;border-bottom:1px solid #dcdcd5;padding:13px 0;transition:padding .25s}.mega-rows a:hover{padding-left:12px;color:var(--blue)}.mega-rows a b{font-size:11px;color:var(--muted);font-weight:500}.mega-rows a span{font-size:15px;font-weight:600;flex:1}.mega-promo{min-height:265px;background:#242942;border-radius:10px;position:relative;overflow:hidden;color:white;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.mega-promo:before{content:'';width:280px;height:280px;position:absolute;right:-70px;bottom:-95px;border-radius:50%;background:radial-gradient(circle at 32% 22%,#f5f2ff,#a8aaff 19%,#5663e0 45%,#17213b 72%);box-shadow:inset -18px -20px 65px #02051e9e,0 0 60px #8791ff5e}.mega-promo>*{position:relative;z-index:1}.mega-promo strong{font:700 27px/1.15 'Manrope',sans-serif;letter-spacing:-.055em}.mega-promo small{font-size:12px;color:#d3d6ee}
.mobile-panel{display:none;position:fixed;inset:75px 0 0;background:#f7f7f3;z-index:90;overflow-y:auto;padding:26px var(--gutter) 46px}.mobile-panel.open{display:block}.mobile-panel>a,.mobile-panel summary{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid #d7d8d2;font:700 clamp(27px,7vw,41px)/1 'Manrope',sans-serif;letter-spacing:-.055em;list-style:none}.mobile-panel details a{display:block;padding:11px 10px;font-size:15px;border-bottom:1px solid #e2e3df}.mobile-panel .pill-btn{margin-top:35px}
.hero{position:relative;padding:75px 0 110px;overflow:hidden}.hero-header{display:flex;align-items:center;justify-content:space-between}.hero-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.48fr);gap:30px;align-items:end;padding:56px 0 61px}.hero h1{font:700 clamp(66px,8.85vw,142px)/.99 'Manrope',Arial,sans-serif;letter-spacing:-.089em;margin:0;max-width:1060px}.hero h1 em{font:italic .96em 'Instrument Serif',Georgia,serif;color:var(--blue);letter-spacing:-.052em}.hero-desc{padding-bottom:9px}.hero-desc p{font-size:clamp(16px,1.3vw,20px);line-height:1.6;letter-spacing:-.015em;margin:0 0 30px;max-width:360px}.hero-bottom{display:flex;justify-content:space-between;margin-top:21px;font-size:10px;font-weight:700;letter-spacing:.12em}
.feature-stage{position:relative;height:clamp(430px,43.5vw,650px);overflow:hidden;border-radius:10px;background:linear-gradient(126deg,#171b34 0%,#222946 45%,#0a0d20 100%);color:white;isolation:isolate}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,transparent,#000)}.stage-glow{position:absolute;right:-9%;top:-45%;width:77%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#8696ff90,transparent 64%);filter:blur(50px)}.stage-sphere{position:absolute;width:clamp(270px,39vw,570px);aspect-ratio:1;right:1%;top:-14%;border-radius:50%;background:radial-gradient(circle at 29% 23%,#fffaff 0%,#b8b8ff 8%,#7982f8 20%,#394ad6 42%,#0b1758 65%,#070f3d 76%);box-shadow:inset -30px -42px 55px #05072d,35px 55px 110px #03051180;filter:saturate(1.1)}.stage-sphere:after{content:'';position:absolute;inset:16%;border:1px solid #ffffff31;border-radius:50%;box-shadow:0 0 0 25px #ffffff08,0 0 0 68px #ffffff06,0 0 0 102px #ffffff05}.stage-num{position:absolute;top:38px;left:39px;font-size:11px;font-weight:700;letter-spacing:.18em;color:#c9cce7}.stage-vertical{position:absolute;right:25px;bottom:33px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;color:#cbd0f0}.browser-mock{position:absolute;left:7%;top:20%;width:64%;height:70%;border-radius:12px;background:#f2f0e9;box-shadow:0 25px 75px #0009,0 0 0 1px #ffffff77;transform:rotate(-4deg);overflow:hidden;color:#16171c}.browser-top{height:40px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7d6d2;font-size:9px;font-weight:700;letter-spacing:.1em}.browser-top span{display:flex;gap:6px}.browser-top span i{width:6px;height:6px;border-radius:50%;background:#a5a8af}.browser-body{display:grid;grid-template-columns:54% 46%;height:calc(100% - 40px)}.browser-copy{padding:clamp(18px,3vw,55px) 0 0 clamp(20px,4vw,68px);z-index:1}.browser-copy small{font-size:9px;letter-spacing:.17em}.browser-copy h3{font:700 clamp(32px,4.8vw,73px)/.98 'Manrope',sans-serif;letter-spacing:-.078em;margin:23px 0 17px}.browser-copy p{font-size:clamp(9px,.9vw,14px);max-width:220px;line-height:1.5;color:#6b6c70}.browser-copy b{display:inline-block;background:#17191e;color:white;border-radius:25px;padding:11px 15px;margin-top:13px;font-size:10px}.browser-art{position:relative;overflow:hidden}.browser-art:before{content:'';position:absolute;width:110%;aspect-ratio:1;top:12%;left:2%;border-radius:50%;background:radial-gradient(circle at 25% 20%,#fcfff3 0%,#d8e8ff 17%,#b0a7fa 30%,#5b5ccc 52%,#222252 73%);box-shadow:inset -25px -25px 65px #2224527d,0 35px 45px #0002}.browser-art:after{content:'';position:absolute;inset:9% 0 0 10%;border:1px solid #ffffff9e;border-radius:50%;transform:scale(.65)}.phone-mock{position:absolute;right:8.5%;bottom:-14%;width:25%;height:73%;border:7px solid #1b1f35;box-shadow:0 25px 60px #02030b99,0 0 0 2px #98a4ce;border-radius:31px;background:#cad0fa;transform:rotate(11deg);overflow:hidden}.phone-notch{position:absolute;top:8px;left:35%;width:30%;height:13px;background:#202536;border-radius:12px;z-index:2}.phone-inner{padding:38px 21px}.phone-inner small{font-size:8px;color:#3d4161;letter-spacing:.16em;font-weight:700}.phone-inner h4{font:700 clamp(18px,2.6vw,35px)/1.02 'Manrope',sans-serif;letter-spacing:-.07em;margin:14px 0}.phone-blob{height:clamp(90px,15vw,220px);border-radius:90px 90px 20px 20px;background:radial-gradient(circle at 44% 35%,#e4defe,#7d80e9 40%,#2c3a96 76%);box-shadow:inset -17px -25px 30px #101a64a8;position:relative;margin:20px auto 0}.phone-blob:after{content:'';position:absolute;inset:16%;border-radius:50%;border:1px solid #ffffff77}.float-note{position:absolute;left:47%;bottom:7%;padding:17px 22px;border:1px solid #ffffff6e;border-radius:10px;background:#ecedff20;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 40px #0002;transform:rotate(3deg)}.float-note b{font-size:17px;display:block}.float-note small{font-size:9px;letter-spacing:.13em;color:#d9dcf1}.stage-footer{position:absolute;left:35px;bottom:27px;font-size:10px;letter-spacing:.13em;color:#c6cbea}
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.marquee-track{display:flex;width:max-content;gap:60px;animation:marquee 35s linear infinite}.marquee-track span{font-size:clamp(15px,2vw,24px);font-weight:600;letter-spacing:-.03em;white-space:nowrap}.marquee-track i{font-style:normal;font-size:16px;color:var(--blue)}@keyframes marquee{to{transform:translateX(-50%)}}
.manifesto{background:#11131a;color:#f3f3f0;position:relative;overflow:hidden;padding:clamp(115px,14vw,220px) 0}.manifesto .m-head{display:flex;justify-content:space-between;margin-bottom:80px}.manifesto .m-head span:last-child{color:#91949e}.manifesto h2{max-width:1350px;font:600 clamp(49px,7vw,110px)/1.16 'Manrope',Arial,sans-serif;letter-spacing:-.072em;margin:0}.manifesto h2 em{color:#a6adff;font:italic 1.04em 'Instrument Serif',Georgia,serif;letter-spacing:-.04em}.manifesto-foot{display:flex;align-items:end;justify-content:space-between;margin-top:70px;gap:25px}.manifesto-foot p{max-width:440px;color:#b8bac6;font-size:16px;line-height:1.7}.manifesto .rings{position:absolute;right:-130px;bottom:-260px;width:480px;height:480px;border:1px solid #52556f;border-radius:50%;box-shadow:0 0 0 70px #5357750c,0 0 0 150px #53577508,0 0 0 230px #53577508;pointer-events:none}
.work-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:76px}.project:nth-child(2){margin-top:110px}.project:nth-child(4){margin-top:110px}.project-media{position:relative;aspect-ratio:1.13;border-radius:9px;overflow:hidden;isolation:isolate;transition:transform .8s var(--ease)}.project:hover .project-media .project-art{transform:scale(1.06)}.project-art{position:absolute;inset:0;transition:transform 1s var(--ease)}.proj-one{background:#c9d3e0}.proj-one .project-art{background:linear-gradient(130deg,#dbe1e8,#a6b7c9)}.proj-two{background:#d8d5c8}.proj-two .project-art{background:linear-gradient(138deg,#e7e2d3,#b3b3a1)}.proj-three{background:#ddd4ef}.proj-three .project-art{background:linear-gradient(125deg,#d1cbe8,#a6a4da)}.proj-four{background:#bdc4cf}.proj-four .project-art{background:linear-gradient(125deg,#c9d0dc,#8f9caf)}.project-ui{position:absolute;inset:13% 12% 9%;border-radius:8px 8px 0 0;box-shadow:0 25px 60px #10132448;background:#faf9f6;overflow:hidden;transition:transform 1s var(--ease)}.proj-one .project-ui{transform:rotate(-5deg) translate(0,15px)}.proj-two .project-ui{transform:rotate(4deg) translate(4%,12px);background:#edece7}.proj-three .project-ui{transform:rotate(-3deg) translate(0,19px);background:#17193a;color:#fff}.proj-four .project-ui{transform:rotate(3deg) translate(0,15px);background:#e8e9e6}.project:hover .project-ui{transform:rotate(0) translateY(5px)}.ui-bar{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #7773;font-size:10px;font-weight:800;letter-spacing:-.03em}.ui-bar span{font-size:8px;font-weight:500}.ui-hero{position:relative;height:calc(100% - 42px);padding:10% 9%;overflow:hidden}.ui-hero strong{display:block;font:800 clamp(26px,3vw,54px)/.99 'Manrope',sans-serif;letter-spacing:-.075em;position:relative;z-index:2}.ui-hero small{position:relative;z-index:2;display:block;margin-top:20px;max-width:190px;font-size:10px;line-height:1.6}.ui-orb{position:absolute;width:68%;aspect-ratio:1;right:-9%;bottom:-42%;border-radius:50%;background:radial-gradient(circle at 30% 27%,#fff,#8cb4cd 21%,#38638b 55%,#132a3d 76%);box-shadow:inset -25px -20px 40px #0006}.proj-two .ui-orb{width:72%;bottom:-38%;background:radial-gradient(circle at 25% 20%,#fff4db,#c7b9a2 30%,#676150 70%)}.proj-three .ui-orb{background:radial-gradient(circle at 25% 20%,#f7daff,#aa8eff 26%,#654dc6 64%,#292058 82%)}.proj-four .ui-orb{background:radial-gradient(circle at 25% 20%,#f7f8e7,#bfc9a0 28%,#727e67 68%,#293b3d 82%)}.project-index{position:absolute;left:24px;top:24px;font-size:10px;letter-spacing:.16em;font-weight:700;z-index:3}.project-open{position:absolute;right:25px;top:25px;font-size:24px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#111;transform:none;transition:transform .4s var(--ease);z-index:3}.project:hover .project-open{transform:translate(3px,-3px)}.project-meta{display:flex;justify-content:space-between;gap:14px;padding-top:20px}.project-meta h3{font:700 26px 'Manrope',sans-serif;letter-spacing:-.065em;margin:7px 0}.project-meta p{font-size:13px;color:var(--muted);margin:0}.project-meta>span{font-size:10px;font-weight:700;letter-spacing:.1em;margin-top:6px;text-align:right}
.service-section{background:#eaeae5}.service-rows{margin-top:45px;border-top:1px solid #bfc0b9}.service-row{display:grid;grid-template-columns:7% 1fr 21% 60px;align-items:center;gap:20px;border-bottom:1px solid #bfc0b9;padding:clamp(20px,3.3vw,44px) 0;transition:padding .4s, color .3s}.service-row:hover{padding-left:14px;color:var(--blue)}.service-row .num{font-size:12px;font-weight:700}.service-row h3{font:600 clamp(26px,3.4vw,52px)/1.12 'Manrope',sans-serif;letter-spacing:-.065em;margin:0}.service-row p{font-size:13px;color:#76777b;line-height:1.5}.service-row .arr{font-size:30px;justify-self:end;transition:transform .4s var(--ease)}.service-row:hover .arr{transform:translate(5px,-5px)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{padding-top:23px;border-top:1px solid #bfc0bc}.step .count{font:700 clamp(80px,12vw,182px)/1 'Manrope',sans-serif;letter-spacing:-.12em;color:#d5d6d2;margin-bottom:38px}.step h3{font:700 30px 'Manrope',sans-serif;letter-spacing:-.055em;margin:0 0 16px}.step p{font-size:14px;line-height:1.7;color:var(--muted);max-width:320px}
.compare{background:#12141b;color:#f5f5f1}.compare .sect-head p{color:#a7a9b5}.compare-scroll{overflow:auto}.compare-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.compare-table th,.compare-table td{text-align:left;padding:24px 20px;border-bottom:1px solid #474953;font-size:13px;line-height:1.5;font-weight:500}.compare-table thead th{font-size:11px;letter-spacing:.11em;font-weight:700}.compare-table th:first-child{width:24%;padding-left:0}.compare-table td:nth-child(2),.compare-table th:nth-child(2){background:#272e55;border-color:#525875;color:#fff}.compare-table th:nth-child(2){font-size:17px;letter-spacing:-.035em}.compare-note{font-size:11px;color:#b7b8c5;margin-top:18px}
.stack-section{background:#f1f1ee}.stack-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:55px}.stack-heading p{line-height:1.65;max-width:370px;color:var(--muted);margin-left:auto}.stack-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #d3d4cf;border-left:1px solid #d3d4cf}.tech{min-height:167px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border-right:1px solid #d3d4cf;border-bottom:1px solid #d3d4cf;position:relative;overflow:hidden;transition:background .4s}.tech:hover{background:#e3e6ff}.tech img{width:45px;height:45px;object-fit:contain;transition:transform .5s var(--ease)}.tech:hover img{transform:translateY(-8px) scale(1.15) rotate(-8deg)}.tech b{font-size:12px;font-weight:700}.tech:after{content:'↗';position:absolute;top:13px;right:13px;font-size:14px;color:#898c97;opacity:0;transition:opacity .2s}.tech:hover:after{opacity:1}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.journal-card .journal-art{height:275px;border-radius:8px;position:relative;overflow:hidden;display:grid;place-items:center;margin-bottom:20px;transition:filter .3s}.journal-card:hover .journal-art{filter:saturate(1.3)}.journal-art.one{background:#d8def3}.journal-art.two{background:#c9ccc8}.journal-art.three{background:#d1cce1}.journal-art>span{font:700 clamp(90px,12vw,190px)/1 'Manrope',sans-serif;letter-spacing:-.15em;color:#6573af;transform:rotate(-13deg);transition:transform .6s var(--ease)}.journal-card:hover .journal-art span{transform:rotate(0) scale(1.09)}.journal-art.two>span{color:#646b64}.journal-art.three>span{color:#847ab0}.journal-card h3{font:700 clamp(20px,2vw,29px)/1.25 'Manrope',sans-serif;letter-spacing:-.055em;margin:16px 0}.journal-card .caps{color:var(--muted)}
.footer{background:#151720;color:white;overflow:hidden}.footer-top{padding:clamp(85px,10vw,145px) 0 75px;position:relative}.footer-top .tag{color:#c8c9d4}.footer-top h2{font:700 clamp(67px,11vw,174px)/.98 'Manrope',sans-serif;letter-spacing:-.088em;margin:50px 0 55px;max-width:1360px}.footer-top h2 em{font:italic .98em 'Instrument Serif',Georgia,serif;color:#a4aeff}.footer-ctas{display:flex;align-items:center;gap:30px}.footer-ctas p{font-size:14px;color:#b6b8c6;max-width:350px;line-height:1.6}.footer-links{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #3c3d47;padding:45px 0 85px}.footer-links p{max-width:330px;color:#abb0c3;line-height:1.6;font-size:14px}.footer-links>div{display:flex;gap:clamp(40px,7vw,110px)}.footer-links nav{display:flex;flex-direction:column;gap:13px}.footer-links nav b{font-size:10px;letter-spacing:.15em;color:#9c9fac;margin-bottom:10px}.footer-links nav a{font-size:13px;color:#ececf1}.footer-links nav a:hover{color:#b4baff}.footer-brand{display:block;font:800 clamp(110px,22vw,350px)/.8 'Manrope',sans-serif;letter-spacing:-.12em;white-space:nowrap;transform:translateX(-.035em);color:#f6f5f1;margin-bottom:25px}.footer-bottom{display:flex;justify-content:space-between;gap:22px;align-items:center;border-top:1px solid #363842;padding:25px 0 35px;color:#b1b3c0;font-size:11px;letter-spacing:.04em}
.inner-hero{padding:100px 0 95px;border-bottom:1px solid var(--line)}.inner-hero h1{font:700 clamp(70px,10.2vw,160px)/.96 'Manrope',sans-serif;letter-spacing:-.09em;margin:38px 0 25px;max-width:1360px}.inner-hero h1 em{font:italic 1em 'Instrument Serif',Georgia,serif;color:var(--blue)}.inner-sub{display:flex;align-items:end;justify-content:space-between;gap:30px}.inner-sub p{max-width:610px;font-size:clamp(17px,1.5vw,22px);line-height:1.55;margin:0}.inner-sub span{font-size:11px;font-weight:700;letter-spacing:.16em}.inner-block{padding:100px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,140px)}.two-col h2{font:700 clamp(40px,5vw,74px)/1.07 'Manrope',sans-serif;letter-spacing:-.07em;margin:0}.two-col p{font-size:17px;line-height:1.8;color:#555866}.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.pill-list span{font-size:12px;padding:12px 18px;border:1px solid #c4c5c2;border-radius:30px}.detail-visual{height:520px;display:flex;align-items:center;justify-content:center;background:#222a47;color:white;position:relative;overflow:hidden;margin:20px auto 0;border-radius:10px}.detail-visual:before{content:'';position:absolute;inset:-20% auto auto 40%;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#a2a8ef 20%,#5b64cf 50%,#1d2355 75%);box-shadow:inset -40px -50px 80px #0008}.detail-visual h2{font:700 clamp(60px,9vw,140px)/1 'Manrope',sans-serif;letter-spacing:-.085em;z-index:1;mix-blend-mode:screen;text-align:center}.detail-visual small{position:absolute;z-index:2;top:30px;left:30px;letter-spacing:.2em}.article{max-width:760px;margin:auto;padding:90px 0 130px}.article h2{font:700 35px 'Manrope',sans-serif;letter-spacing:-.055em;margin-top:48px}.article p,.article li{line-height:1.8;font-size:17px;color:#555761}.article p.lead{font-size:22px;color:#1e2028}.article blockquote{border-left:3px solid var(--blue);padding-left:27px;margin:40px 0;font:italic 32px 'Instrument Serif',serif}.contact-grid{display:grid;grid-template-columns:.86fr 1fr;gap:clamp(45px,9vw,150px)}.contact-grid h2{font:700 clamp(42px,5vw,76px)/1.05 'Manrope',sans-serif;letter-spacing:-.074em}.contact-grid h2 em{font:italic 1em 'Instrument Serif',serif;color:var(--blue)}.contact-grid p{line-height:1.75;max-width:420px;color:var(--muted)}.form-card{background:white;border:1px solid #e0e0dc;border-radius:12px;padding:clamp(25px,4vw,55px)}.form-card label{font-size:12px;font-weight:700;display:block;margin-bottom:10px}.form-card .field{margin-bottom:24px}.form-card input,.form-card textarea,.form-card select{width:100%;padding:16px 14px;background:#f7f7f4;border:1px solid #d8d8d4;border-radius:5px;color:#171820;outline:none}.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #6877ef22}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card button{border:none}.form-note{font-size:12px;color:#70717b;line-height:1.6}.form-status{display:none;padding:14px 16px;background:#edeefa;border-radius:5px;color:#33385e;font-size:12px}.form-status.show{display:block}
.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(28px)}.js-motion .reveal.revealed{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
@media(max-width:1100px){.header-bar .nav{gap:20px}.nav-right .pill-btn{display:none}.mega-inner{grid-template-columns:1fr 1fr}.mega-promo{display:none}.hero-top{grid-template-columns:1fr .48fr}.hero h1{font-size:clamp(64px,8.7vw,108px)}.float-note{display:none}.service-row{grid-template-columns:7% 1fr 30% 25px}.stack-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.site-header,.site-header.is-scrolled{height:75px;position:sticky;top:0}.nav,.nav-right .pill-btn{display:none}.burger{display:grid}.logo{font-size:28px}.hero{padding:42px 0 70px}.hero-header .caps:last-child{display:none}.hero-top{grid-template-columns:1fr;gap:30px;padding:45px 0 40px}.hero h1{font-size:clamp(53px,12.7vw,85px);line-height:1.03;letter-spacing:-.087em}.hero-desc{max-width:460px}.hero-desc p{font-size:16px;margin-bottom:25px}.feature-stage{height:480px}.browser-mock{width:78%;height:63%;top:23%;left:2%;transform:rotate(-6deg)}.browser-top{height:30px;padding:0 12px}.browser-body{height:calc(100% - 30px)}.browser-copy{padding:22px 0 0 20px}.browser-copy h3{font-size:35px;margin:18px 0 11px}.browser-copy p{font-size:9px}.phone-mock{width:31%;height:59%;right:2%;bottom:0;border-width:5px;border-radius:18px}.phone-inner{padding:26px 10px}.phone-inner h4{font-size:20px}.stage-sphere{width:330px;right:-30%;top:-12%}.stage-num{top:21px;left:18px}.stage-footer{left:15px;bottom:17px}.stage-vertical{display:none}.hero-bottom span:last-child{display:none}.manifesto .m-head{margin-bottom:48px}.manifesto h2{font-size:clamp(44px,9vw,75px)}.manifesto-foot{display:block}.sect{padding:82px 0}.sect-head{display:block;margin-bottom:45px}.sect-head h2{font-size:clamp(47px,9vw,72px);margin-bottom:27px}.sect-head p{max-width:530px}.work-grid{grid-template-columns:1fr;row-gap:48px}.project:nth-child(2),.project:nth-child(4){margin-top:0}.project-media{aspect-ratio:1.2}.project-meta h3{font-size:24px}.ui-hero strong{font-size:clamp(38px,8vw,68px)}.service-row{grid-template-columns:33px 1fr 30px;gap:10px;padding:25px 0}.service-row h3{font-size:clamp(25px,5vw,43px)}.service-row p{display:none}.steps{grid-template-columns:1fr;gap:38px}.step{display:grid;grid-template-columns:120px 1fr;column-gap:25px}.step .count{font-size:90px;grid-row:span 2;margin:0}.step h3{align-self:end}.step p{margin-top:0}.stack-heading{grid-template-columns:1fr;gap:0}.stack-heading p{margin:20px 0}.stack-grid{grid-template-columns:repeat(3,1fr)}.tech{min-height:140px}.journal-grid{grid-template-columns:1fr}.journal-card .journal-art{height:280px}.footer-top h2{font-size:clamp(64px,11vw,100px)}.footer-ctas{align-items:flex-start;flex-direction:column}.footer-links{display:block}.footer-links>div{margin-top:40px}.footer-brand{font-size:23vw}.footer-bottom{flex-wrap:wrap}.inner-hero{padding:70px 0}.inner-hero h1{font-size:clamp(56px,11vw,105px)}.inner-sub{display:block}.inner-sub span{display:block;margin-top:30px}.two-col,.contact-grid{grid-template-columns:1fr}.inner-block{padding:70px 0}.detail-visual{height:360px}.detail-visual:before{width:340px;height:340px}.form-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:410px){.feature-stage{height:390px}.browser-mock{top:24%;height:60%}.browser-copy h3{font-size:26px}.browser-copy p{max-width:110px;font-size:8px}.browser-copy b{font-size:8px;padding:7px}.phone-mock{height:58%}.phone-inner h4{font-size:16px}.hero h1{font-size:12.2vw}.stage-sphere{width:270px}.tech{min-height:120px}.tech img{width:36px;height:36px}.tech b{font-size:10px}.step{grid-template-columns:95px 1fr}.step .count{font-size:70px}.footer-links>div{gap:25px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js-motion .reveal{opacity:1;transform:none}}

.word-mask{display:inline-block;overflow:hidden;vertical-align:baseline;padding-bottom:.065em;margin-bottom:-.065em}.word-token{display:inline-block;will-change:transform}


/* AppsBrain V7 — current-site content, responsive testimonial theatre and verified studio details */
:root{--v7-ink:#161e2b;--v7-paper:#f5f4ee;--v7-blue:#345ef1}
.home-credibility{background:#e9ece6;color:var(--v7-ink);border-block:1px solid rgba(30,35,44,.12)}
.home-credibility>.container{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:62px;font-size:11px;font-weight:700;letter-spacing:.08em}
.home-credibility a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.real-work{background:#f6f6f2}
.real-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.real-case{min-width:0;border-top:1px solid #c4c6c7;padding-top:12px;transition:transform .45s ease}
.real-case-top,.real-case-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.real-case-top{font:600 10px/1.4 sans-serif;letter-spacing:.13em;padding:3px 0 14px}
.real-case-graphic{min-height:clamp(260px,33vw,470px);aspect-ratio:1.48;position:relative;overflow:hidden;background:#e2e4dc;display:flex;align-items:center;justify-content:center;isolation:isolate;transform:translateZ(0)}
.real-case-graphic:before,.real-case-graphic:after{content:'';position:absolute;width:45%;height:120%;transform:rotate(30deg);opacity:.85;filter:blur(1px);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.real-case-graphic:before{left:9%;background:rgba(255,255,255,.2)}
.real-case-graphic:after{right:8%;background:rgba(255,255,255,.12)}
.real-case-graphic.g0{background:#232e3e;color:#fff}.real-case-graphic.g1{background:#d1dfda;color:#183a35}.real-case-graphic.g2{background:#283e80;color:#f9f8f2}.real-case-graphic.g3{background:#e9d3c6;color:#723d46}
.real-case-graphic strong{position:relative;z-index:2;font-size:clamp(2rem,4vw,4.6rem);line-height:1.04;font-weight:600;letter-spacing:-.06em;text-align:center;max-width:80%}
.real-case .case-number{position:absolute;left:6%;top:7%;z-index:2;letter-spacing:.13em;font-size:11px}
.case-line{position:absolute;bottom:9%;width:68%;height:1px;background:currentColor;opacity:.3}
.real-case:hover{transform:translateY(-5px)}.real-case:hover .real-case-graphic:before{transform:translateX(28%) rotate(30deg)}.real-case:hover .real-case-graphic:after{transform:translateX(-28%) rotate(30deg)}
.real-case-bottom{align-items:start;flex-direction:column;gap:7px;padding:20px 0 45px}
.real-case-bottom h3{font-size:clamp(1.5rem,2.1vw,2.3rem);line-height:1.08;letter-spacing:-.04em;margin:0}
.real-case-bottom p{max-width:440px;margin:0;color:#5e656d;font-size:14px;line-height:1.55}
.real-work-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:35px}
.testimonials-section{background:#18233b;color:#f7f7f3;position:relative;overflow:hidden}
.testimonials-section:before{content:'';position:absolute;inset:-40% -35% auto 35%;height:690px;background:radial-gradient(ellipse at center,rgba(77,112,244,.28),transparent 67%);pointer-events:none}
.review-heading{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:12%;align-items:end;margin-bottom:48px}
.review-heading h2{font-size:clamp(2.8rem,5.8vw,6.7rem);line-height:1.02;letter-spacing:-.065em;margin:20px 0 0}
.review-heading h2 em{font-family:Georgia,serif;font-weight:400}
.review-intro p{max-width:380px;color:#d9e0e5;line-height:1.65}
.review-intro .review-disclaimer{font-size:11px;opacity:.6;line-height:1.5;margin-top:20px}
.review-shell{overflow:hidden;outline-offset:6px;touch-action:pan-y;cursor:grab}
.review-shell.is-dragging{cursor:grabbing}
.review-track{display:flex;gap:18px;transform:translate3d(0,0,0);transition:transform .75s cubic-bezier(.19,1,.22,1);will-change:transform}
.review-card{min-width:calc((100% - 36px)/3);width:calc((100% - 36px)/3);flex:0 0 calc((100% - 36px)/3);background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.17);border-radius:5px;min-height:370px;padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;backdrop-filter:blur(20px);transition:background .35s,border-color .35s,transform .35s}
.review-card:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.32);transform:translateY(-4px)}
.review-mark{font-family:Georgia,serif;color:#a8bafa;font-size:96px;line-height:.7}
.review-copy{font-size:clamp(1.3rem,1.55vw,1.65rem);line-height:1.3;letter-spacing:-.02em;margin:34px 0 36px;max-width:400px}
.review-person{display:flex;align-items:center;gap:14px;margin-top:auto}
.review-monogram{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:50%;background:#eeeae5;color:#243354;font-size:13px;font-weight:750}
.review-person strong,.review-person small{display:block}.review-person strong{font-size:13px}.review-person small{color:#b5c0d0;margin-top:3px;font-size:11px}
.review-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}
.review-controls>div{display:flex;gap:10px}.review-controls>span{font-size:11px;letter-spacing:.12em}
.review-control{height:51px;width:51px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;background:transparent;cursor:pointer;font-size:20px;transition:background .25s,color .25s}
.review-control:hover,.review-control:focus-visible{background:white;color:#14213c}
.review-control[disabled]{opacity:.27;cursor:default}.review-pause{font-size:15px}
.footer-contact-row{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:32px;border-top:1px solid rgba(255,255,255,.23);border-bottom:1px solid rgba(255,255,255,.23);padding:32px 0;margin:28px 0 46px;align-items:start}
.footer-contact-row>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.footer-contact-row .contact-eyebrow{font-size:10px;letter-spacing:.14em;opacity:.56;margin-bottom:12px}
.footer-contact-row address{font-style:normal;line-height:1.5;font-size:15px}
.footer-contact-row a{color:inherit;text-decoration:none;overflow-wrap:anywhere;font-size:15px}
.footer-contact-row a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-contact-row small{opacity:.6;font-size:11px;line-height:1.6}
.social-profiles{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.social-profiles a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;min-width:40px;border-radius:24px;border:1px solid currentColor;padding:9px 12px;text-decoration:none;transition:background .25s,color .25s}
.social-profiles svg{width:18px;height:18px;flex:none}.social-profiles span{font-size:11px}
.footer .social-profiles a:hover{background:white;color:#192239}
.direct-contact{padding-top:32px;max-width:480px}
.direct-contact h3{font-size:20px;margin-bottom:17px}.direct-contact p{margin:7px 0}
.direct-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.direct-contact .small-address{font-size:13px;opacity:.8;margin:18px 0}
.direct-contact .social-profiles{margin-top:22px}
.direct-contact .social-profiles a{border-color:rgba(24,28,40,.25);text-decoration:none}
.editorial-article{max-width:850px;margin-inline:auto}
.editorial-article>section{margin-bottom:50px;border-top:1px solid rgba(23,32,46,.19);padding-top:25px}
.editorial-article h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15;margin:17px 0}
.editorial-article p{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.75;max-width:740px}
.editorial-cta{border-top:1px solid #c4cbd0;padding:35px 0 70px;display:flex;align-items:center;justify-content:space-between;gap:20px}
@media(max-width:1100px){.review-card{min-width:calc((100% - 18px)/2);width:calc((100% - 18px)/2);flex-basis:calc((100% - 18px)/2)}}
@media(max-width:760px){.home-credibility>.container{flex-wrap:wrap;justify-content:flex-start;padding-block:15px;min-height:0;gap:12px 28px;font-size:10px}.real-work-grid{grid-template-columns:1fr;gap:18px}.real-case-graphic{min-height:250px}.real-work-cta{flex-wrap:wrap}.review-heading{grid-template-columns:1fr;gap:22px}.review-heading h2{font-size:clamp(2.7rem,9vw,4.5rem)}.review-card{min-width:85%;width:85%;flex-basis:85%;min-height:360px}.review-shell{overflow:hidden}.footer-contact-row{grid-template-columns:1fr;gap:29px}.review-copy{font-size:1.5rem}.editorial-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:400px){.review-card{min-width:90%;width:90%;flex-basis:90%;padding:23px}.review-control{height:44px;width:44px}.review-controls>div{gap:6px}.real-case-graphic strong{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.review-track,.real-case,.real-case-graphic:before,.real-case-graphic:after,.review-card{transition:none!important}}

/* ===== v10-experience.css ===== */
/* APPSBRAIN V10 — editorial design system. Carefully scoped to existing CMS layout. */
:root{--v10-paper:#f7f6f1;--v10-ink:#101722;--v10-blue:#6177ef;--v10-line:rgba(16,23,34,.16);--v10-soft:#edf0f6;--v10-container:1480px}
html{scroll-padding-top:100px}body{min-width:320px}main{overflow:clip}.container{max-width:var(--v10-container)}
:where(.v10-immersive,.v10-workflow,.v10-stack,.v10-service-faq,.v10-service-cta){position:relative;isolation:isolate}
.v10-immersive{background:#111722;color:#f7f7f1;padding:clamp(90px,10vw,164px) 0 clamp(78px,8vw,120px);overflow:hidden}
.v10-immersive:before{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 84% 0%,#647ae42a,transparent 43%),linear-gradient(90deg,transparent 49.94%,#ffffff0d 50%,transparent 50.06%);z-index:-1}
.v10-chapter-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.68fr);gap:clamp(22px,5vw,96px);align-items:end;border-bottom:1px solid #ffffff33;padding-bottom:clamp(55px,7vw,120px)}
.v10-kicker{display:block;color:#687cf0;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;margin:0 0 28px}
.v10-immersive .v10-kicker,.v10-service-cta .v10-kicker{color:#bbc4ff}
.v10-chapter-heading h2{font-family:'Manrope',sans-serif;font-size:clamp(49px,6.1vw,105px);letter-spacing:-.09em;line-height:1.01;font-weight:750;margin:0;max-width:950px;text-wrap:balance}
.v10-chapter-heading>p{font-size:clamp(16px,1.32vw,20px);line-height:1.78;color:#c1c5d0;max-width:420px;margin:0}
.v10-deliver-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:clamp(58px,5.9vw,95px)}
.v10-deliver{padding:0 clamp(20px,2.4vw,42px) 14px;position:relative;border-left:1px solid #ffffff2e;min-height:265px;transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .4s}
.v10-deliver:first-child{padding-left:0;border:0}.v10-deliver:hover{transform:translateY(-8px);border-color:#b9c7ff}
.v10-counter{display:block;font-size:11px;color:#8d9ae1;letter-spacing:.14em;margin:0 0 66px;font-weight:700}
.v10-deliver h3{font-size:clamp(20px,1.55vw,27px);letter-spacing:-.045em;line-height:1.24;font-weight:700;margin:0 0 18px}
.v10-deliver p{color:#bdc4d1;font-size:14px;line-height:1.72;margin:0;max-width:270px}
.v10-workflow{background:var(--v10-paper);padding:clamp(90px,10vw,158px) 0}
.v10-workflow-top{display:grid;grid-template-columns:1.3fr .55fr;gap:clamp(32px,9vw,152px);align-items:end;margin-bottom:clamp(60px,8vw,116px)}
.v10-workflow h2,.v10-stack h2,.v10-service-faq h2{font-size:clamp(45px,5vw,82px);letter-spacing:-.078em;line-height:1.05;font-family:'Manrope',sans-serif;font-weight:750;margin:0;max-width:950px;text-wrap:balance}
.v10-workflow-top>p,.v10-stack-head>p{font-size:16px;line-height:1.74;color:#656d77;margin:0;max-width:390px}
.v10-process-list{border-top:1px solid var(--v10-line)}
.v10-process-row{display:grid;grid-template-columns:12% 28% 1fr 30px;gap:clamp(12px,3vw,70px);padding:clamp(26px,3.5vw,48px) 0;align-items:center;border-bottom:1px solid var(--v10-line);transition:background .3s,padding .3s}
.v10-process-row:hover{background:#eaecf4;padding-left:clamp(8px,1.2vw,20px)}
.v10-process-row>b{font-size:11px;font-weight:800;letter-spacing:.16em;color:#687cf0}
.v10-process-row h3{font-size:clamp(24px,2.8vw,42px);line-height:1.1;font-weight:700;letter-spacing:-.065em;margin:0}
.v10-process-row p{font-size:15px;line-height:1.7;color:#5a636c;margin:0;max-width:650px}
.v10-process-row>span{font-size:23px;color:#6273e8}
.v10-stack{background:#e7eaf0;padding:clamp(90px,10vw,155px) 0;overflow:hidden}
.v10-stack:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 96% 20%,#fff9 0%,transparent 45%),radial-gradient(ellipse at 0 96%,#8491ff29,transparent 35%)}
.v10-stack-head{display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(32px,9vw,150px);align-items:end;margin-bottom:clamp(48px,6vw,92px)}
.v10-stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v10-tech-tile{min-height:210px;padding:26px;border:1px solid #fff9;background:#fafbfdab;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:3px;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s;position:relative;overflow:hidden}
.v10-tech-tile:before{content:"";position:absolute;inset:-2px;background:radial-gradient(circle at 0 0,#b8c4ff52,transparent 55%);opacity:0;transition:opacity .4s;pointer-events:none}
.v10-tech-tile:hover{background:white;box-shadow:0 20px 60px #23396b12;transform:translateY(-6px)}.v10-tech-tile:hover:before{opacity:1}
.v10-tech-tile img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 7px 11px #182d3a0c)}.v10-tech-tile span{font-size:19px;letter-spacing:-.05em;font-weight:750}
.v10-service-faq{background:var(--v10-paper);padding:clamp(90px,10vw,160px) 0}.v10-faq-grid{display:grid;grid-template-columns:minmax(0,.77fr) minmax(0,1fr);gap:clamp(45px,12vw,180px)}
.v10-faq-grid>div:first-child>p:not(.v10-kicker){color:#626b75;line-height:1.75;margin:24px 0 44px;max-width:370px;font-size:16px}
.v10-inline-link{display:inline-block;font-weight:800;font-size:14px;border-bottom:1px solid #171c31;padding-bottom:9px}
.v10-faq-accordion{border-top:1px solid var(--v10-line)}.v10-faq-accordion details{border-bottom:1px solid var(--v10-line);padding:0}.v10-faq-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:29px 3px;font-size:clamp(17px,1.6vw,23px);font-weight:750;letter-spacing:-.04em;cursor:pointer;line-height:1.3}.v10-faq-accordion summary::-webkit-details-marker{display:none}
.v10-faq-accordion summary span{display:grid;place-items:center;border:1px solid #bbc3cf;border-radius:50%;width:29px;height:29px;flex:none;font-size:21px;font-weight:400;transition:transform .2s}.v10-faq-accordion details[open] summary span{transform:rotate(45deg);border-color:#6177ef;color:#6177ef}
.v10-faq-accordion details p{margin:0 0 32px;font-size:15px;line-height:1.8;color:#626b75;max-width:650px}
.v10-service-cta{background:#556cf0;color:#fff;padding:clamp(88px,10vw,145px) 0;overflow:hidden}.v10-service-cta:before{content:"";position:absolute;right:-12%;top:-48%;width:min(80vw,1050px);height:min(80vw,1050px);border-radius:50%;border:1px solid #ffffff35;box-shadow:0 0 0 75px #ffffff0b,0 0 0 150px #ffffff08;pointer-events:none}
.v10-service-cta h2{font-size:clamp(59px,8vw,138px);line-height:.98;letter-spacing:-.085em;font-weight:760;margin:0 0 66px;max-width:1240px;text-wrap:balance}.v10-service-cta h2 em{font-family:'Instrument Serif',serif;font-weight:400}
.v10-cta-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px}.v10-cta-bottom p{font-size:16px;line-height:1.7;max-width:470px;margin:0;color:#eef0ff}
.v10-cta-pill{display:inline-flex;align-items:center;gap:64px;border-radius:90px;padding:13px 15px 13px 30px;background:#fff;color:#151c2c;font-size:14px;font-weight:750;transition:transform .3s}.v10-cta-pill span{background:#111722;color:#fff;border-radius:50%;display:grid;place-items:center;width:42px;height:42px}.v10-cta-pill:hover{transform:translateY(-4px)}
/* A more measured global rhythm / improved typographic texture */
@media(min-width:1025px){.inner-hero{padding-top:clamp(160px,17vw,255px)}.inner-block{padding-top:clamp(90px,10vw,155px);padding-bottom:clamp(90px,10vw,155px)}.cms-prose{max-width:800px}}
.site-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.logo,.footer-brand{font-kerning:normal;letter-spacing:-.07em}
.site-header a:focus-visible,button:focus-visible,.v10-faq-accordion summary:focus-visible,.v10-cta-pill:focus-visible{outline:3px solid #7288ff;outline-offset:4px}
/* Stable validation, reduced-motion friendly */
.appsbrain-field-error{font-size:12px;line-height:1.6;color:#b23235;font-weight:650;display:block;padding:6px 0 0}
[aria-invalid=true]{border-color:#c84a4f!important;box-shadow:0 0 0 2px #ee808021!important}
.appsbrain-form-status.show{padding:13px 16px;background:#eaf4ed;border:1px solid #b9d4c2;border-radius:8px;color:#20442b;margin:14px 0;line-height:1.55}
.appsbrain-form-status.is-error{color:#832a2b;background:#fff0ef;border-color:#f0c5c5}
@media(max-width:1024px){.v10-deliver-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 0}.v10-deliver:nth-child(odd){border-left:0;padding-left:0}.v10-deliver{min-height:230px}.v10-stack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v10-workflow-top,.v10-stack-head{grid-template-columns:1fr 1fr}.v10-faq-grid{gap:65px}}
@media(max-width:720px){.v10-chapter-heading,.v10-workflow-top,.v10-stack-head,.v10-faq-grid{grid-template-columns:1fr;gap:26px}.v10-chapter-heading{padding-bottom:65px}.v10-chapter-heading h2{font-size:clamp(44px,11vw,65px)}.v10-deliver-grid{gap:50px 22px}.v10-deliver{min-height:0;padding:0 0 5px!important;border:0!important}.v10-counter{margin-bottom:26px}.v10-deliver h3{font-size:20px}.v10-process-row{grid-template-columns:35px 1fr 20px;gap:16px}.v10-process-row p{grid-column:2/3;grid-row:2}.v10-process-row>span{grid-column:3;grid-row:1}.v10-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v10-tech-tile{min-height:150px;padding:17px}.v10-tech-tile img{width:44px;height:44px}.v10-tech-tile span{font-size:16px}.v10-faq-grid{gap:58px}.v10-service-cta h2{font-size:clamp(54px,12vw,84px);margin-bottom:40px}.v10-cta-bottom{align-items:flex-start;flex-direction:column}.v10-cta-pill{gap:24px;justify-content:space-between;max-width:100%;width:100%}}
@media(max-width:440px){.v10-deliver-grid{grid-template-columns:1fr;gap:35px}.v10-deliver{padding-bottom:25px!important;border-bottom:1px solid #ffffff24!important}.v10-immersive{padding-top:75px}.v10-chapter-heading h2{font-size:43px}.v10-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v10-cta-pill{padding-left:20px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.v10-tech-tile,.v10-deliver,.v10-process-row,.v10-cta-pill,.v10-faq-accordion summary span{transition:none!important;transform:none!important}html{scroll-behavior:auto}}
@media(prefers-reduced-motion:no-preference){.v10-before-view{opacity:0;transform:translate3d(0,22px,0)}.v10-before-view.v10-inview{opacity:1;transform:translateZ(0);transition:opacity .8s ease,var(--v10-placeholder, transform) .8s cubic-bezier(.18,.95,.28,1);transition-delay:var(--v10-stagger,0ms)}.v10-deliver.v10-inview:hover,.v10-tech-tile.v10-inview:hover{transform:translateY(-7px)}}
.v10-choice{padding:clamp(100px,11vw,170px) 0;background:#151d2c;color:#fafaf5;position:relative;overflow:hidden}
.v10-choice:before{content:"";width:70vw;height:70vw;max-width:950px;max-height:950px;position:absolute;top:-70%;right:-25%;background:radial-gradient(circle,#667cf05c,transparent 60%);pointer-events:none}
.v10-choice-heading{display:grid;grid-template-columns:1fr .48fr;gap:45px;align-items:end;margin-bottom:65px}
.v10-choice h2{font-size:clamp(54px,6.7vw,111px);line-height:1;letter-spacing:-.088em;max-width:1050px;margin:0;font-weight:750}.v10-choice-heading>p{font-size:17px;line-height:1.7;color:#b7bfd1;max-width:350px;margin:0}
.v10-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v10-choice-card{min-height:360px;border:1px solid #ffffff2b;background:#ffffff0b;padding:clamp(23px,2.5vw,44px);display:flex;flex-direction:column;gap:25px;transition:background .35s,transform .35s}.v10-choice-card:hover{background:#ffffff14;transform:translateY(-6px)}
.v10-choice-card>small{color:#a3b0ff;font-size:10px;letter-spacing:.19em;font-weight:800}.v10-choice-card h3{font-size:clamp(25px,2.3vw,38px);line-height:1.1;letter-spacing:-.07em;font-weight:750;margin:30px 0 0}.v10-choice-card p{color:#c1c7d4;font-size:15px;line-height:1.7;margin:0}.v10-choice-card a{margin-top:auto;font-weight:750;display:inline-flex;gap:20px;align-items:center;font-size:14px;align-self:start;border-bottom:1px solid #ffffff80;padding-bottom:10px}
@media(max-width:800px){.v10-choice-heading{grid-template-columns:1fr}.v10-choice-list{grid-template-columns:1fr}.v10-choice-card{min-height:255px}.v10-choice-card h3{margin-top:0}}

/* Service index — curated capability map */
.v10-overview-stack{background:#e8edf5;padding:clamp(90px,10vw,155px) 0}.v10-overview-intro{display:grid;grid-template-columns:1fr .56fr;gap:clamp(20px,6vw,100px);align-items:end;margin-bottom:clamp(45px,6vw,95px)}.v10-overview-intro h2{font-size:clamp(48px,5.5vw,91px);line-height:1.03;letter-spacing:-.083em;max-width:880px;margin:0}.v10-overview-intro>p{font-size:16px;color:#5a6575;line-height:1.8;max-width:420px;margin:0}.v10-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v10-overview-card{background:#f8f9fc;border:1px solid #ffffffd5;min-height:270px;padding:27px;display:flex;flex-direction:column;justify-content:space-between;gap:36px;transition:transform .35s,box-shadow .35s,background .35s}.v10-overview-card:hover{transform:translateY(-6px);box-shadow:0 20px 65px #283e6722;background:white}.v10-overview-label{display:flex;justify-content:space-between;font-size:21px;line-height:1.2;font-weight:750;letter-spacing:-.05em}.v10-overview-label b{color:#566af0;font-weight:500}.v10-overview-tools{display:flex;gap:13px;flex-wrap:wrap}.v10-overview-tools span{display:grid;justify-items:center;gap:7px}.v10-overview-tools img{width:38px;height:38px;object-fit:contain}.v10-overview-tools small{font-size:10px;color:#6a7280;max-width:65px;text-align:center;line-height:1.2}
@media(max-width:1030px){.v10-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:690px){.v10-overview-intro{grid-template-columns:1fr}.v10-overview-grid{grid-template-columns:1fr}.v10-overview-card{min-height:185px}.v10-overview-intro h2{font-size:clamp(44px,10.5vw,65px)}}
/* V11 deliberate spacing, specialist services and editorial interactions */
:root{--v11-gutter:clamp(20px,5.2vw,94px);--v11-radius:18px;--v11-dark:#101721;--v11-ink:#172033}
.language-switch{display:inline-flex;align-items:center;margin:0 12px 0 0;position:relative}.language-switch select{min-width:94px;width:auto;background:rgba(250,250,250,.94);color:#16233a;font:600 11px/1.2 inherit;border:1px solid rgba(30,40,60,.16);border-radius:999px;padding:9px 20px 9px 12px;cursor:pointer;max-width:123px}.language-switch select:focus-visible{outline:3px solid #567ac9;outline-offset:3px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.localized-heading{letter-spacing:-.055em}.localized-summary{font-size:clamp(16px,1.7vw,22px);line-height:1.55;max-width:680px;margin:16px 0 28px}.admin-preview-banner{background:#f8df77;color:#162032;font-size:12px;letter-spacing:.1em;font-weight:800;text-align:center;padding:11px 15px}
.mega-v11-extra{background:rgba(15,27,43,.035);border-radius:6px}.mega-v11-extra b{font-size:17px}
.v11-more-services{padding:clamp(80px,12vw,170px) 0;background:#f3f2ee;color:#142032}.v11-more-heading{max-width:780px;margin-bottom:55px}.v11-more-heading h2{font-size:clamp(46px,6.2vw,98px);letter-spacing:-.065em;line-height:1.02;margin:24px 0}.v11-more-heading p{font-size:18px;color:#606b72;max-width:570px}.v11-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#c7cdd0}.v11-more-grid>a{background:#f9f9f6;padding:35px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;color:inherit;text-decoration:none;transition:background .3s,transform .3s}.v11-more-grid>a:hover{background:#e6ecf3}.v11-more-grid>a span{font-size:10px;letter-spacing:.15em}.v11-more-grid>a h3{font-size:clamp(23px,2.7vw,38px);line-height:1.12;letter-spacing:-.045em}.v11-more-grid>a b{font-size:13px}
.service-v11-hero{background:#f7f7f2;color:var(--v11-ink);padding:clamp(108px,14vw,184px) 0 clamp(70px,10vw,150px)}.service-v11-hero-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:clamp(30px,5vw,90px);align-items:center}.service-v11-back{display:inline-block;margin-bottom:50px;color:#4d5a6d;font-size:13px;text-decoration:none}.service-v11-hero h1{font-size:clamp(55px,7.2vw,115px);line-height:.97;letter-spacing:-.08em;font-weight:600;margin:25px 0 28px;max-width:950px}.service-v11-hero p{font-size:clamp(17px,1.4vw,22px);line-height:1.6;max-width:690px;color:#4b5864}.service-v11-buttons{display:flex;gap:27px;align-items:center;flex-wrap:wrap;margin-top:38px}.service-v11-buttons>a:not(.pill-btn){font-weight:600;text-decoration:none}.service-v11-graphic{aspect-ratio:4/5;background:linear-gradient(150deg,#17243a,#3658a1 72%,#c1d3f4);border-radius:var(--v11-radius);position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;box-shadow:0 36px 75px #253e6729}.service-v11-graphic:after{content:'';position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle,#9bb6fc99,transparent 70%);filter:blur(18px)}.service-v11-mark{font-size:clamp(24px,3vw,54px);font-weight:750;line-height:1.05;letter-spacing:-.07em;color:white;text-align:center;max-width:90%;position:relative;z-index:1;text-wrap:balance}.service-v11-graphic-top,.service-v11-graphic-bottom{color:#fff9;position:absolute;left:25px;font-size:10px;letter-spacing:.13em;z-index:2}.service-v11-graphic-top{top:28px}.service-v11-graphic-bottom{bottom:28px}
.service-v11-section{padding:clamp(90px,12vw,175px) 0;background:#fff}.service-v11-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:60px}.service-v11-head .caps{grid-column:1/-1}.service-v11-head h2,.service-v11-technology h2,.service-v11-faq h2,.service-v11-process h2{font-size:clamp(42px,6vw,86px);line-height:1.02;letter-spacing:-.07em}.service-v11-head p{font-size:18px;line-height:1.65;max-width:470px;color:#57636d}.service-v11-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#d8dce0;border-top:1px solid #d8dce0}.service-v11-feature{background:white;padding:clamp(32px,4vw,64px);min-height:300px}.service-v11-index{font-size:12px;color:#576889}.service-v11-feature h3{font-size:clamp(26px,3vw,44px);letter-spacing:-.05em;line-height:1.13;margin:36px 0 20px}.service-v11-feature p{color:#556270;line-height:1.75;max-width:540px}.service-v11-process{background:#101824;color:#fff;padding:clamp(80px,10vw,144px) 0}.service-v11-process h2{margin:25px 0 60px;max-width:860px}.service-v11-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.service-v11-steps p{border-top:1px solid #53606a;padding:28px 24px 0 0;font-size:16px;color:#b7c2d0;line-height:1.65}.service-v11-steps b{display:block;color:white;margin-bottom:20px}.service-v11-technology{background:#edf1f4;padding:clamp(85px,11vw,150px) 0}.service-v11-technology>.container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.service-v11-technology h2{margin:25px 0}.service-v11-technology p{max-width:470px;line-height:1.7}.service-v11-tech{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tech-v11-item{min-width:0;min-height:180px;background:white;display:grid;justify-items:center;align-content:center;gap:20px;border-radius:14px;transition:transform .3s,box-shadow .3s}.tech-v11-item:hover{transform:translateY(-6px);box-shadow:0 20px 45px #162a4320}.tech-v11-item img{width:46px;height:46px;object-fit:contain}.tech-v11-item span{text-transform:capitalize;font-size:12px;font-weight:650}.service-v11-faq{padding:clamp(80px,11vw,150px) 0;background:white}.service-v11-faq>.container{display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-v11-faq details{padding:24px 0;border-bottom:1px solid #cbd1d7}.service-v11-faq summary{font-size:clamp(17px,1.8vw,24px);font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}.service-v11-faq details p{line-height:1.75;color:#53606a}.service-v11-cta{padding:clamp(100px,12vw,165px) 0;background:#c6d7f5}.service-v11-cta h2{font-size:clamp(57px,8vw,120px);letter-spacing:-.075em;line-height:.98;margin:30px 0}.service-v11-cta p{font-size:18px;max-width:570px;line-height:1.7}.service-v11-cta .pill-btn{display:inline-flex;margin-top:30px}
.project-gallery{padding:40px 0 90px;background:#f6f6f1}.gallery-heading h2{font-size:clamp(40px,5vw,75px);letter-spacing:-.06em}.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.project-gallery-grid figure{margin:0;min-width:0}.project-gallery-grid img{display:block;width:100%;height:auto;max-height:690px;object-fit:cover;border-radius:12px}.project-gallery-grid figcaption{margin-top:9px;font-size:13px;color:#627080}.project-case-context{padding:70px 0;background:#f7f7f2}.project-context-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.project-context-grid p{line-height:1.8}.real-case-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.83}
.dedicated-enquiry{padding:110px 0;background:#e7ecf4}.dedicated-enquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.dedicated-enquiry h2{font-size:clamp(40px,5vw,75px);line-height:1.04;letter-spacing:-.065em}.dedicated-enquiry p{line-height:1.7}.dedicated-enquiry .lead-form{padding:40px;background:white;border-radius:14px}.dedicated-enquiry .lead-form label{display:block;margin-bottom:20px}.dedicated-enquiry .lead-form input,.dedicated-enquiry .lead-form select,.dedicated-enquiry .lead-form textarea{max-width:100%;width:100%}
@media(max-width:1000px){.service-v11-hero-grid,.service-v11-head,.service-v11-technology>.container,.service-v11-faq>.container,.dedicated-enquiry-grid{grid-template-columns:1fr}.service-v11-graphic{aspect-ratio:16/9}.service-v11-tech{max-width:700px}.service-v11-steps{grid-template-columns:repeat(2,1fr)}.v11-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.language-switch{margin-right:6px}.language-switch select{width:87px;max-width:87px;padding:8px 15px 8px 8px;font-size:10px}.service-v11-hero{padding-top:100px}.service-v11-hero h1{font-size:clamp(45px,13vw,74px)}.service-v11-graphic{aspect-ratio:1/.9}.service-v11-features,.service-v11-steps,.service-v11-tech,.project-gallery-grid,.project-context-grid,.v11-more-grid{grid-template-columns:1fr}.tech-v11-item{min-height:128px}.service-v11-feature{min-height:0}.service-v11-cta h2{font-size:clamp(48px,14vw,85px)}.dedicated-enquiry .lead-form{padding:22px}}
@media(prefers-reduced-motion:reduce){.v11-more-grid>a,.tech-v11-item{transition:none!important}}
/* Editorial hero alignment correction after real viewport review. */
.service-v11-hero{padding-top:clamp(100px,10vw,150px)}
.service-v11-hero-grid{align-items:start}
.service-v11-hero h1{font-size:clamp(52px,6.55vw,100px)}
.service-v11-back{margin-bottom:clamp(28px,4vw,54px)}
.service-v11-graphic{max-height:740px}
@media(max-width:650px){.service-v11-hero h1{font-size:clamp(43px,12vw,70px)}.service-v11-graphic{max-height:500px}}
.locale-notice{margin:0;padding:11px var(--gutter);background:#e6eef9;color:#304766;font-size:12px;line-height:1.5}

/* ===== growth.css ===== */
/* AppsBrain content and conversion system / V8 */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.growth-section{padding:clamp(78px,9vw,150px) 0;background:#f0f0eb;border-top:1px solid #d7d8d2}
.growth-wrap{display:grid;grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr);gap:clamp(32px,6vw,110px);align-items:start}
.growth-intro{position:sticky;top:130px}.growth-intro h2{font:700 clamp(41px,5.4vw,85px)/1.05 'Manrope',sans-serif;letter-spacing:-.079em;margin:24px 0 27px;max-width:750px}.growth-intro p{max-width:500px;font-size:clamp(16px,1.25vw,19px);line-height:1.75;color:#52555f}
.growth-details{border-top:1px solid #bfc1bc}.growth-detail{display:grid;grid-template-columns:58px 1fr;gap:clamp(12px,2vw,36px);padding:clamp(30px,3vw,50px) 0;border-bottom:1px solid #bfc1bc;align-items:start;transition:padding .4s,background .4s}
.growth-detail:hover{padding-left:8px}.growth-number{font:600 12px 'DM Sans',sans-serif;color:#686c74;letter-spacing:.14em;padding-top:10px}.growth-detail h3{font:700 clamp(23px,2.2vw,33px)/1.18 'Manrope',sans-serif;letter-spacing:-.055em;margin:0 0 17px}.growth-detail p{font-size:15px;line-height:1.78;max-width:580px;color:#555760;margin:0}
.growth-faq{background:#fff;padding:clamp(70px,8vw,130px) 0}.growth-faq>.container{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,7vw,125px)}.growth-faq-heading h2{font:700 clamp(40px,5vw,76px)/1.03 'Manrope',sans-serif;letter-spacing:-.078em;margin:22px 0}.growth-faq-heading p{line-height:1.75;color:#676974;max-width:380px}.growth-faq-list{border-top:1px solid #d7d8d3}.growth-faq details{border-bottom:1px solid #d7d8d3}.growth-faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0;font-weight:700;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.035em;list-style:none}.growth-faq summary::-webkit-details-marker{display:none}.growth-faq summary span{font-size:28px;font-weight:400;color:#5666d9;transition:transform .25s}.growth-faq details[open] summary span{transform:rotate(45deg)}.growth-faq details p{color:#555968;line-height:1.8;padding:0 36px 28px 0;margin:0;max-width:740px}
.growth-newsletter{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,7vw,110px);padding:52px 0 74px;border-top:1px solid #3c3d47}
.growth-newsletter h3{font:700 clamp(33px,3.8vw,60px)/1.1 'Manrope',sans-serif;letter-spacing:-.075em;margin:20px 0}.growth-newsletter p{color:#aeb2bf;line-height:1.75;max-width:480px;font-size:15px}
.growth-newsletter form>label:first-of-type{font-size:12px;font-weight:700}.growth-email-row{display:flex;gap:7px;margin:13px 0 15px}.growth-email-row input{min-width:0;flex:1;padding:16px;border-radius:6px;border:1px solid #505360;background:#20232d;color:#fff;outline-offset:3px}.growth-email-row input::placeholder{color:#bbbfc9}.growth-email-row button{padding:15px 24px;background:#c1c8ff;color:#11121b;border:0;border-radius:6px;font-weight:800;white-space:nowrap}.growth-email-row button:hover{background:#fff}.growth-newsletter small,.growth-newsletter small a{font-size:11px;color:#aeb0bd}.growth-newsletter small a{text-decoration:underline}
.growth-consent{display:flex!important;align-items:flex-start;gap:9px;font-size:12px!important;line-height:1.5!important;letter-spacing:0!important;font-weight:500!important}.growth-consent input{width:15px!important;height:15px!important;min-width:15px!important;margin:2px 0 0!important;accent-color:#6c79ef}.growth-consent a{text-decoration:underline}.growth-newsletter .growth-consent{color:#ebecf0;margin:16px 0 10px}.newsletter-flash{padding:15px 20px;background:#3c4938;color:#fff}
.growth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 21px}.growth-form-grid label{font-size:12px;line-height:1.4;font-weight:700}.growth-form-grid select,.growth-form-grid input,.growth-dialog textarea,.growth-dialog input,.growth-dialog select{width:100%;max-width:100%;min-width:0;margin-top:8px;padding:13px 14px;background:#f4f4f0;color:#171820;border:1px solid #d6d7d1;border-radius:5px;outline-offset:3px}.growth-form-grid select:focus,.growth-form-grid input:focus,.growth-dialog textarea:focus,.growth-dialog input:focus{border-color:#5366ec}.form-card .growth-consent{margin:20px 0}.form-card .growth-form-grid label{display:block}.form-card .growth-form-grid{margin-top:8px}
.growth-floating-cta{position:fixed;right:clamp(18px,3vw,48px);bottom:25px;z-index:140;display:flex;align-items:center;gap:25px;padding:15px 17px 15px 24px;background:#12141b;color:#fff;border:1px solid #f9f9f9aa;border-radius:99px;box-shadow:0 15px 35px #0005;font-size:13px;font-weight:700;transition:transform .25s,background .25s}.growth-floating-cta span{font-size:22px;line-height:1}.growth-floating-cta:hover{background:#5366ec;transform:translateY(-3px)}
.growth-dialog-backdrop[hidden]{display:none!important}.growth-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(6,8,17,.70);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);display:grid;place-items:center;padding:20px;animation:growBackdrop .3s ease-out both}
@keyframes growBackdrop{from{opacity:0}to{opacity:1}}.growth-dialog{position:relative;width:min(100%,690px);max-height:min(92vh,930px);overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#151720;padding:clamp(25px,4vw,50px);border-radius:11px;box-shadow:0 40px 120px #0008;animation:growModal .45s cubic-bezier(.22,1,.36,1) both}
@keyframes growModal{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.growth-dialog-head{display:flex;gap:18px;justify-content:space-between;align-items:flex-start}.growth-dialog h2{font:700 clamp(31px,4vw,53px)/1.04 'Manrope',sans-serif;letter-spacing:-.075em;margin:14px 0 4px}.growth-dialog>p{color:#61636d;font-size:14px;line-height:1.7;margin:8px 0 24px;max-width:510px}.growth-close{border:1px solid #d7d9d9;background:#f4f4f1;border-radius:50%;width:38px;height:38px;min-width:38px;font-size:25px;line-height:1}.growth-dialog form>label{display:block;font-weight:700;font-size:12px}.growth-dialog .growth-consent{margin:18px 0}.growth-submit{background:#151720;color:#fff;font-weight:700;border:0;padding:15px 23px;border-radius:99px}.growth-submit:hover{background:#5366ec}.growth-dialog small{display:block;margin-top:13px;color:#666a72}.growth-dialog input[type=checkbox]{width:15px;margin:0}.growth-dialog .growth-form-grid label{display:block}
body.growth-modal-open{overflow:hidden}.newsletter-result{background:#f6f6f2;color:#111217;font:16px 'DM Sans',sans-serif}.newsletter-result main{max-width:660px;margin:clamp(90px,14vh,220px) auto;padding:30px}.newsletter-result main>a:first-child{font-size:28px;font-weight:800}.newsletter-result h1{font-size:clamp(42px,7vw,80px);letter-spacing:-.07em}.newsletter-result main p{line-height:1.7;color:#555}.newsletter-result main>a:last-child{display:inline-block;margin-top:20px;border-bottom:1px solid #111;padding-bottom:10px}
@media(max-width:820px){.growth-wrap,.growth-faq>.container,.growth-newsletter{grid-template-columns:1fr}.growth-intro{position:static}.growth-section{padding:75px 0}.growth-detail{grid-template-columns:42px 1fr}.growth-newsletter{padding:44px 0 56px}.growth-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.growth-form-grid{grid-template-columns:1fr}.growth-dialog{padding:24px}.growth-dialog-backdrop{padding:9px}.growth-floating-cta{right:13px;bottom:13px;padding:11px 15px}.growth-email-row{flex-direction:column}.growth-email-row button{width:100%}.growth-intro h2{font-size:clamp(38px,10vw,60px)}}
@media(prefers-reduced-motion:reduce){.growth-detail,.growth-floating-cta,.growth-dialog,.growth-dialog-backdrop,.growth-faq summary span{animation:none!important;transition:none!important}}
/* Avoid legacy portfolio minimum widths at tablet and small-phone breakpoints. */
.real-work-grid,.real-case,.real-case-graphic{min-width:0;max-width:100%}
@media(max-width:920px){.real-work-grid{grid-template-columns:minmax(0,1fr)!important}.real-case-graphic{width:100%}}
.growth-next{background:#20232e;color:#fff;padding:clamp(62px,7vw,115px) 0}.growth-next h2{font:700 clamp(36px,4vw,68px)/1.08 'Manrope',sans-serif;letter-spacing:-.075em;margin:22px 0 38px;max-width:720px}.growth-next>div>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #4b4d56}.growth-next a{border-bottom:1px solid #4b4d56;padding:20px 8px;display:flex;justify-content:space-between;font-size:15px;gap:15px;transition:padding .25s,color .25s}.growth-next a:hover{padding-left:20px;color:#cad1ff}
@media(max-width:660px){.growth-next>div>div{grid-template-columns:1fr}}
/* V9: friendly, inline, accessible form feedback. */
.appsbrain-field-error{display:block!important;color:#b92a35!important;font:600 12px/1.5 system-ui,sans-serif!important;letter-spacing:0!important;margin:7px 0 0!important;max-width:100%}
input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border:2px solid #c83944!important;background:#fff9f8!important;outline-color:#c83944!important}
.form-status.appsbrain-form-status,.newsletter-form-status.appsbrain-form-status{margin:20px 0 0;padding:15px 18px;border:1px solid transparent;border-radius:8px;font:600 14px/1.65 system-ui,sans-serif;display:none}
.appsbrain-form-status.show{display:block!important}.appsbrain-form-status.is-error{background:#fff0ef;color:#8e2028;border-color:#efc3c3}.appsbrain-form-status.is-success{background:#e8f7eb;color:#1e6031;border-color:#bedec5}
.growth-newsletter .appsbrain-form-status{grid-column:1/-1}.growth-dialog .appsbrain-field-error{color:#a42129!important}
.form-card input[aria-invalid=true],.form-card textarea[aria-invalid=true],.form-card select[aria-invalid=true]{border-color:#b92a35!important}
@media(prefers-reduced-motion:reduce){.appsbrain-form-status{scroll-behavior:auto}}

/* ===== cms.css ===== */
/* CMS additions follow the existing AppsBrain V7 design system. */
.hp-field{position:absolute!important;left:-9999px!important;height:1px!important;width:1px!important;opacity:0!important}
.site-alert{margin:28px auto;padding:18px 25px;max-width:1120px;background:#e2f1dc;border-left:4px solid #3e7a51;font:600 16px/1.5 sans-serif;color:#14291c}
.cms-list-hero,.cms-article-hero{background:#f6f6f2;padding:clamp(110px,15vw,220px) 0 clamp(70px,9vw,130px)}
.cms-list-hero h1,.cms-article-hero h1{font-size:clamp(4rem,9.5vw,9.4rem);line-height:.96;letter-spacing:-.065em;max-width:1170px;margin:24px 0;font-weight:550}
.cms-list-hero em{font-family:Georgia,serif;font-weight:400}
.cms-list-hero p,.cms-article-hero .cms-summary{font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.5;max-width:730px;color:#53606b}
.cms-search-label{display:block;font-weight:650;margin:36px 0 9px}
#cms-blog-search{width:min(100%,540px);padding:18px 19px;border:1px solid #a5adb2;border-radius:4px;background:#fff;font:inherit}
.cms-list-section{background:#f6f6f2;padding:30px 0 150px}
.cms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(25px,4vw,70px)}
.cms-tile{display:block;text-decoration:none;color:#111c26;min-width:0}
.cms-tile-visual{min-height:300px;aspect-ratio:1.36;background:#10223d;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:27px;position:relative;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cms-tile:hover .cms-tile-visual{transform:translateY(-6px)}
.cms-tile-visual span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;position:relative;z-index:1}
.cms-tile-visual b{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.07em;line-height:1;position:relative;z-index:1;overflow-wrap:anywhere}
.cms-tile:nth-child(4n+2) .cms-tile-visual{background:#cdddf7;color:#163053}
.cms-tile:nth-child(4n+3) .cms-tile-visual{background:#e4d5cb;color:#382a22}
.cms-tile:nth-child(4n+4) .cms-tile-visual{background:#d6e0d2;color:#143227}
.cms-project .cms-tile-visual b{font-size:clamp(2.2rem,4.1vw,4.7rem)}
.cms-tile-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(.75)}
.cms-tile-meta{margin:22px 0 10px;color:#53606b;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.cms-tile h3{font-size:clamp(1.65rem,3vw,2.9rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 12px}
.cms-tile p{max-width:520px;line-height:1.6;color:#5e6871;font-size:15px;margin:0}
.cms-tile[hidden]{display:none}
.cms-back{display:inline-block;margin-bottom:30px;text-decoration:none;color:inherit}
.cms-article-hero{padding-bottom:100px}
.cms-article-hero h1{font-size:clamp(3.4rem,7.5vw,8.2rem);max-width:1150px}
.cms-article-body{background:#fff;padding:80px 0 150px}
.cms-prose{width:min(100%,790px);margin:auto;color:#293742;line-height:1.75;font-size:clamp(1.06rem,1.3vw,1.24rem)}
.cms-prose h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.035em;margin:2em 0 .8em}
.cms-prose h3{font-size:1.5em;margin:1.8em 0 .8em}
.cms-prose li{padding:3px 0}.cms-prose p{margin:1.3em 0}.cms-post-cta{margin-top:65px!important}
.cms-cover{margin-top:50px}.cms-cover img{max-width:100%;max-height:720px;object-fit:cover}
.cms-home-project{color:inherit;text-decoration:none;display:block;height:100%}
@media(max-width:780px){.cms-grid{grid-template-columns:1fr;gap:65px}.cms-tile-visual{min-height:240px}.cms-list-section{padding-bottom:80px}.cms-article-body{padding:55px 0 90px}.cms-list-hero h1{font-size:clamp(3.7rem,13vw,6rem)}}
@media(prefers-reduced-motion:reduce){.cms-tile-visual{transition:none!important;transform:none!important}}

.cms-social-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:18px;font-weight:700}

.cms-proof-ribbon{background:#1b2c43;color:#fff;padding:23px 0}.cms-proof-ribbon>.container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.cms-proof-ribbon span{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.02em}.cms-proof-ribbon strong{font-size:clamp(1.7rem,3vw,3rem);letter-spacing:-.06em;font-weight:650}@media(max-width:700px){.cms-proof-ribbon>.container{grid-template-columns:repeat(2,1fr)}}

.cms-cookie-banner{position:fixed;z-index:9999;bottom:17px;left:17px;right:17px;max-width:560px;background:#16233a;color:#fff;padding:19px 22px;box-shadow:0 20px 60px #0003;border-radius:7px;font:14px/1.5 sans-serif}.cms-cookie-banner p{margin:0 0 14px}.cms-cookie-banner button{padding:9px 18px;cursor:pointer;border:1px solid #fff;background:#fff;color:#142039;margin:0 9px 0 0;border-radius:3px}.cms-cookie-banner button:last-child{background:transparent;color:#fff}

/* ===== v13.css ===== */
/* AppsBrain V13: disciplined case-study, technology and responsive refinements */
:root{--v13-ink:#10141c;--v13-muted:#626975;--v13-paper:#f6f6f2;--v13-blue:#526bff;--v13-hair:rgba(16,20,28,.14)}
.case-v13-hero{background:var(--v13-paper);padding:clamp(52px,8vw,130px) 0 48px;overflow:hidden}
.case-v13-shell{width:min(100% - 2*clamp(22px,5vw,85px),1480px);max-width:1480px}
.case-v13-back{font-size:13px;font-weight:650;display:inline-flex;align-items:center;text-decoration:none;color:var(--v13-ink);gap:12px;padding-bottom:26px;transition:color .25s}
.case-v13-back:hover{color:var(--v13-blue)}
.case-v13-prelude{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--v13-hair);padding-top:18px;letter-spacing:.15em;font-size:11px;font-weight:720;color:#6d7480}
.case-v13-issue{color:var(--v13-blue)}
.case-v13-heading{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(275px,.68fr);align-items:end;gap:clamp(32px,5vw,100px);padding:clamp(45px,7vw,125px) 0 clamp(40px,6vw,80px)}
.case-v13-heading h1{font-size:clamp(65px,9.3vw,176px);letter-spacing:-.09em;line-height:.92;font-weight:660;margin:0;overflow-wrap:break-word;max-width:1030px}
.case-v13-title-dot{color:var(--v13-blue)}
.case-v13-heading p{color:#3f4856;line-height:1.65;font-size:clamp(18px,1.55vw,23px);max-width:385px;margin:0 0 .5em}
.case-v13-chips{display:flex;flex-wrap:wrap;gap:9px;padding-bottom:16px}
.case-v13-chips span{border:1px solid var(--v13-hair);border-radius:100px;padding:10px 17px;font-size:12px;font-weight:650;color:#29313e}
.case-v13-feature{background:var(--v13-paper);padding-bottom:clamp(80px,9vw,150px)}
.case-v13-feature-frame{background:#dfe2e8;position:relative;overflow:hidden;min-height:clamp(370px,56vw,790px);display:grid;place-items:center;border-radius:4px}
.case-v13-feature-frame>img{display:block;width:100%;max-height:850px;object-fit:contain;object-position:center;filter:none!important;box-shadow:none}
.case-v13-feature-art{position:relative;width:100%;height:100%;min-height:clamp(390px,55vw,760px);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,85px);color:#fff;background:radial-gradient(circle at 83% 28%,#627bfc 0,#344b88 15%,transparent 48%),linear-gradient(135deg,#172238,#141b30 65%,#080d17)}
.case-v13-feature-art span,.case-v13-feature-art small{font-size:12px;letter-spacing:.18em;position:relative;z-index:1}
.case-v13-feature-art strong{font-weight:650;line-height:.98;letter-spacing:-.08em;font-size:clamp(70px,11vw,180px);max-width:950px;position:relative;z-index:1;overflow-wrap:anywhere}
.case-v13-feature-caption{display:flex;justify-content:space-between;gap:24px;color:#747b85;font-size:11px;font-weight:700;letter-spacing:.16em;padding-top:18px}
.case-v13-story{background:#fff;padding:clamp(90px,11vw,195px) 0}
.case-v13-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,10vw,160px);align-items:start}
.case-v13-story-aside>span,.case-v13-kicker,.case-v13-index{font-size:11px;color:#626b77;letter-spacing:.17em;font-weight:760;display:block}
.case-v13-story-aside h2,.case-v13-stack h2,.case-v13-gallery h2,.case-v13-next h2,.case-v13-end h2{font-size:clamp(50px,5.9vw,108px);font-weight:610;line-height:1;letter-spacing:-.075em;margin:23px 0 36px;max-width:840px}
.case-v13-story-aside h2 em,.case-v13-stack h2 em,.case-v13-gallery h2 em,.case-v13-next h2 em,.case-v13-end h2 em{font-family:Georgia,serif;font-weight:400}
.case-v13-story-aside>p{max-width:410px;color:#606975;font-size:17px;line-height:1.72}
.case-v13-story-main article{padding:0 0 38px;margin-bottom:42px;border-bottom:1px solid var(--v13-hair)}
.case-v13-story-main article:last-child{border-bottom:0;margin-bottom:0}
.case-v13-story-main h3{font-size:clamp(27px,2.8vw,42px);letter-spacing:-.055em;line-height:1.1;margin:21px 0 18px}
.case-v13-story-main p,.case-v13-prose{color:#4d5763;font-size:clamp(16px,1.33vw,19px);line-height:1.75;max-width:640px}
.case-v13-prose h2{font-size:26px;margin:1.5em 0 .5em}.case-v13-prose h3{font-size:22px;margin:1.5em 0 .5em}.case-v13-prose ul{padding-left:24px}.case-v13-prose li{margin-bottom:8px}
.case-v13-stack{padding:clamp(65px,8vw,130px) 0;background:#161c2b;color:#fff}
.case-v13-stack .case-v13-kicker{color:#adb9da}
.case-v13-stack-row{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,110px);align-items:start}
.case-v13-stack h2{font-size:clamp(44px,5vw,80px);margin-bottom:0}
.project-v13-tech{display:flex;align-content:start;flex-wrap:wrap;gap:11px;padding-top:30px}
.project-v13-tech-chip{display:inline-flex;gap:10px;align-items:center;padding:12px 16px;border:1px solid #ffffff29;border-radius:100px;font-size:14px;color:#f7f7fc;background:#ffffff0a;transition:background .25s,transform .25s}
.project-v13-tech-chip:hover{background:#ffffff22;transform:translateY(-3px)}
.project-v13-tech-chip img{width:25px;height:25px;object-fit:contain;border-radius:5px}
.case-v13-gallery{background:#f1f2f1;padding:clamp(90px,11vw,180px) 0}
.case-v13-gallery-head{display:grid;grid-template-columns:1.3fr .7fr;column-gap:60px;align-items:end;margin-bottom:55px}
.case-v13-gallery-head .case-v13-kicker{grid-column:1/-1}
.case-v13-gallery h2{margin-bottom:0}
.case-v13-gallery-head p{font-size:17px;color:#59616d;line-height:1.5;max-width:300px;justify-self:end}
.case-v13-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3.8vw,65px);row-gap:55px}
.case-v13-shot{margin:0;min-width:0}
.case-v13-shot:nth-child(3n+1){grid-column:span 2}
.case-v13-shot a{display:block;position:relative;overflow:hidden;background:#d9dde0;box-shadow:0 12px 50px #10141c0d}
.case-v13-shot img{display:block;width:100%;height:auto;max-height:830px;object-fit:contain;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.case-v13-shot a:hover img{transform:scale(1.025)}
.case-v13-zoom{position:absolute;bottom:16px;right:16px;width:45px;height:45px;background:#fff;color:#151b27;display:grid;place-items:center;border-radius:100px;font-size:20px}
.case-v13-shot figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:16px;color:#454e59;font-size:13px;line-height:1.5}
.case-v13-shot figcaption span{font-size:11px;letter-spacing:.12em;color:#7a8391;white-space:nowrap}
.case-v13-live{padding:45px 0;background:#fff}
.case-v13-live>.container{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--v13-hair);padding-bottom:45px}
.case-v13-live p{margin:0;color:#59616d}.case-v13-live a{font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:5px;color:#111b28}
.case-v13-next{padding:clamp(80px,9vw,145px) 0;background:#fafaf7}
.case-v13-next-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.case-v13-next-top a{color:#18212f;text-decoration:none;font-size:13px;font-weight:700}
.case-v13-next h2{margin:32px 0 65px}
.case-v13-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.case-v13-related a{padding:36px 35px;background:#fff;min-height:210px;text-decoration:none;color:#152033;display:grid;grid-template-columns:1fr auto;align-content:space-between;gap:20px;border:1px solid #e2e3df;transition:background .3s,transform .3s}
.case-v13-related a:hover{background:#e9edff;transform:translateY(-4px)}
.case-v13-related small{grid-column:1/-1;color:#687283;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.case-v13-related strong{font-size:clamp(25px,3vw,44px);line-height:1.06;letter-spacing:-.05em}
.case-v13-end{background:#536bf7;padding:clamp(85px,10vw,175px) 0;color:white}
.case-v13-end span{font-size:11px;letter-spacing:.18em;font-weight:750}
.case-v13-end h2{font-size:clamp(64px,8vw,138px);line-height:.94}
.case-v13-end a{background:#fff;padding:18px 26px;border-radius:100px;color:#1a2032;font-weight:750;text-decoration:none;display:inline-flex;margin-top:12px}
/* A calmer, more useful technology gallery with category filtering */
.v13-tech-wall{background:#f7f7f4;padding:clamp(80px,9vw,150px) 0}
.v13-tech-top{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:end;margin-bottom:44px}
.v13-tech-top h2{font-size:clamp(48px,5.5vw,91px);letter-spacing:-.075em;line-height:1;margin:22px 0 0}
.v13-tech-top h2 em{font-family:Georgia,serif;font-weight:400}
.v13-tech-top>p{max-width:405px;justify-self:end;font-size:17px;line-height:1.7;color:#57616d;margin:0}
.v13-tech-kicker{font-size:11px;letter-spacing:.16em;font-weight:760;color:#6570ff}
.v13-tech-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.v13-tech-tabs button{cursor:pointer;font:700 12px/1.3 inherit;font-size:12px;letter-spacing:.02em;padding:12px 19px;border-radius:50px;border:1px solid #d5d9db;background:transparent;color:#27303c;transition:color .2s,background .2s}
.v13-tech-tabs button[aria-pressed="true"],.v13-tech-tabs button:hover{background:#161e2a;color:#fff}
.v13-tech-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid #d7d9dc;border-left:1px solid #d7d9dc}
.v13-tech-card{min-height:168px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border-right:1px solid #d7d9dc;border-bottom:1px solid #d7d9dc;text-align:center;padding:22px 8px;background:transparent;transition:background .3s}
.v13-tech-card[hidden]{display:none}
.v13-tech-card:hover{background:#e9ecff}
.v13-tech-card img{width:52px;height:52px;object-fit:contain;transition:transform .4s}
.v13-tech-card:hover img{transform:translateY(-5px) scale(1.08)}
.v13-tech-card span{font-size:12px;font-weight:720;letter-spacing:-.01em}
.v13-tech-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:25px;color:#647081;font-size:12px}
.v13-tech-bottom a{color:#141c2c;text-decoration:none;font-weight:720}
/* gallery editorial verification controls */
.cms-gallery-review{border:1px solid #d9dde5;padding:15px;margin-bottom:18px;background:#fafbfe}
.cms-gallery-review img{width:100%;height:auto;max-height:420px;object-fit:contain;object-position:left center;background:#edf0f5}
.cms-gallery-review form{margin:18px 0;border-top:1px solid #e3e4ea;padding-top:12px}
.cms-gallery-badge{display:inline-block;font-size:12px;font-weight:740;color:#754b18;background:#fff1d6;padding:7px 10px;border-radius:5px}
.cms-gallery-badge.is-approved{color:#11673c;background:#def3e8}
/* maintain line-height and prevent mobile layout issues */
:where(.case-v13-hero,.case-v13-story,.case-v13-gallery,.case-v13-next,.case-v13-end,.v13-tech-wall) .container{max-width:1480px}
:where(.case-v13-heading,.case-v13-story-grid,.case-v13-stack-row,.case-v13-gallery-grid,.v13-tech-grid,.v13-tech-top)>*{min-width:0}
@media(max-width:1100px){.v13-tech-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-v13-heading{grid-template-columns:1fr;gap:28px}.case-v13-heading p{max-width:640px}.case-v13-gallery-head{grid-template-columns:1fr}.case-v13-gallery-head p{justify-self:start;margin-top:20px}}
@media(max-width:760px){
 .case-v13-hero{padding:42px 0 30px}.case-v13-heading{padding:65px 0 33px}.case-v13-heading h1{font-size:clamp(53px,12vw,85px)}
 .case-v13-story-grid,.case-v13-stack-row,.v13-tech-top{grid-template-columns:1fr;gap:25px}
 .case-v13-story,.case-v13-gallery{padding:78px 0}
 .case-v13-story-aside h2,.case-v13-stack h2,.case-v13-gallery h2{font-size:clamp(49px,9vw,80px)}
 .case-v13-gallery-grid,.case-v13-related{grid-template-columns:1fr}.case-v13-shot:nth-child(3n+1){grid-column:auto}
 .case-v13-gallery-grid{gap:36px}.case-v13-feature-frame{min-height:270px}.case-v13-feature{padding-bottom:60px}
 .case-v13-feature-caption{font-size:10px}.case-v13-shot figcaption{flex-direction:column;gap:8px}
 .v13-tech-top>p{justify-self:start}.v13-tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .v13-tech-card{min-height:125px;gap:10px}.v13-tech-card img{width:40px;height:40px}.v13-tech-card span{font-size:11px}
 .case-v13-feature-art{min-height:330px}.case-v13-related a{min-height:170px}
 .case-v13-next-top{align-items:flex-start}.case-v13-next h2{margin:30px 0 45px}
 .case-v13-live>.container,.v13-tech-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:385px){.v13-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-v13-heading h1{font-size:13vw}.case-v13-feature-art strong{font-size:15vw}}
@media(prefers-reduced-motion:reduce){.case-v13-shot img,.v13-tech-card img,.case-v13-related a,.project-v13-tech-chip{transition:none!important;transform:none!important}}
/* Real localized page layouts: complete curated service overview, not a cosmetic navigation translation */
.v13-local-main{background:#f7f7f3;color:#141a23}
.v13-local-main .container{max-width:1360px}
.v13-local-hero{padding:clamp(75px,9vw,155px) 0 clamp(75px,9vw,120px);background:#e7ecfa}
.v13-local-eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;line-height:1.5;text-transform:uppercase;color:#586df7}
.v13-local-hero h1{font-size:clamp(48px,6vw,106px);letter-spacing:-.075em;line-height:1.06;font-weight:620;max-width:1120px;overflow-wrap:break-word;margin:28px 0 36px}
.v13-local-hero h1 span{color:#6574f6}
.v13-local-hero p{max-width:830px;font-size:clamp(17px,1.65vw,22px);line-height:1.7;color:#3d495b}
.v13-local-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.v13-local-actions a,.v13-local-cta a{display:inline-flex;padding:17px 25px;background:#121a2a;color:white;text-decoration:none;border-radius:100px;font-size:14px;font-weight:700}
.v13-local-actions a:nth-child(2){background:transparent;color:#172033;border:1px solid #b4bdcd}
.v13-local-content{padding:clamp(75px,9vw,155px) 0;background:#fbfbfa}
.v13-local-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin:26px 0 64px}
.v13-local-intro h2,.v13-local-process h2,.v13-local-faq h2,.v13-local-work h2,.v13-local-form-area h2{font-size:clamp(45px,5.2vw,84px);letter-spacing:-.07em;line-height:1.05;font-weight:620;margin:0}
.v13-local-intro p{font-size:17px;line-height:1.7;color:#59626e;max-width:520px;margin:0}
.v13-local-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v13-local-cards article{padding:clamp(25px,2.8vw,47px);border:1px solid #dfe1e3;background:#f5f6f4;min-height:280px}
.v13-local-cards small{font-size:12px;color:#6478ee;letter-spacing:.16em;font-weight:700}
.v13-local-cards h3{font-size:clamp(25px,2.2vw,36px);letter-spacing:-.05em;line-height:1.1;margin:50px 0 19px}
.v13-local-cards p,.v13-local-steps p{font-size:15px;line-height:1.65;color:#616a77}
.v13-local-process{padding:clamp(70px,8vw,135px) 0;background:#171d2b;color:white}
.v13-local-process h2{margin:22px 0 65px}
.v13-local-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.v13-local-steps>div{border-top:1px solid #ffffff4b;padding-top:28px}
.v13-local-steps b{font-size:56px;font-weight:400;letter-spacing:-.07em;color:#a7b3ff}
.v13-local-steps h3{font-size:23px;letter-spacing:-.04em;margin:25px 0 13px}
.v13-local-steps p{color:#c9ced9}
.v13-local-faq{background:white;padding:clamp(70px,8vw,135px) 0}
.v13-local-faq>.container{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.v13-local-faq details{border-bottom:1px solid #dde0e4;padding:25px 0}
.v13-local-faq summary{cursor:pointer;font-size:20px;font-weight:650;line-height:1.35}
.v13-local-faq details p{font-size:16px;color:#576270;line-height:1.65;margin:14px 0}
.v13-local-form-area{background:#e9eefa;padding:clamp(70px,8vw,130px) 0}
.v13-local-form-area .container{max-width:960px}
.v13-local-form-area h2{margin-bottom:35px}
.v13-local-form{background:white;border-radius:16px;padding:clamp(20px,4vw,55px);box-shadow:0 20px 70px #18295110}
.v13-local-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.v13-local-fields label{font-size:14px;font-weight:650;display:grid;gap:10px;align-content:start}
.v13-local-fields input,.v13-local-fields textarea,.v13-local-fields select{font:inherit;color:#1d2838;padding:13px 16px;border:1px solid #c6ced8;border-radius:7px;background:#fafbfc;width:100%;max-width:100%}
.v13-local-fields label:last-child{grid-column:1/-1}
.v13-local-consent{display:flex;align-items:center;gap:10px;margin:23px 0;font-size:14px;color:#4b5666}
.v13-local-form button{border:0;border-radius:100px;background:#141c29;color:#fff;font:inherit;font-weight:700;cursor:pointer;padding:18px 25px}
.v13-local-cta{padding:clamp(80px,9vw,165px) 0;background:#536bf7;color:white}
.v13-local-cta h2{font-size:clamp(48px,6vw,108px);max-width:1000px;letter-spacing:-.075em;line-height:1.02;margin:0 0 30px}
.v13-local-cta p{font-size:18px;max-width:680px;line-height:1.6;color:#f3f5ff;margin-bottom:35px}
.v13-local-cta a{background:white;color:#171c2a}
.v13-local-work{padding:100px 0;background:#f1f2f7}
.v13-local-work h2{margin:20px 0 50px}
.v13-local-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v13-local-work-grid a{min-height:260px;background:#202941;color:white;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:28px}
.v13-local-work-grid a:nth-child(2){background:#354fc6}.v13-local-work-grid a:nth-child(3){background:#d9e2eb;color:#203045}
.v13-local-work-grid h3{font-size:35px;letter-spacing:-.07em;line-height:1.03}
.v13-local-work-grid small{font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.v13-list-local-title{font-size:clamp(55px,8vw,120px);letter-spacing:-.075em}
.v13-list-local-lead{font-size:18px;color:#545e6c;line-height:1.7;max-width:760px}
@media(max-width:780px){.v13-local-intro,.v13-local-faq>.container{grid-template-columns:1fr;gap:35px}.v13-local-cards,.v13-local-work-grid{grid-template-columns:1fr}.v13-local-steps{grid-template-columns:repeat(2,1fr)}.v13-local-fields{grid-template-columns:1fr}.v13-local-cards article{min-height:220px}.v13-local-cards h3{margin-top:22px}}
@media(max-width:460px){.v13-local-steps{grid-template-columns:1fr}.v13-local-hero h1{font-size:12.7vw}.v13-local-form{padding:18px}.v13-local-consent{align-items:start}}
/* Improved specialist-service technology gallery density */
.service-v11-tech{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px}
.service-v11-tech .tech-v11-item{min-height:142px;border-radius:10px}
.service-v11-tech .tech-v11-item img{width:44px;height:44px}
@media(max-width:760px){.service-v11-tech{grid-template-columns:repeat(2,minmax(0,1fr))!important}.service-v11-tech .tech-v11-item{min-height:125px}}

/* ===== portfolio-v9.css ===== */
/* AppsBrain V9: portfolio art direction. Scoped to prevent CMS/admin regressions. */
.work-v9-hero{background:#111723;color:#f7f8f5;position:relative;overflow:hidden;padding:clamp(120px,13vw,205px) 0 33px;isolation:isolate}
.work-v9-hero:before{content:"";position:absolute;width:min(75vw,940px);height:min(75vw,940px);right:-24%;top:-63%;background:radial-gradient(circle,#4268a8 0%,#253252 36%,transparent 68%);opacity:.47;pointer-events:none;z-index:-1}
.work-v9-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(285px,.65fr);align-items:end;gap:clamp(30px,6vw,110px);padding-bottom:clamp(110px,12vw,190px)}
.work-v9-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
.work-v9-dot{height:7px;width:7px;background:#b5c4ff;border-radius:50%;box-shadow:0 0 0 5px #b5c4ff22}
.work-v9-hero h1{font-size:clamp(72px,9.4vw,159px);font-weight:650;letter-spacing:-.088em;line-height:.92;margin:34px 0 0;max-width:1080px}
.work-v9-hero h1 em,.work-v9-section-head em,.work-v9-end h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}
.work-v9-hero h1 em{color:#b1bdfb}
.work-v9-lede{padding-bottom:9px}.work-v9-lede>span{font-size:11px;color:#b4bace;letter-spacing:.13em}.work-v9-lede p{font-size:clamp(16px,1.35vw,19px);line-height:1.78;margin:28px 0 38px;color:#c3cbd8;max-width:430px}.work-v9-lede a{border-bottom:1px solid #8a97ad;padding-bottom:12px;display:inline-flex;justify-content:space-between;gap:40px;text-decoration:none;color:#fff;font-size:14px;font-weight:600}.work-v9-lede a:hover{color:#b5c4ff}
.work-v9-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid #ffffff25;color:#d0d4df;letter-spacing:.14em;font-size:10px}.work-v9-bottom b{font-size:19px;margin-left:14px;font-weight:400}
.work-v9-gallery{background:#f2f3f0;color:#131a26;padding:clamp(76px,9vw,160px) 0 clamp(100px,11vw,200px)}
.work-v9-section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:58px}.work-v9-section-head h2{font-size:clamp(48px,6.5vw,110px);line-height:1;letter-spacing:-.078em;margin:21px 0 0;font-weight:600}.work-v9-section-head>p{color:#626b72;line-height:1.7;font-size:15px;max-width:330px;margin:0 0 7px}
.work-v9-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:35px;border-bottom:1px solid #d5d9d9;padding-bottom:22px}.work-filter{font:600 12px/1.3 inherit;font-family:inherit;font-size:12px;font-weight:650;background:transparent;border:1px solid #d2d6d9;border-radius:999px;padding:13px 21px;color:#334351;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.work-filter span{margin-left:12px;opacity:.65}.work-filter.is-active,.work-filter:hover{background:#162139;border-color:#162139;color:#fff}.work-filter:focus-visible{outline:3px solid #788adf;outline-offset:3px}
.work-v9-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,88px) clamp(17px,3vw,48px)}.work-v9-item{min-width:0;animation:workV9Enter .65s ease both}.work-v9-item[hidden]{display:none!important}.work-v9-item.work-v9-featured{grid-column:span 2}.work-v9-link{display:block;color:inherit;text-decoration:none}.work-v9-media{min-width:0;position:relative;aspect-ratio:1.22;overflow:hidden;background:#dadfe8;isolation:isolate;border-radius:3px;transition:border-radius .45s cubic-bezier(.2,.8,.3,1)}.work-v9-featured .work-v9-media{aspect-ratio:2.1}
.work-v9-img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.work-v9-link:hover .work-v9-img{transform:scale(1.045)}
.work-v9-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#070e2055,transparent 35%);pointer-events:none}
.work-v9-view{position:absolute;right:23px;bottom:23px;z-index:3;display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700;letter-spacing:.02em;border-radius:50px;background:#f8f8fa;color:#121927;padding:12px 13px 12px 19px;transform:translateY(74px);transition:transform .5s cubic-bezier(.2,.7,.2,1)}.work-v9-view b{font-size:18px;font-weight:500}.work-v9-link:hover .work-v9-view,.work-v9-link:focus-visible .work-v9-view{transform:translateY(0)}
.work-v9-item-info{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-top:19px;border-top:1px solid #c9cdd1;margin-top:22px}.work-v9-item-tag{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#687481;font-weight:750}.work-v9-item h3{font-size:clamp(25px,3.1vw,45px);line-height:1.08;letter-spacing:-.065em;margin:11px 0 12px;font-weight:650}.work-v9-item p{font-size:14px;line-height:1.75;color:#65707a;margin:0;max-width:540px}.work-v9-arrow{font-size:32px;line-height:1;transform:rotate(0);transition:transform .3s;color:#111927}.work-v9-link:hover .work-v9-arrow{transform:translate(4px,-4px)}
.work-v9-mock{height:100%;width:100%;overflow:hidden;position:relative;padding:clamp(15px,3vw,40px);display:flex;align-items:center;justify-content:center}
.work-v9-palette-1 .work-v9-mock{background:linear-gradient(145deg,#ded7f0,#bbb5e1 58%,#8d80b6)}.work-v9-palette-2 .work-v9-mock{background:linear-gradient(150deg,#c4deed,#729ac1 82%)}.work-v9-palette-3 .work-v9-mock{background:linear-gradient(145deg,#efdbcf,#cfa28e)}.work-v9-palette-4 .work-v9-mock{background:linear-gradient(145deg,#e3e9cf,#b6ca91)}.work-v9-palette-5 .work-v9-mock{background:linear-gradient(145deg,#1d365e,#101e39)}.work-v9-palette-6 .work-v9-mock{background:linear-gradient(145deg,#e1dacf,#b39c7f)}
.work-v9-ui-bar{position:absolute;top:8%;left:8%;right:8%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.16em;color:#101e32bd;z-index:2}.work-v9-ui-side{position:absolute;bottom:7%;left:7%;transform:rotate(-90deg);transform-origin:left center;font-size:9px;letter-spacing:.12em;opacity:.5}
.work-v9-ui-main{width:83%;height:69%;border-radius:8px;background:#fffef4;box-shadow:0 25px 85px #131d3c3f,0 1px 1px #fff7;transform:rotate(-5deg) translateY(16px);padding:clamp(15px,3.1vw,40px);position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.work-v9-link:hover .work-v9-ui-main{transform:rotate(-2deg) translateY(7px) scale(1.035)}
.work-v9-ui-main:after{content:"";position:absolute;left:49%;right:-23%;bottom:-24%;height:47%;border-radius:9px;background:#202a42;box-shadow:0 15px 40px #101a3833;transform:rotate(10deg);z-index:-1}.work-v9-ui-main small{font-size:9px;letter-spacing:.13em;color:#8892a3;font-weight:700}.work-v9-ui-main strong{font-size:clamp(27px,5vw,76px);line-height:1.06;max-width:85%;letter-spacing:-.085em;color:#192441;margin-top:clamp(24px,3.1vw,40px);overflow-wrap:anywhere}.work-v9-ui-display{display:flex;align-items:end;gap:9px;position:absolute;bottom:11%;left:10%;width:64%;height:19%;border-bottom:1px solid #d6dcdd}.work-v9-ui-display span{width:23%;background:#7b8bc6;border-radius:3px 3px 0 0;height:44%}.work-v9-ui-display span:nth-child(2){height:80%;background:#bbc8d5}.work-v9-ui-display span:nth-child(3){height:62%;background:#d6deec}
.work-v9-palette-3 .work-v9-ui-main{background:#342b2a}.work-v9-palette-3 .work-v9-ui-main strong{color:#ffe8cf}.work-v9-palette-3 .work-v9-ui-main small{color:#d2ada1}.work-v9-palette-4 .work-v9-ui-main{background:#f9fff1}.work-v9-palette-5 .work-v9-ui-main{background:#d5e1fa}.work-v9-palette-5 .work-v9-ui-bar{color:#e3eaf7}
.work-v9-featured .work-v9-ui-main{width:75%;height:78%;transform:rotate(-3deg) translateY(22px);max-width:1000px}.work-v9-featured .work-v9-ui-main strong{font-size:clamp(46px,6.5vw,115px)}.work-v9-featured .work-v9-link:hover .work-v9-ui-main{transform:rotate(-1deg) translateY(12px) scale(1.02)}
.work-v9-empty{padding:50px 0;font-size:16px}.work-v9-end{background:#182239;color:#fff;padding:clamp(100px,11vw,185px) 0;position:relative;overflow:hidden}.work-v9-end:after{content:"↗";position:absolute;right:-3%;bottom:-45%;font-size:clamp(250px,44vw,780px);line-height:1;font-weight:100;color:#ffffff0b;pointer-events:none}.work-v9-end h2{font-size:clamp(53px,7.5vw,122px);line-height:1.04;letter-spacing:-.078em;font-weight:600;margin:32px 0 47px;position:relative;z-index:1}.work-v9-end h2 em{color:#bdcafa}.work-v9-end-link{background:#f9faf6;padding:18px 25px;display:inline-flex;align-items:center;gap:70px;border-radius:100px;text-decoration:none;color:#161d2a;font-size:13px;font-weight:800;position:relative;z-index:1}.work-v9-end-link:hover{background:#cdd8ff}
@keyframes workV9Enter{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:850px){.work-v9-hero-grid{grid-template-columns:1fr;padding-bottom:70px}.work-v9-lede{max-width:650px}.work-v9-hero h1{font-size:clamp(66px,11vw,113px)}.work-v9-section-head{align-items:start;flex-direction:column;gap:10px}.work-v9-section-head>p{max-width:600px}.work-v9-item h3{font-size:28px}.work-v9-ui-main strong{font-size:clamp(27px,4vw,60px)}}
@media(max-width:650px){.work-v9-hero{padding-top:135px}.work-v9-hero h1{font-size:clamp(58px,13vw,88px)}.work-v9-bottom span:first-child{display:none}.work-v9-grid{grid-template-columns:1fr;gap:50px}.work-v9-item.work-v9-featured{grid-column:span 1}.work-v9-media,.work-v9-featured .work-v9-media{aspect-ratio:1.12}.work-v9-featured .work-v9-ui-main{width:84%;height:67%}.work-v9-featured .work-v9-ui-main strong{font-size:clamp(34px,7vw,52px)}.work-v9-ui-main{width:84%}.work-v9-view{transform:none;right:10px;bottom:10px;padding:9px 12px;font-size:11px}.work-v9-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.work-filter{flex:0 0 auto}.work-v9-gallery{padding:75px 0 100px}.work-v9-hero-grid{gap:25px}.work-v9-end h2{font-size:clamp(42px,12vw,70px)}.work-v9-item h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.work-v9-item{animation:none}.work-v9-ui-main,.work-v9-img,.work-v9-view,.work-v9-arrow,.work-filter{transition:none!important}}

/* ===== v14.css ===== */
/* AppsBrain V14: intentional forms, coherent spacing and restrained interactions. */
.dedicated-enquiry{background:#e8edf7;padding:clamp(74px,9vw,144px) 0}
.dedicated-enquiry-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);gap:clamp(36px,6vw,110px);align-items:start}
.dedicated-enquiry-grid>div:first-child{position:sticky;top:120px}
.dedicated-enquiry-grid>div:first-child h2{max-width:590px;font-size:clamp(44px,5.2vw,84px);letter-spacing:-.078em;line-height:1.035;margin:38px 0 35px;text-wrap:balance}
.dedicated-enquiry-grid>div:first-child p{max-width:480px;font-size:clamp(16px,1.35vw,19px);line-height:1.75;color:#3e4860;margin:0 0 28px}
.dedicated-enquiry-grid>div:first-child a{display:inline-block;font-weight:650;border-bottom:1px solid currentColor;padding-bottom:6px;text-decoration:none}
.dedicated-enquiry .brief-form-v14{padding:clamp(27px,3.4vw,57px);border-radius:22px;background:#fff;box-shadow:0 26px 70px rgba(28,42,72,.07);border:1px solid rgba(31,45,78,.08);min-width:0;max-width:100%}
.brief-form-head{padding-bottom:28px;border-bottom:1px solid #e5e8ef;margin:0 0 28px}
.brief-form-eyebrow{font-size:11px;letter-spacing:.16em;color:#5467cb;font-weight:800}
.brief-form-head h3{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.055em;line-height:1.16;margin:10px 0 12px;font-weight:750}
.brief-form-head p{font-size:14px;line-height:1.7;color:#616b7c;margin:0;max-width:460px}
.brief-fields-v14{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:22px;align-items:start}
.brief-fields-v14>.brief-wide{grid-column:1/-1}
.dedicated-enquiry .brief-form-v14 .brief-field{display:flex;flex-direction:column;gap:9px;min-width:0;margin:0;color:#182239;font-size:13px;font-weight:700;letter-spacing:0;line-height:1.45}
.brief-field>span{color:#4b5fba}
.dedicated-enquiry .brief-form-v14 .brief-field :is(input,select,textarea){display:block;width:100%;min-width:0;max-width:100%;height:52px;margin:0;box-sizing:border-box;padding:13px 16px;border:1px solid #d6dbe6;border-radius:10px;background:#f8f9fc;color:#162135;font:500 15px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif;appearance:auto;transition:border-color .16s,background .16s,box-shadow .16s}
.dedicated-enquiry .brief-form-v14 .brief-field textarea{height:auto;min-height:148px;resize:vertical}
.dedicated-enquiry .brief-form-v14 .brief-field select{padding-right:30px}
.dedicated-enquiry .brief-form-v14 .brief-field :is(input,textarea)::placeholder{color:#758095;opacity:1}
.dedicated-enquiry .brief-form-v14 .brief-field :is(input,select,textarea):hover{border-color:#98a5c2}
.dedicated-enquiry .brief-form-v14 .brief-field :is(input,select,textarea):focus-visible{border-color:#4864eb;outline:3px solid rgba(78,99,233,.17);outline-offset:1px;background:#fff}
.dedicated-enquiry .brief-form-v14 .brief-field small{font-size:12px;color:#6d788a;font-weight:450;line-height:1.55}
.dedicated-enquiry .brief-form-v14 .brief-consent-v14{display:flex;align-items:flex-start;gap:11px;font-weight:500;font-size:13px;line-height:1.6;color:#39465b;margin:27px 0 22px;max-width:100%}
.dedicated-enquiry .brief-form-v14 .brief-consent-v14 input{appearance:auto!important;width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;padding:0!important;margin:2px 0 0!important;accent-color:#5168e8;border-radius:3px;flex:0 0 17px}
.dedicated-enquiry .brief-form-v14 .brief-consent-v14 a{text-decoration:underline;text-underline-offset:3px;color:#293fab}
.brief-form-footer{display:flex;align-items:center;gap:17px;flex-wrap:wrap;padding-top:6px}
.dedicated-enquiry .brief-form-v14 .brief-form-footer button{min-height:54px;border-radius:999px;padding:16px 23px;display:inline-flex;justify-content:center;align-items:center;gap:24px;font-size:14px;font-weight:740;cursor:pointer}
.dedicated-enquiry .brief-form-v14 .brief-form-footer button:disabled{opacity:.65;cursor:wait}
.brief-form-footer p{font-size:12px;line-height:1.5;color:#778091;max-width:230px;margin:0}
.dedicated-enquiry .brief-form-v14 .form-status.appsbrain-form-status{font-size:14px;margin-top:20px}
.dedicated-enquiry .brief-form-v14 .appsbrain-field-error{font-weight:600}
/* Unified FAQ controls: render one primary question group per individual service. */
.v10-service-faq details,.service-v11-faq details{scroll-margin-top:110px}
.v10-service-faq summary,.service-v11-faq summary{outline-offset:5px}
.v10-service-faq summary:focus-visible,.service-v11-faq summary:focus-visible{outline:2px solid #4d63e9}
/* Stack artwork should support, rather than overwhelm, the content. */
.v10-tech-tile img,.v13-tech-card img,.service-v11-tech img{max-width:58px;max-height:58px;object-fit:contain}
.v10-tech-tile,.v13-tech-card{min-width:0}
@media(max-width:1050px){.dedicated-enquiry-grid{gap:35px;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)}.dedicated-enquiry .brief-form-v14{padding:27px}}
@media(max-width:820px){.dedicated-enquiry-grid{grid-template-columns:1fr}.dedicated-enquiry-grid>div:first-child{position:static}.dedicated-enquiry-grid>div:first-child h2{max-width:680px;margin:20px 0 22px}.dedicated-enquiry .brief-form-v14{max-width:720px}}
@media(max-width:550px){.dedicated-enquiry{padding:68px 0}.dedicated-enquiry .brief-form-v14{padding:23px;border-radius:16px}.brief-form-head{margin-bottom:23px;padding-bottom:22px}.brief-fields-v14{grid-template-columns:1fr;row-gap:20px}.brief-form-footer{align-items:stretch;flex-direction:column}.brief-form-footer button{width:100%}.brief-form-footer p{max-width:none}.dedicated-enquiry-grid>div:first-child h2{font-size:clamp(40px,11vw,61px)}}
@media(prefers-reduced-motion:reduce){.dedicated-enquiry .brief-form-v14 :is(input,textarea,select){transition:none!important}}

/* ===== v15-editorial.css ===== */
/* AppsBrain Editorial Library & Lead Management */
.cms-post-card .cms-tile-visual{overflow:hidden;background:#d9e3fc}
.cms-post-card .cms-tile-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.cms-post-card:hover .cms-tile-visual img{transform:scale(1.035)}
.journal-art{overflow:hidden}.journal-art .journal-cover{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.journal-card:hover .journal-cover{transform:scale(1.04)}
.cms-article-byline{font-size:.875rem;letter-spacing:.015em;opacity:.7;margin-top:1.3rem}
.cms-cover img{max-height:680px;width:100%;object-fit:cover;border-radius:14px}
@media(prefers-reduced-motion:reduce){.cms-post-card .cms-tile-visual img,.journal-cover{transition:none!important}}
/* Preserve the supplied editorial artwork's intended colors (project images retain their own treatment). */
.cms-post-card .cms-tile-visual img{filter:none}
.cms-prose a{color:#3d58e0;text-underline-offset:3px;text-decoration-thickness:1px}
.cms-prose a:focus-visible{outline:3px solid #657bff;outline-offset:3px}
@media(max-width:780px){.cms-post-card .cms-tile-visual{aspect-ratio:1.6;min-height:210px}}

/* ===== v12.css ===== */
/* V12 compact services menu — grounded inside header and scrollable independently */
.site-header{z-index:250;isolation:isolate}
.mega{left:50%!important;right:auto!important;width:min(1150px,calc(100vw - 44px));max-width:1150px;top:calc(100% - 1px);max-height:min(74vh,680px);overflow:auto;overscroll-behavior:contain;background:#fffefb;box-shadow:0 32px 90px rgba(10,19,35,.16);border:1px solid #d9dce0;border-radius:0 0 18px 18px;transform:translate(-50%,-8px);padding:0!important}
.mega.open{animation:appsbrainMenuEnter .2s ease-out forwards}
@keyframes appsbrainMenuEnter{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.mega-v12-head{display:flex;align-items:center;justify-content:space-between;padding:23px clamp(20px,3vw,40px) 17px;border-bottom:1px solid #e6e6e5;gap:16px;font-size:10px;font-weight:750;letter-spacing:.14em}
.mega-v12-head a{letter-spacing:normal;font-size:13px;color:#304dc4;text-decoration:underline;text-underline-offset:5px}
.mega-v12-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);padding:24px clamp(20px,3vw,40px)}
.mega-v12-group{min-width:0}.mega-v12-group h3{margin:0 0 18px;font-size:12px;color:#686d74;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mega-v12-group a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;border-bottom:1px solid #e8e8e5;color:#101827;font-size:14px;font-weight:650;letter-spacing:-.015em;text-decoration:none;transition:color .18s,padding-left .18s}
.mega-v12-group a:hover,.mega-v12-group a:focus-visible{color:#3158ef;padding-left:6px}.mega-v12-group a span{font-size:17px;opacity:.65}
.mega-v12-callout{display:flex;gap:18px;align-items:center;padding:21px clamp(20px,3vw,40px);background:#111d34;color:white;text-decoration:none;flex-wrap:wrap}
.mega-v12-callout span:first-child{font-size:10px;letter-spacing:.13em;opacity:.72}.mega-v12-callout strong{font-size:clamp(16px,2vw,23px);font-weight:700;letter-spacing:-.04em}.mega-v12-callout span:last-child{margin-left:auto;color:#a0b7ff;font-size:22px}
@media(max-width:760px){.mega{display:none!important}}
@media(max-width:950px){.mega-v12-columns{gap:14px;padding-inline:18px}.mega-v12-group a{font-size:12px}}
/* Content depth: editorial rhythm, not endless identical cards */
.depth-section{background:#f8f8f5;padding:clamp(72px,9vw,140px) 0;border-top:1px solid #e7e7e3}
.depth-head{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:clamp(32px,8vw,130px);align-items:start;margin-bottom:48px}
.depth-eyebrow{font-size:10px;color:#4259bc;letter-spacing:.17em;font-weight:800}
.depth-head h2{font-size:clamp(34px,5.1vw,70px);line-height:1.06;letter-spacing:-.065em;margin:18px 0 0;max-width:750px}
.depth-head p{font-size:clamp(15px,1.5vw,19px);line-height:1.75;color:#495462;max-width:650px;margin:18px 0 0}
.depth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.depth-item{background:white;border:1px solid #e2e4e6;padding:clamp(22px,2.5vw,35px);min-width:0;transition:transform .35s ease,border-color .35s ease}
.depth-item:hover{transform:translateY(-4px);border-color:#8d9cce}
.depth-item span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#4258a2}.depth-item h3{font-size:clamp(20px,2.1vw,26px);line-height:1.16;letter-spacing:-.045em;margin:20px 0 13px}
.depth-item p{font-size:14px;line-height:1.75;color:#5b626b;margin:0}
.depth-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d8d9d9;padding-top:30px;margin-top:30px}
.depth-bottom p{margin:0;max-width:650px;color:#535d67;font-size:14px;line-height:1.65}.depth-bottom a{white-space:nowrap;display:inline-flex;align-items:center;gap:20px;background:#121926;border-radius:40px;padding:15px 22px;color:white;text-decoration:none;font-weight:750;font-size:13px}
.depth-section:nth-of-type(even){background:#f0f0eb}
@media(max-width:760px){.depth-head{grid-template-columns:1fr;gap:12px}.depth-grid{grid-template-columns:1fr}.depth-bottom{align-items:flex-start;flex-direction:column}.depth-bottom a{white-space:normal}.depth-section{padding:70px 0}}
/* Form reassurance without misleading preview disclaimers */
.form-note:empty{display:none}

.locale-focus{background:#e8ecf7;color:#141b32;padding:clamp(45px,6vw,85px) 0;border-bottom:1px solid #cbd3e8}
.locale-focus-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,6vw,90px)}
.locale-focus h2{font-size:clamp(28px,4vw,54px);letter-spacing:-.06em;line-height:1.12;margin:15px 0}
.locale-focus p{font-size:clamp(14px,1.4vw,18px);line-height:1.65;margin:0 0 14px}
.locale-focus a{font-weight:750;display:inline-block;margin:6px 0 17px;text-underline-offset:5px}
.locale-focus small{display:block;max-width:610px;color:#5d6474;line-height:1.5}
@media(max-width:760px){.locale-focus-inner{grid-template-columns:1fr}}
.depth-editorial{max-width:860px;margin:42px auto 0;padding:32px;border:1px solid #ddd;background:white}
/* Decorative scenes and the ticker must never widen the document on narrow devices. */
html,body{overflow-x:clip}
.stage-glow,.stage-sphere,.marquee-track{max-inline-size:none}

/* ===== v18.css ===== */
/* AppsBrain V18 — Journal navigation, stable CTA icons, responsive polish */
.ab18-arrow-icon{width:1.15em;height:1.15em;display:inline-block;flex:none;vertical-align:middle;fill:none;stroke:currentColor!important;overflow:visible}
.pill-btn .circle .ab18-arrow-icon{width:50%;height:50%}
.growth-floating-cta .ab18-arrow-icon{height:20px;width:20px}
.ab18-blog-hero{background:#f5f5f2;border-bottom:1px solid #d9d9d5;padding:clamp(75px,9vw,150px) 0 75px;color:#151924}
.ab18-journal-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:clamp(35px,7vw,82px)}
.ab18-eyebrow,.ab18-edition{font-size:11px;font-weight:800;letter-spacing:.17em;line-height:1.5;text-transform:uppercase;color:#505e75}.ab18-dot{display:inline-block;width:7px;height:7px;background:#566bfb;border-radius:50%;margin-right:9px}
.ab18-journal-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:clamp(30px,7vw,100px);align-items:end}
.ab18-journal-intro h1{font-size:clamp(56px,8vw,136px);font-weight:700;line-height:.98;letter-spacing:-.082em;margin:0;max-width:1050px}
.ab18-journal-intro h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.05em;color:#556af5}
.ab18-journal-intro p{font-size:clamp(17px,1.6vw,21px);line-height:1.65;max-width:430px;color:#525967;margin:0 0 6px}
.ab18-blog-stats{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d2d4d1;margin-top:75px;padding-top:23px;font-size:14px;color:#586174}
.ab18-blog-stats strong{color:#171924;font-size:21px}.ab18-blog-stats a{font-size:13px;font-weight:750;color:#151924;text-decoration:none;border-bottom:1px solid #161920;padding-bottom:5px}
.ab18-archive{background:#f5f5f2;padding:clamp(70px,9vw,125px) 0 130px;color:#151924}
.ab18-archive-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}
.ab18-archive-heading h2{font-size:clamp(40px,5vw,65px);font-weight:720;line-height:1.04;letter-spacing:-.07em;margin:16px 0 0}
.ab18-archive-heading p{color:#606878;font-size:15px;line-height:1.65;max-width:370px;margin:0}
.ab18-categories{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 33px}
.ab18-categories a{display:inline-flex;align-items:center;gap:10px;max-width:100%;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;color:#242b3b;border:1px solid #cbd0d5;padding:13px 16px;border-radius:80px;transition:background .2s,border-color .2s,color .2s}
.ab18-categories a:hover,.ab18-categories a:focus-visible{border-color:#596df9;background:#e9eafa}.ab18-categories a[aria-current="page"]{background:#172138;color:#fff;border-color:#172138}
.ab18-categories a span{font-size:10px;opacity:.7}
.ab18-search-form{background:#fff;border:1px solid #dde0e4;border-radius:14px;padding:20px;display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,.8fr) auto;gap:13px;align-items:end;box-shadow:0 12px 35px #141c3010}
.ab18-search-form label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:11px;color:#3b485c}
.ab18-search-form input,.ab18-search-form select{display:block;width:100%;max-width:100%;background:#f6f7f7;color:#151924;border:1px solid #d9dde2;border-radius:7px;font-size:15px;padding:14px 16px;min-height:52px}
.ab18-search-form :is(input,select,button):focus-visible{outline:3px solid #8996ff;outline-offset:2px}
.ab18-search-form button,.ab18-newsletter-bridge>a{background:#121825;color:#fff;border:0;border-radius:7px;min-height:52px;padding:15px 24px;font-weight:750;font-size:13px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none}
.ab18-search-form button:hover,.ab18-newsletter-bridge>a:hover{background:#5464d8}.ab18-search-form svg,.ab18-newsletter-bridge svg{width:19px;height:19px}
.ab18-result-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:42px 0 26px;padding-bottom:18px;border-bottom:1px solid #d6d8d7;color:#576173;font-size:13px}
.ab18-result-row p{margin:0}.ab18-result-row a{color:#111927;font-weight:800;text-decoration:none}
.ab18-archive .cms-grid{gap:clamp(38px,4.7vw,74px) clamp(18px,3vw,42px)}
.ab18-archive .cms-post-card{position:relative}
.ab18-archive .cms-post-card .cms-tile-visual{aspect-ratio:1.62;min-height:0;border-radius:7px;padding:0;background:#171c2c}
.ab18-archive .cms-post-card .cms-tile-visual img{object-fit:contain;object-position:center;background:#0d1524;filter:none;transition:transform .45s ease}
.ab18-archive .cms-post-card:hover .cms-tile-visual img{transform:scale(1.025)}
.ab18-archive .cms-tile-meta{font-size:11px;color:#5a6474;font-weight:650;margin-top:17px;margin-bottom:11px}
.ab18-archive .cms-post-card h3{font-size:clamp(22px,2vw,31px);line-height:1.17;letter-spacing:-.045em;max-width:620px;margin-bottom:10px}
.ab18-archive .cms-post-card p{font-size:14px;line-height:1.66;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ab18-archive .cms-post-card:hover h3{text-decoration:underline;text-decoration-color:#7c8bee;text-underline-offset:4px}
.ab18-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:75px 0 0;flex-wrap:wrap}
.ab18-pagination a{min-width:47px;min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 13px;border:1px solid #ced3d7;border-radius:7px;text-decoration:none;color:#151e2d;font-weight:750;font-size:13px}
.ab18-pagination a[aria-current="page"]{background:#172238;border-color:#172238;color:#fff}.ab18-pagination a:hover{border-color:#5264e3}
.ab18-pagination .ab18-page-direction{padding:11px 20px}
.ab18-empty{text-align:center;padding:65px 24px;background:#fff;border:1px solid #dce0e5;border-radius:14px}.ab18-empty h3{font-size:28px;letter-spacing:-.04em}.ab18-empty p{color:#626a78}.ab18-empty a{color:#4255bd;font-weight:700}
.ab18-newsletter-bridge{margin:100px 0 0;padding:clamp(30px,5vw,65px);background:#e6e8f4;border-radius:16px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.ab18-newsletter-bridge h2{font-size:clamp(29px,4vw,52px);letter-spacing:-.065em;line-height:1.06;max-width:690px;margin:15px 0}.ab18-newsletter-bridge p{font-size:15px;line-height:1.6;color:#555c70;max-width:520px}
@media(max-width:950px){.ab18-journal-intro{grid-template-columns:1fr}.ab18-journal-intro p{max-width:610px}.ab18-search-form{grid-template-columns:minmax(0,1fr) minmax(140px,.65fr)}.ab18-search-form button{grid-column:1/-1}}
@media(max-width:660px){.ab18-blog-hero{padding:72px 0 40px}.ab18-journal-topline{align-items:start;margin-bottom:37px}.ab18-edition{display:none}.ab18-journal-intro h1{font-size:clamp(48px,12vw,75px)}.ab18-blog-stats{margin-top:45px;align-items:flex-start;flex-direction:column}.ab18-archive{padding-top:60px;padding-bottom:75px}.ab18-archive-heading{display:block}.ab18-archive-heading p{margin-top:20px}.ab18-categories{flex-wrap:nowrap;overflow-x:auto;padding:3px 0 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.ab18-categories a{flex-shrink:0}.ab18-search-form{grid-template-columns:1fr;padding:15px}.ab18-search-form button{grid-column:auto}.ab18-result-row{margin-top:32px}.ab18-archive .cms-grid{grid-template-columns:1fr;gap:45px}.ab18-archive .cms-post-card .cms-tile-visual{aspect-ratio:1.65}.ab18-pagination{margin-top:50px}.ab18-pagination a{min-width:40px;min-height:43px}.ab18-newsletter-bridge{margin-top:75px;display:block;padding:30px 25px}.ab18-newsletter-bridge a{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.ab18-archive .cms-tile-visual,.ab18-archive .cms-tile-visual img,.ab18-categories a{transition:none!important}}
.site-header .nav a[aria-current="page"]{color:#5267ed;text-decoration:underline;text-decoration-color:#5267ed;text-underline-offset:8px}

/* ===== v21.css ===== */
.ab21-booking{max-width:1240px;margin:3rem auto;padding:clamp(24px,5vw,68px);border-radius:22px;display:flex;gap:2rem;justify-content:space-between;align-items:center;background:#161924;color:#f7f7fa}
.ab21-booking>div{max-width:680px}.ab21-booking span{font-size:.68rem;letter-spacing:.16em;color:#adb4dc;font-weight:700}.ab21-booking h2{font-size:clamp(1.6rem,3.3vw,3rem);margin:.65rem 0}.ab21-booking p{color:#d0d2de;line-height:1.6;margin:0}.ab21-booking-link{flex-shrink:0;display:inline-flex;align-items:center;gap:12px;background:#f5f5f7;color:#141520;padding:16px 20px;border-radius:100px;font-weight:700;text-decoration:none;min-height:50px}.ab21-booking-link svg{width:19px;height:19px}.ab21-booking-link:hover,.ab21-booking-link:focus-visible{background:#c5c6ff;color:#161924;outline-offset:4px}
.ab21-work .work-v9-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(15px,2.3vw,30px);align-items:stretch}.ab21-work .work-v9-item{grid-column:auto!important;grid-row:auto!important;width:auto!important;min-width:0}.ab21-work .work-v9-media{aspect-ratio:1.42;overflow:hidden}.ab21-work .work-v9-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}.ab21-work .work-v9-item:hover .work-v9-media img{transform:scale(1.035)}.ab21-work .work-v9-filters{display:flex;flex-wrap:wrap;gap:8px;margin-block:1.6rem}.ab21-work .work-filter{display:inline-flex;align-items:center;gap:9px;border:1px solid #d9d9db;border-radius:999px;padding:10px 15px;text-decoration:none;min-height:40px}.ab21-work .work-filter.is-active{background:#181b27;color:#fff;border-color:#181b27}.ab21-work-search{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 1rem}.ab21-work-search label{font-size:.8rem;font-weight:700}.ab21-work-search input{min-width:180px;flex:1;max-width:480px;min-height:44px;padding:9px 14px;border:1px solid #cdd1dc;border-radius:8px;font:inherit}.ab21-work-search button{min-height:44px;padding:9px 19px;background:#171a25;color:#fff;border:0;border-radius:8px;cursor:pointer;font:inherit}.ab21-work-count{font-size:.85rem;margin-block:14px 25px;color:#505567}.ab21-pages{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;margin:2.5rem auto 1rem}.ab21-pages a{min-width:43px;min-height:43px;border:1px solid #c8cad1;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:9px 11px;color:#202431;background:#fff}.ab21-pages a.is-active,.ab21-pages a:hover,.ab21-pages a:focus-visible{background:#171b26;border-color:#171b26;color:#fff}.ab21-pages .ab21-page-step{padding-inline:15px}.ab21-empty{padding:40px 10px}.case-v13-feature-frame>img{width:100%;height:auto;max-height:700px;object-fit:contain;background:#f7f7f8}
@media(max-width:700px){.ab21-booking{margin:1.2rem;padding:26px;flex-direction:column;align-items:stretch}.ab21-booking-link{justify-content:center}.ab21-work .work-v9-grid{grid-template-columns:1fr}.ab21-work-search label{width:100%}.ab21-work-search button{flex:0 0 auto}}@media(max-width:360px){.ab21-pages{gap:4px}.ab21-pages a{min-width:35px;min-height:39px;padding:7px}.ab21-pages .ab21-page-step{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.ab21-work .work-v9-media img{transition:none}.ab21-work .work-v9-item:hover .work-v9-media img{transform:none}}

.ab21-nav-book{padding:10px 15px;color:#242737;white-space:nowrap;border:1px solid #d0d3de;border-radius:999px;text-decoration:none;font-size:.78rem;font-weight:700;transition:background .15s}.ab21-nav-book:hover,.ab21-nav-book:focus-visible{background:#e9eafd}.ab21-work .work-v9-grid .work-v9-item:only-child{max-width:650px}
@media(max-width:1050px){.ab21-nav-book{display:none}}
.ab21-work .work-v9-media>.work-v9-img{position:absolute;inset:0;z-index:1;display:block;opacity:1}
.ab21-work .work-v9-media:after{display:none}

/* ===== studio-reveal-v34.css ===== */
/* V35: short first-visit brand flourish; no full-screen curtain or artificial loading wait. */
#ab-studio-intro{position:fixed;inset:0;z-index:2147483000;background:#f5f5f2;color:#12141b;display:grid;place-items:center;overflow:hidden;pointer-events:none;isolation:isolate;font-family:Manrope,Arial,sans-serif;opacity:1;transition:opacity .2s ease}#ab-studio-intro.ab-out{opacity:0}#ab-studio-intro .ab-inner{width:min(360px,calc(100% - 52px));display:flex;flex-direction:column;align-items:center}#ab-studio-intro .ab-kicker{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#80838e;font-weight:700;margin-bottom:17px}#ab-studio-intro .ab-word{display:flex;align-items:baseline;font-size:clamp(44px,8vw,67px);font-weight:800;letter-spacing:-.075em;line-height:1.1}#ab-studio-intro .ab-word span:nth-child(2){color:#5966f2}#ab-studio-intro .ab-tag{font:italic 19px Georgia,serif;color:#626675;margin-top:8px}#ab-studio-intro .ab-progress{width:100%;margin-top:32px}#ab-studio-intro .ab-progress-label{display:flex;justify-content:space-between;gap:12px;color:#777b87;font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:10px}#ab-studio-intro .ab-progress-track{height:2px;background:#dedfe5;overflow:hidden}#ab-studio-intro .ab-progress-bar{height:100%;width:100%;background:#5966f2;transform:scaleX(0);transform-origin:left;transition:transform .34s ease}#ab-studio-intro.ab-ready .ab-progress-bar{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){#ab-studio-intro{display:none!important}}
/* Blog CTA contrast and keyboard/touch states retained from V33 */
.cms-prose .cms-post-cta .pill-btn{color:#fff!important;background:#12141c!important;border-color:#12141c!important}.cms-prose .cms-post-cta .pill-btn:hover{color:#fff!important;background:#5966f2!important;border-color:#5966f2!important}.cms-prose .cms-post-cta .pill-btn:active{transform:translateY(0);background:#3f4ccf!important;color:#fff!important}.cms-prose .cms-post-cta .pill-btn:focus-visible{outline:3px solid #5966f2;outline-offset:3px}

/* ===== premium-nav.css ===== */
#abnav-shell{position:relative;z-index:9999}#abnav-shell *{box-sizing:border-box}.abnav-header{position:fixed;z-index:10002;left:50%;top:15px;transform:translateX(-50%);width:calc(100% - 48px);max-width:1390px;min-height:75px;padding:10px 15px 10px 26px;background:#fafaf8f5;backdrop-filter:blur(16px);border:1px solid #e3e4e6;border-radius:19px;display:flex;align-items:center;gap:25px;justify-content:space-between;box-shadow:0 14px 40px #10142010}.abnav-brand{color:#10131c!important;font-size:clamp(23px,2vw,29px);font-weight:850;letter-spacing:-.08em;white-space:nowrap;text-decoration:none!important;line-height:1}.abnav-brand span{color:#6065ee}.abnav-desktop{display:flex;align-items:center;gap:clamp(12px,1.9vw,30px)}.abnav-desktop>a,.abnav-desktop>button{background:none;color:#242732!important;border:0;text-decoration:none;font-size:13px;font-weight:720;cursor:pointer;padding:12px 0;white-space:nowrap;font-family:inherit}.abnav-desktop>a:hover,.abnav-desktop>button:hover{color:#565ed2!important}.abnav-right{display:flex;align-items:center;gap:10px}.abnav-book{background:#12151e;color:white!important;display:inline-flex;align-items:center;gap:14px;text-decoration:none;padding:12px 14px 12px 18px;border-radius:100px;font-size:12px;font-weight:720;white-space:nowrap}.abnav-book svg{width:16px;height:16px;color:#c4c5ff}.abnav-open{border:1px solid #dce0e6;background:#fff;display:none;width:48px;height:48px;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.abnav-open span{display:block;width:23px;height:2px;border-radius:5px;background:#181923}.abnav-mega{position:fixed;top:100px;left:50%;transform:translateX(-50%);z-index:10001;width:min(1120px,calc(100% - 62px));background:#fbfbf8;border:1px solid #dfe1e8;border-radius:23px;box-shadow:0 35px 70px #10152829;max-height:calc(100dvh - 120px);overflow:auto;padding:32px 35px;color:#151823}.abnav-mega[hidden],.abnav-scrim[hidden]{display:none!important}.abnav-mega-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dadddf;padding-bottom:23px}.abnav-eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#67708c}.abnav-mega-heading>a,.abnav-mega-end>a{color:#20254a;text-decoration:none;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:750}.abnav-mega svg{height:15px;width:15px}.abnav-mega-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;padding:30px 0}.abnav-mega-cols section{display:flex;flex-direction:column;gap:7px}.abnav-mega-cols section>.abnav-eyebrow{margin-bottom:17px}.abnav-mega-cols a{color:#181b28;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:700;border-bottom:1px solid #e7e7e9;padding:11px 0;letter-spacing:-.02em}.abnav-mega-cols a:hover{color:#595fe0}.abnav-mega-end{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:12px;padding:19px;background:#eeeefa}.abnav-mega-end span{font-size:10px;letter-spacing:.1em;font-weight:700}.abnav-scrim{position:fixed;z-index:20000;inset:0;background:#10152380;backdrop-filter:blur(3px)}.abnav-drawer{position:fixed;z-index:20001;inset:0 0 0 auto;width:min(470px,100%);background:#fafaf8;color:#121620;display:flex;flex-direction:column;box-shadow:-14px 0 30px #0b11201a;transition:transform .28s ease,visibility .28s;transform:translateX(105%);visibility:hidden;pointer-events:none}.abnav-drawer[aria-hidden="false"]{transform:translateX(0);visibility:visible;pointer-events:auto}.abnav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px 22px 20px;border-bottom:1px solid #e3e4e9;gap:15px}.abnav-drawer-head .abnav-brand{font-size:30px}.abnav-drawer-head>button{font-size:36px;font-weight:300;border:1px solid #dadce5;background:#fff;border-radius:15px;height:55px;width:55px;cursor:pointer;line-height:1;color:#101723}.abnav-mobile-links{padding:33px 24px 50px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:block}.abnav-mobile-links>a,.abnav-mobile-disclosure{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:24px 0;border:0;border-bottom:1px solid #dedfe2;background:transparent!important;color:#10131b!important;text-decoration:none;font-size:clamp(29px,6vw,38px);line-height:1.15;font-weight:760;letter-spacing:-.055em;cursor:pointer;font-family:inherit}.abnav-mobile-links svg{width:25px;height:25px;flex-shrink:0}.abnav-mobile-disclosure>span{font-size:30px;font-weight:350;color:#35364b}.abnav-mobile-services{padding:10px 0 18px 18px;border-bottom:1px solid #dcdee4}.abnav-mobile-services[hidden]{display:none!important}.abnav-mobile-services>a{display:block;font-size:17px;font-weight:650;text-decoration:none;color:#353c50!important;padding:13px 0}.abnav-drawer-footer{border-top:1px solid #e4e4eb;background:#fafaf8;padding:19px 22px max(22px,env(safe-area-inset-bottom))}.abnav-drawer-footer a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#12141c;color:white!important;text-decoration:none;border-radius:18px;padding:16px 20px;font-weight:700;font-size:15px}.abnav-drawer-footer svg{background:#bebefc;border-radius:10px;color:#12141c;padding:10px;width:45px;height:45px}.abnav-menu-open{overflow:hidden!important;overscroll-behavior:none}.abnav-menu-open #abnav-shell>.abnav-header{z-index:10002}.abnav-drawer:focus-within{outline:none}body:has(.abnav-header)>.site-header{display:none!important}body:has(.abnav-header)>.mobile-panel{display:none!important}.site-header:has(~#abnav-shell){display:none!important}@media(max-width:1020px){.abnav-desktop{gap:12px}.abnav-header{width:calc(100% - 24px)}.abnav-open{display:flex}.abnav-desktop{display:none}}@media(max-width:550px){.abnav-header{top:8px;min-height:65px;padding:8px 10px 8px 17px;border-radius:16px}.abnav-book{display:none}.abnav-drawer{width:100%}.abnav-open{height:44px;width:44px}.abnav-mobile-links{padding:20px 23px 25px}.abnav-mobile-links>a,.abnav-mobile-disclosure{font-size:33px;padding:19px 0}.abnav-drawer-head{padding:14px 16px}.abnav-drawer-head>button{height:48px;width:48px}.abnav-drawer-footer{padding:12px 15px max(16px,env(safe-area-inset-bottom))}}@media(max-height:560px){.abnav-mobile-links>a,.abnav-mobile-disclosure{padding:14px 0;font-size:27px}.abnav-mobile-links{padding-top:10px}}@media(prefers-reduced-motion:reduce){.abnav-drawer{transition:none!important}}

/* ===== ui-audit-v28.css ===== */
/* AppsBrain V28 — narrowly scoped production visual refinements. */
:root{--ab-ui-safe-x:clamp(18px,4vw,70px)}
/* Reserve a clean editorial space below the fixed premium navigation. */
body:has(#abnav-shell) .hero{padding-top:clamp(132px,11vw,178px)}
body:has(#abnav-shell) .hero-header{position:relative;z-index:1;min-height:20px}
body:has(#abnav-shell) .hero-top{grid-template-columns:minmax(0,1.65fr) minmax(270px,.68fr);gap:clamp(24px,4vw,72px);align-items:end;padding-top:clamp(38px,5vw,72px)}
body:has(#abnav-shell) .hero-top>*{min-width:0}
body:has(#abnav-shell) .hero h1{font-size:clamp(62px,8vw,132px);line-height:1.025;letter-spacing:-.082em;overflow-wrap:normal}
body:has(#abnav-shell) .hero h1 em{display:inline-block;line-height:.94;vertical-align:baseline}
body:has(#abnav-shell) .hero-desc{padding-bottom:clamp(4px,1vw,18px)}
body:has(#abnav-shell) .hero-desc p{max-width:420px}
/* Consistent keyboard accessibility and safer floated links. */
.abnav-header :is(a,button):focus-visible,.abnav-drawer :is(a,button):focus-visible,.growth-floating-cta:focus-visible{outline:3px solid #5a63ea;outline-offset:4px}
.growth-floating-cta{right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom))}
/* Avoid tables, long text and grids forcing horizontal document overflow. */
.admin-main,.admin-panel,.admin-page-title,.careers-admin{min-width:0;max-width:100%}
.admin-panel :is(p,h1,h2,h3),.admin-table td{overflow-wrap:anywhere}
.admin-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-table :is(th,td){vertical-align:top}
.admin-actions :is(button,a),.admin-page-title :is(button,a){max-width:100%}
@media(max-width:1100px){body:has(#abnav-shell) .hero-top{grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr)}body:has(#abnav-shell) .hero h1{font-size:clamp(58px,8vw,105px)}}
@media(max-width:800px){body:has(#abnav-shell) .hero{padding-top:clamp(110px,15vw,146px)}body:has(#abnav-shell) .hero-top{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:clamp(32px,5vw,55px)}body:has(#abnav-shell) .hero h1{font-size:clamp(54px,10.7vw,88px)}body:has(#abnav-shell) .hero-desc{max-width:540px}.admin-page-title{flex-wrap:wrap}}
@media(max-width:550px){body:has(#abnav-shell) .hero{padding-top:102px}body:has(#abnav-shell) .hero-top{padding-top:30px;gap:24px}body:has(#abnav-shell) .hero h1{font-size:clamp(44px,11.6vw,66px);letter-spacing:-.07em}body:has(#abnav-shell) .hero-desc p{font-size:16px}.growth-floating-cta{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.admin-main{padding-inline:16px}.admin-panel{padding:clamp(16px,4vw,24px)}.admin-page-title{gap:16px}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}.abnav-header,.abnav-mega,.growth-floating-cta{transition:none!important}}

/* ===== modal-fix-v32.css ===== */
/* V32: keep enquiry dialog above the floating premium header, including Safari iOS. */
.growth-dialog-backdrop:not([hidden]){z-index:30000!important;inset:0!important;inset:0 0 0 0!important;min-height:100dvh;box-sizing:border-box;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain;align-items:center;justify-items:center}
.growth-dialog-backdrop:not([hidden]) .growth-dialog{box-sizing:border-box;max-height:calc(100dvh - 24px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;margin:auto}
.growth-dialog .growth-dialog-head{position:relative;align-items:flex-start}
.growth-dialog .growth-dialog-head h2{overflow-wrap:anywhere}
.growth-dialog .growth-close{position:relative;z-index:1;flex-shrink:0;touch-action:manipulation}
@media(max-width:600px){.growth-dialog-backdrop:not([hidden]){padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.growth-dialog-backdrop:not([hidden]) .growth-dialog{max-height:calc(100dvh - 16px - env(safe-area-inset-bottom));border-radius:14px;padding:24px 20px}.growth-dialog .growth-form-grid{grid-template-columns:minmax(0,1fr);gap:14px}.growth-dialog h2{font-size:clamp(29px,8vw,43px);line-height:1.12;margin-top:4px}.growth-dialog .growth-dialog-head{gap:10px}.growth-dialog .growth-form-grid :is(input,select),.growth-dialog textarea{font-size:16px;min-height:48px}.growth-dialog textarea{min-height:100px}.growth-dialog label{max-width:100%}.growth-dialog .growth-submit{min-height:48px;width:100%}}
@media(prefers-reduced-motion:reduce){.growth-dialog-backdrop,.growth-dialog{animation:none!important}}

/* ===== modal-fix-v33.css ===== */
/* V33: enquiry dialog must cover floating nav, independently of page stacking contexts. */
#growth-dialog.growth-dialog-backdrop:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  width: 100dvw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: none !important;
  z-index: 2147483600 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  display: grid !important;
  place-items: center !important;
  isolation: isolate;
}
#growth-dialog[hidden] { display: none !important; }
#growth-dialog .growth-dialog {
  position: relative !important;
  display: block;
  width: min(100%, 670px) !important;
  max-width: 670px !important;
  max-height: calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  margin: auto !important;
  box-sizing: border-box;
  overscroll-behavior: contain;
}
#growth-dialog .growth-dialog-head { position: relative; display: flex; align-items: flex-start; gap: 16px; }
#growth-dialog .growth-dialog-head > div { min-width: 0; flex: 1; }
#growth-dialog .growth-dialog-head h2 { overflow-wrap: normal; word-break: normal; }
#growth-dialog .growth-close { flex: 0 0 auto; position: relative; z-index: 2; }
@media (max-width: 600px) {
  #growth-dialog.growth-dialog-backdrop:not([hidden]) { padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)) !important; }
  #growth-dialog .growth-dialog { max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important; border-radius: 17px; padding: 26px 20px !important; }
  #growth-dialog .growth-form-grid { grid-template-columns: minmax(0,1fr) !important; }
  #growth-dialog .growth-dialog-head h2 { font-size: clamp(30px, 8vw, 44px) !important; line-height: 1.08; }
  #growth-dialog .growth-form-grid :is(input,select,textarea) { min-width: 0; max-width: 100%; font-size: 16px; }
  #growth-dialog .growth-submit { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { #growth-dialog, #growth-dialog .growth-dialog { animation: none !important; transition: none !important; } }

/* ===== inner-page-responsive-v36.css ===== */
/* AppsBrain V36: shared, last-in-cascade inner-page rhythm and safe CTA. */
@media (min-width:1025px){
  body:has(#abnav-shell) .inner-hero{padding-top:clamp(164px,13vw,205px);padding-bottom:clamp(78px,7vw,112px)}
  body:has(#abnav-shell) .service-v11-hero{padding-top:clamp(164px,13vw,205px)}
  body:has(#abnav-shell) :is(.cms-list-hero,.cms-article-hero){padding-top:clamp(164px,13vw,205px)}
}
@media(max-width:1024px){
  body:has(#abnav-shell) :is(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero){padding-top:clamp(138px,15vw,170px);padding-bottom:clamp(56px,7vw,88px)}
  body:has(#abnav-shell) .inner-block{padding-top:clamp(56px,7vw,86px);padding-bottom:clamp(56px,7vw,86px)}
}
@media(max-width:760px){
  body:has(#abnav-shell) :is(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero){padding-top:clamp(145px,37vw,165px);padding-bottom:clamp(42px,9vw,64px)}
  body:has(#abnav-shell) .inner-hero h1{font-size:clamp(40px,10.35vw,72px);line-height:1.095;letter-spacing:-.055em;margin:clamp(20px,5vw,28px) 0 clamp(22px,5vw,30px);max-width:100%;overflow-wrap:break-word;word-break:normal}
  body:has(#abnav-shell) .inner-hero h1 em{font-size:1em;line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere}
  body:has(#abnav-shell) .inner-hero .inner-sub{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,5vw,27px)}
  body:has(#abnav-shell) .inner-hero .inner-sub p{font-size:clamp(16px,4.2vw,19px);line-height:1.6;max-width:34rem}
  body:has(#abnav-shell) .inner-hero .inner-sub span{margin-top:0}
  body:has(#abnav-shell) .inner-block{padding-block:clamp(48px,11vw,72px)}
  body:has(#abnav-shell) .two-col h2{font-size:clamp(35px,9vw,60px);line-height:1.13;letter-spacing:-.055em;overflow-wrap:break-word}
  body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1{font-size:clamp(40px,10.35vw,72px);line-height:1.095;letter-spacing:-.055em;overflow-wrap:break-word;max-width:100%}
  body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1 em{line-height:1.08;overflow-wrap:anywhere}
  body:has(#abnav-shell) .service-v11-hero-grid{gap:clamp(26px,7vw,48px)}
  body:has(#abnav-shell) .growth-floating-cta{width:54px;height:54px;min-width:54px;max-width:54px;display:flex;align-items:center;justify-content:center;padding:0;gap:0;font-size:0;right:max(15px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));border-radius:50%;box-shadow:0 8px 24px #10131c33}
  body:has(#abnav-shell) .growth-floating-cta span{font-size:23px;line-height:1}
}
@media(max-width:360px){body:has(#abnav-shell) .inner-hero h1,body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1{font-size:clamp(36px,10vw,40px)}}

/* ===== responsive-layout-v44.css ===== */
/* AppsBrain V44 — unified responsive rhythm. Preserve design tokens and desktop art direction.
   Loaded after all earlier styles: prevents cascade regressions between older page families. */
:root { --ab44-mobile-edge:clamp(18px,5.2vw,28px); }
:where(.inner-hero,.inner-block,.ab18-blog-hero,.ab18-archive,.ab21-booking,.case-v13-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero) { min-width:0; }
:where(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero) :is(h1,h2,p) { max-width:100%; }
@media(max-width:1024px){
 body:has(#abnav-shell) :is(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero,.case-v13-hero){padding-top:clamp(117px,13vw,150px);}
 body:has(#abnav-shell) .inner-hero{padding-bottom:clamp(48px,6vw,76px);}
 body:has(#abnav-shell) .inner-block{padding-block:clamp(55px,7vw,78px);}
}
@media(max-width:760px){
 /* Floating navigation consumes approximately 74px of screen space on phones. */
 body:has(#abnav-shell) :is(.inner-hero,.service-v11-hero,.cms-list-hero,.cms-article-hero,.case-v13-hero){padding-top:clamp(105px,29vw,125px);padding-bottom:clamp(30px,8vw,45px);}
 body:has(#abnav-shell) .inner-hero h1{font-size:clamp(38px,11vw,58px);line-height:1.11;letter-spacing:-.06em;margin:clamp(20px,5vw,28px) 0 clamp(18px,5vw,26px);text-wrap:balance;}
 body:has(#abnav-shell) .inner-hero h1 em{letter-spacing:-.035em;line-height:1.13;overflow-wrap:normal;word-break:normal;}
 body:has(#abnav-shell) .inner-hero .inner-sub{display:flex;flex-direction:column;gap:clamp(16px,5vw,24px);align-items:flex-start;}
 body:has(#abnav-shell) .inner-hero .inner-sub p{font-size:clamp(16px,4.25vw,19px);line-height:1.57;margin:0;}
 body:has(#abnav-shell) .inner-hero .inner-sub span{margin:0;}
 body:has(#abnav-shell) .inner-block{padding-block:clamp(36px,9vw,56px);}
 body:has(#abnav-shell) .inner-block .two-col{gap:clamp(18px,6vw,27px);}
 body:has(#abnav-shell) .inner-block .two-col h2{font-size:clamp(34px,9.4vw,51px);line-height:1.14;letter-spacing:-.058em;overflow-wrap:normal;}
 body:has(#abnav-shell) .inner-block .two-col>div>p:first-child{margin-top:0;}
 body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1{font-size:clamp(38px,10.8vw,60px);line-height:1.12;letter-spacing:-.055em;}
 body:has(#abnav-shell) :is(.service-v11-hero,.cms-list-hero,.cms-article-hero) h1 em{line-height:1.12;letter-spacing:-.03em;}
 body:has(#abnav-shell) .service-v11-hero-grid{gap:clamp(22px,6vw,38px);}
 body:has(#abnav-shell) .case-v13-heading{padding-top:clamp(24px,6vw,45px);}
 body:has(#abnav-shell) .case-v13-heading h1{font-size:clamp(40px,11vw,64px);line-height:1.1;letter-spacing:-.055em;}
 /* The Insights landing page uses a separate CMS-rendered editorial hero. */
 body:has(#abnav-shell) .ab18-blog-hero{padding:clamp(108px,28vw,126px) 0 clamp(38px,9vw,55px);}
 body:has(#abnav-shell) .ab18-journal-topline{margin-bottom:clamp(24px,7vw,36px);}
 body:has(#abnav-shell) .ab18-journal-intro{gap:clamp(19px,5vw,27px);}
 body:has(#abnav-shell) .ab18-journal-intro h1{font-size:clamp(40px,11vw,60px);line-height:1.1;letter-spacing:-.06em;text-wrap:balance;}
 body:has(#abnav-shell) .ab18-journal-intro h1 em{letter-spacing:-.035em;}
 body:has(#abnav-shell) .ab18-journal-intro p{line-height:1.6;}
 body:has(#abnav-shell) .ab18-blog-stats{margin-top:clamp(22px,6vw,34px);}
 body:has(#abnav-shell) .ab18-archive{padding-top:clamp(42px,10vw,62px);}
 /* Prevent the injected booking panel from losing its container rhythm on mobile. */
 body:has(#abnav-shell) .ab21-booking{box-sizing:border-box;width:auto;max-width:none;margin:clamp(32px,8vw,52px) var(--ab44-mobile-edge);padding:clamp(22px,6vw,30px);border-radius:20px;gap:clamp(17px,5vw,26px);}
 body:has(#abnav-shell) .ab21-booking h2{line-height:1.14;letter-spacing:-.045em;}
 body:has(#abnav-shell) .ab21-booking-link{max-width:100%;white-space:normal;justify-content:center;}
 /* No fixed CTA on mobile: it repeatedly obscured important headings, forms, and footer copy. */
 body:has(#abnav-shell) .growth-floating-cta{display:none!important;}
 body:has(#abnav-shell) .footer-top h2{font-size:clamp(48px,11vw,76px);line-height:1.07;letter-spacing:-.065em;overflow-wrap:normal;}
 body:has(#abnav-shell) .footer-ctas{gap:18px;}
}
@media(max-width:380px){
 body:has(#abnav-shell) .inner-hero h1{font-size:clamp(36px,10.6vw,42px);}
 body:has(#abnav-shell) .ab18-journal-intro h1{font-size:clamp(38px,10.6vw,45px);}
 body:has(#abnav-shell) .ab21-booking{margin-inline:16px;padding:20px;}
}
@media(min-width:761px){
 /* Keep the footer CTA away from the screen edge and visible above floating browser widgets. */
 body:has(#abnav-shell) .growth-floating-cta{bottom:max(22px,env(safe-area-inset-bottom));right:max(22px,env(safe-area-inset-right));}
}

/* Commercial related expertise: intentional contextual links without a second services grid. */
.ab-related-services{padding:clamp(40px,6vw,84px) 0;background:#f6f6f2;border-top:1px solid rgba(14,18,27,.10)}
.ab-related-services .container{max-width:1240px}
.ab-related-kicker{font-size:11px;letter-spacing:.17em;font-weight:700;color:#6f7481}
.ab-related-services h2{font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.045em;margin:16px 0 24px;color:#161821}
.ab-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ab-related-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid rgba(15,17,27,.14);border-radius:16px;padding:19px 20px;color:#141620;background:#fff;text-decoration:none;font-weight:650;line-height:1.4;transition:background .2s,border-color .2s,transform .2s}
.ab-related-links a span{color:#5966f2;flex-shrink:0}
.ab-related-links a:hover,.ab-related-links a:focus-visible{background:#eeefff;border-color:#5966f2;transform:translateY(-2px)}
.ab-related-links a:active{transform:translateY(0);background:#e1e5ff}
.ab-related-links a:focus-visible,.ab-related-work:focus-visible{outline:3px solid #5865f2;outline-offset:3px}
.ab-related-work{display:inline-flex;margin-top:22px;font-weight:700;color:#313bc4;text-underline-offset:5px}
@media(max-width:760px){.ab-related-services{padding:44px 0}.ab-related-services h2{margin:12px 0 18px}.ab-related-links{grid-template-columns:1fr}.ab-related-links a{padding:15px 18px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.ab-related-links a{transition:none}.ab-related-links a:hover,.ab-related-links a:focus-visible{transform:none}}

.ab-editorial-related{padding:17px 20px;border-left:3px solid #5966f2;background:#f3f3fa;border-radius:0 8px 8px 0;font-size:.96em;margin:25px 0!important;color:#373c48}
.ab-editorial-related a{font-weight:700;color:#353ec4;text-underline-offset:4px}
.ab-editorial-related a:focus-visible{outline:3px solid #5966f2;outline-offset:3px}

