:root{--bg:#f3f4f0;--panel:#fff;--line:#18213120;--muted:#66717d;--text:#171e28;--blue:#2256d9;--lime:#2256d9}body{background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}.wrap{width:min(1360px,calc(100% - 100px))}header{background:#ffffffed;border-color:#121b3014;height:110px;backdrop-filter:blur(20px)}.nav{gap:30px}.brand{gap:0}.logo-window{display:block;width:100px;height:100px;overflow:hidden;position:relative;background:white;flex:none}.logo-window img{position:absolute;width:162px;height:162px;max-width:none;left:-31px;top:-22px}.nav nav{gap:28px}.nav nav a{font-size:12px;font-weight:500;color:#505a69}.nav nav a:hover,.nav nav a[aria-current]{color:#1c4fe1}.nav nav a[aria-current]{border-color:#2256d9}.button{border-radius:50px;padding:16px 22px;gap:24px;font-size:12px;position:relative;overflow:hidden;will-change:transform}.button .button-label{font-size:inherit;font-weight:inherit}.button .button-arrow{display:grid;place-items:center;border-radius:50%;width:27px;height:27px;font-size:18px;background:#ffffff1a;flex-shrink:0;transition:transform .3s}.button.primary{background:#1d252f;color:white;border-color:#1d252f;box-shadow:0 3px 0 #00000004}.button.primary:hover{background:#2256d9;border-color:#2256d9}.button:hover .button-arrow{transform:rotate(45deg)}.button.text{padding:12px 0;border-radius:0;border-bottom:1px solid #1a2b4933;color:var(--text)}.button.text:hover{color:var(--blue)}.button.text .button-arrow{background:none}.nav>.button{padding:10px 15px 10px 21px;background:#2256d9;border-color:#2256d9}.nav>.button span{font-size:18px}.nav>.button:hover{background:#163799}.eyebrow{color:#657183;letter-spacing:1.8px;font-size:10px}.eyebrow>span{background:#2256d9;width:5px;height:5px}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:#3566f3;z-index:100}.pointer-halo{display:none;position:fixed;width:34px;height:34px;left:0;top:0;transform:translate(-50%,-50%);border:1px solid #2256d960;border-radius:50%;pointer-events:none;z-index:99;transition:width .2s,height .2s,border-color .2s;mix-blend-mode:multiply}.pointer-halo.active{width:56px;height:56px;border-color:#2256d9a0}.pointer-halo.on-dark{border-color:#a6c5ff;mix-blend-mode:normal}.back-top{position:fixed;left:23px;bottom:24px;background:white;color:#182132;width:40px;height:40px;border:1px solid #17254022;border-radius:50%;z-index:40;opacity:0;pointer-events:none;transition:opacity .25s;cursor:pointer}.back-top.visible{opacity:1;pointer-events:auto}.hero-stage{position:relative;min-height:720px;overflow:hidden;background:radial-gradient(ellipse at 80% 35%,#e6edff 0%,#f3f4f0 53%);isolation:isolate}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-noise{position:absolute;inset:0;opacity:.25;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.12' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-new{padding-top:38px;min-height:730px;display:flex;flex-direction:column}.hero-topline{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.7px;font-family:monospace;color:#627081}.live-indicator{width:5px;height:5px;border-radius:50%;background:#2256d9;box-shadow:0 0 0 4px #2256d90c}.hero-location{margin-left:auto;color:#77828f;letter-spacing:1.5px}.hero-title{padding-top:80px;position:relative;z-index:2;width:75%}.hero-title h1{font-size:clamp(75px,8.6vw,136px);font-weight:500;letter-spacing:-8px;line-height:.98;max-width:1000px}.gradient-word{color:#2256d9;letter-spacing:-7.5px}.hero-intro{margin-top:35px;max-width:420px}.hero-intro>p{font-size:16px;line-height:1.8;color:#637081;max-width:385px}.actions{margin-top:25px;gap:23px;white-space:nowrap}.play-link{display:flex;align-items:center;gap:10px;font-size:11px;color:#344151}.play-link>span{width:35px;height:35px;display:grid;place-items:center;border:1px solid #17254025;border-radius:50%;font-size:19px}.play-link:hover{color:#2256d9}.hero-bottom{margin-top:auto;padding-top:50px;padding-bottom:35px;display:flex;justify-content:space-between;align-items:end;gap:30px}.scroll-cue{display:flex;align-items:center;gap:10px;font-family:monospace;font-size:8px;letter-spacing:1.2px;color:#5e6a7a}.scroll-cue>span{font-family:Arial;font-size:18px;width:31px;height:40px;border:1px solid #15233925;border-radius:18px;display:grid;place-items:center}.interaction-hint{font:8px/1.8 monospace;color:#5671a1;letter-spacing:1px;display:flex;gap:10px;align-items:center;margin-left:auto;margin-right:140px}.mouse-icon{width:17px;height:26px;border:1px solid #6080bb80;display:inline-block;border-radius:12px;position:relative}.mouse-icon:after{content:'';width:2px;height:6px;background:#2256d9;position:absolute;left:6px;top:5px;animation:mouse 2s infinite}.hero-serial{font:7px/1.8 monospace;letter-spacing:1px;color:#8b95a0}.marquee{overflow:hidden;background:#1e4ed9;color:white;border-top:1px solid #285ce5;padding:24px 0;position:relative}.marquee>div{display:flex;align-items:center;gap:40px;white-space:nowrap;width:max-content;animation:marquee 45s linear infinite;font-size:15px;letter-spacing:1px}.marquee span{font-size:24px;color:#99b7ff}h2{font-size:clamp(39px,4vw,60px);font-weight:500;letter-spacing:-2.6px;line-height:1.07}.section{padding-top:110px;padding-bottom:110px}.section-heading{gap:70px;margin-bottom:55px}.section-heading>div:last-child>p{font-size:13px;color:#6d7784;line-height:1.9;max-width:340px}.section-heading>div:last-child>.button{margin-top:18px}.section-heading>p{font-size:13px;color:#6d7784}.service-studio{border-top:1px solid #19223925}.studio-tabs{display:flex;border-bottom:1px solid #19223925}.studio-tabs button{display:flex;align-items:center;justify-content:space-between;flex:1;gap:10px;background:none;color:#7e8792;border:0;padding:25px 20px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent;transition:color .2s,background .2s}.studio-tabs button span{font:8px monospace}.studio-tabs button b{font-weight:400;font-size:18px;opacity:0}.studio-tabs button[aria-selected=true]{color:#1e4fd9;background:#e4e9f0;border-bottom-color:#2256d9}.studio-tabs button[aria-selected=true] b{opacity:1}.studio-tabs button:hover{color:#2256d9;background:#e8ecf2}.studio-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:55px 0 0}.studio-visual{height:350px;position:relative;background:linear-gradient(140deg,#dce4f8,#e9edf1);overflow:hidden;border-radius:5px;perspective:900px;isolation:isolate}.studio-visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#224b9820 1px,transparent 1px),linear-gradient(90deg,#224b9820 1px,transparent 1px);background-size:35px 35px;transform:rotate(-22deg) scale(1.5);mask-image:radial-gradient(ellipse,black,transparent 70%)}.visual-tile{position:absolute;left:50%;top:48%;width:185px;height:185px;border-radius:30px;transform:translate(-50%,-50%) rotateX(48deg) rotateZ(-35deg);background:linear-gradient(130deg,#5189ff,#1a42c1);box-shadow:7px 9px 0 #163899,14px 20px 25px #254aa945;z-index:3;display:grid;place-items:center;border:1px solid #70b0ff}.visual-tile>span{font-size:100px;color:#e2ecff;text-shadow:0 3px 0 #1432a0}.tile-b{top:60%;opacity:.25;z-index:2}.tile-c{top:72%;opacity:.12;z-index:1}.visual-caption{position:absolute;left:25px;bottom:20px;font:9px monospace;letter-spacing:2px;color:#6582b1}.visual-axis{position:absolute;width:280px;height:280px;border:1px solid #5f7dc35c;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%) rotateX(64deg)}.v-2{background:linear-gradient(140deg,#d5e9e3,#eef3ec)}.v-2 .visual-tile{background:linear-gradient(140deg,#52ab9c,#163a72)}.v-3{background:linear-gradient(140deg,#e8dcfa,#f2eafa)}.v-3 .visual-tile{background:linear-gradient(140deg,#b587e3,#503cae)}.v-4{background:linear-gradient(140deg,#dce7f3,#d9e4e8)}.v-5{background:linear-gradient(140deg,#eae6ce,#f3f1e1)}.studio-copy{padding-right:20px}.overline{font:8px/1.7 monospace;letter-spacing:1.6px;color:#8292ac;display:block}.studio-copy .overline{color:#5e75a2}.studio-copy h3{font-size:35px;line-height:1.1;letter-spacing:-1.5px;margin-top:15px;max-width:400px}.studio-copy>p{font-size:14px;line-height:1.8;max-width:390px;margin-top:18px;color:#657383}.studio-copy ul{margin:18px 0}.studio-copy li{font-size:12px;padding:7px 0;border:0}.studio-copy li:before{content:'+';font-family:monospace}.studio-links{display:flex;gap:15px;flex-wrap:wrap}.studio-links a{font-size:10px;border-bottom:1px solid #24447540;padding:10px 0;color:#234c9b}.studio-links a span{margin-left:8px}.selected-work{background:#0d1629;color:white}.selected-work .eyebrow{color:#8a9ab7}.selected-work .eyebrow>span{background:#73a6ff}.selected-work em{color:#7c9fff}.selected-work .section-heading p{color:#98a8c2}.selected-work .button.text{color:white;border-color:#ffffff33}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.work-card{display:block;min-width:0;transition:transform .4s}.work-card:hover{transform:translateY(-7px)}.work-visual{height:355px;background:#18355a;border-radius:6px;overflow:hidden;position:relative;perspective:1200px;padding:40px 35px 0;isolation:isolate}.work-visual:before{content:'';inset:0;position:absolute;background:radial-gradient(ellipse at 50% 20%,#398cbb35,transparent 70%);z-index:-1}.work-romac .work-visual{background:#243b60}.app-window{background:#0b1426;border:1px solid #8db8ef35;box-shadow:0 25px 70px #0006;border-radius:9px;overflow:hidden;transform:perspective(1000px) rotateX(6deg) rotateY(-7deg) rotateZ(-2deg);transition:transform .6s}.work-romac .app-window{transform:perspective(1000px) rotateX(6deg) rotateY(7deg) rotateZ(2deg)}.work-card:hover .app-window{transform:perspective(1000px) rotateX(0) rotateY(0) rotateZ(0)}.app-top{height:32px;border-bottom:1px solid #ffffff10;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#7d96ba;font:7px monospace;letter-spacing:1px}.app-dots{font-size:7px;color:#3f5d83;letter-spacing:3px}.app-shell{display:flex;min-height:235px}.app-rail{width:40px;flex:none;border-right:1px solid #ffffff10;color:#84b4ff;text-align:center;padding:16px 10px;font-size:16px}.app-rail i{display:block;width:13px;height:4px;background:#345073;margin:19px auto}.app-rail i:first-of-type{background:#77a4ef}.app-body{padding:20px;flex:1;min-width:0}.app-title{font-size:12px;font-weight:500;color:#d9e5f8;display:flex;justify-content:space-between;gap:10px;align-items:center}.app-title>span{font:6px monospace;letter-spacing:1px;color:#88b7d8;border:1px solid #84aed330;padding:5px 6px}.vehicle-schematic{height:125px;color:#5a8bc7;position:relative;padding:0 15px;margin-top:10px;overflow:hidden;background:radial-gradient(ellipse,#2872a719,transparent)}.vehicle-schematic svg{width:100%;height:100%}.scan-line{position:absolute;top:10%;height:1px;background:#69d4ee;box-shadow:0 0 20px 5px #52b2ff25;width:100%;left:0;animation:scan 5s ease-in-out infinite}.inspection-steps{display:flex;justify-content:space-between;gap:6px;font-size:7px;color:#8da5c9;margin:15px 0}.inspection-steps span{background:#173047;padding:6px 7px;border-radius:3px}.inspection-steps i{display:inline-block;width:3px;height:3px;border-radius:100%;background:#7fdcc5;margin-right:4px}.app-report{padding-top:12px;border-top:1px solid #ffffff10;display:flex;gap:10px;justify-content:space-between;color:#6e8bad;font-size:7px}.app-report b{font:6px monospace;color:#86b2e2}.mock-label{display:block;text-align:center;font:5px monospace;color:#516a8b;letter-spacing:1px;padding:8px}.romac-stats{display:flex;gap:10px;margin:18px 0}.romac-stats>div{background:#142542;border:1px solid #ffffff08;padding:11px;flex:1}.romac-stats span{display:block;color:#7595c0;font-size:7px}.romac-stats b{display:block;font-size:20px;color:#c2d7f8;font-weight:400;margin:5px 0}.romac-stats small{display:block;font-size:5px;color:#5a789f}.app-chart{position:relative;height:80px}.app-chart svg{width:100%;height:100%;position:relative}.chart-grid{position:absolute;inset:0;background:repeating-linear-gradient(transparent 0,transparent 24px,#ffffff08 25px)}.work-description{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:20px}.work-description h3{font-size:26px;line-height:1.17;letter-spacing:-.9px;margin-top:11px;font-weight:400}.round-arrow{border:1px solid #ffffff30;border-radius:50%;display:grid;place-items:center;min-width:40px;height:40px;transition:color .3s,background .3s}.work-card:hover .round-arrow{background:#96b8ff;color:#10213b}.work-card>p{font-size:12px;line-height:1.8;color:#8598b8;margin-top:17px;max-width:480px}.work-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.work-tags span{border:1px solid #ffffff1c;border-radius:30px;padding:6px 10px;font-size:8px;color:#a1b0c7}.work-wide{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;background:#172238;border:1px solid #ffffff10;margin-top:55px;border-radius:6px;overflow:hidden}.work-wide-copy{padding:40px}.work-wide h3{font-size:34px;letter-spacing:-1.1px;line-height:1.2;margin-top:15px}.work-wide p{font-size:12px;color:#899ebc;line-height:1.8;margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:11px;border-bottom:1px solid #ffffff25;padding:16px 0;margin-top:15px}.text-link b{font-size:20px;font-weight:400}.file-visual{height:350px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 30%,#3156a84d,transparent 60%);perspective:1000px;isolation:isolate}.file-folder{padding:25px;border:1px solid #7da7ec35;border-radius:10px;background:linear-gradient(120deg,#263c61,#121e33);width:265px;transform:rotateY(-12deg) rotateZ(-6deg);box-shadow:15px 25px 30px #0003;transition:transform .6s;position:relative}.file-folder:before{content:'';position:absolute;width:90px;height:13px;top:-13px;left:-1px;border:1px solid #7da7ec35;border-bottom:0;background:#253a5e;border-radius:8px 8px 0 0}.file-folder>span{font:7px monospace;letter-spacing:2px;color:#82a2d3}.file-folder>b{font-size:27px;line-height:1.2;color:#e1eafa;font-weight:400;display:block;margin-top:15px;letter-spacing:-.7px}.file-folder>div{display:flex;gap:10px;margin-top:20px}.file-folder i{font:8px monospace;padding:16px 12px;border:1px solid #ffffff15;border-radius:4px;background:#405b8830;color:#a6bbdf}.file-folder small{font:6px monospace;color:#7794bc;display:block;margin-top:17px}.work-wide:hover .file-folder{transform:rotateY(0) rotateZ(0) translateY(-5px)}.file-orbit{position:absolute;width:340px;height:340px;border:1px solid #6480b430;border-radius:50%;transform:rotateX(60deg) rotateZ(-20deg);z-index:-1}.file-orbit.o2{width:410px;height:410px;transform:rotateX(60deg) rotateZ(20deg)}.portfolio-note{font:9px/1.9 monospace;color:#647b9d;margin-top:25px;max-width:850px}.manifesto{display:grid;grid-template-columns:.5fr 1fr;gap:60px}.manifesto-label{display:flex;flex-direction:column;align-items:start;justify-content:space-between}.manifesto-star{font-size:150px;line-height:1;color:#2554d7;animation:spin 40s linear infinite}.manifesto h2{font-size:clamp(50px,5.3vw,80px);letter-spacing:-4.5px;line-height:1.08}.manifesto h2>span{color:#2256d9}.manifesto p{max-width:500px;color:#657383;font-size:15px;line-height:1.9;margin-top:30px}.manifesto .button{margin-top:20px}.process-section{border-top:1px solid #19223920;background:#e9ecea}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-step{border-top:1px solid #1a2f5030;padding-top:20px}.process-step>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}.process-step>div>span{font:9px monospace;color:#718299}.process-step>div>b{font-size:29px;color:#2256d9;font-weight:400}.process-step h3{font-size:21px;letter-spacing:-.6px;line-height:1.2;max-width:200px}.process-step p{font-size:12px;line-height:1.9;color:#728091;margin-top:17px}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px}.faq-list{border-top:1px solid #1a2f5025}details{border-bottom:1px solid #1a2f5025;padding:25px 0}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:15px;line-height:1.5}summary::-webkit-details-marker{display:none}summary>span{color:#2256d9;font-size:23px;transition:transform .3s}details[open] summary>span{transform:rotate(45deg)}details>p{color:#6c7a8c;font-size:13px;line-height:1.9;margin-top:20px;max-width:530px}.final-cta{background:#dce6fa;padding:75px 0 45px;overflow:hidden;position:relative}.final-cta h2{font-size:clamp(65px,9vw,135px);line-height:1;letter-spacing:-6px;position:relative}.final-cta h2 em{color:#2256d9}.cta-star{position:absolute;right:4%;top:0;font-size:180px;color:#2256d9;font-weight:400;animation:spin 45s linear infinite}.cta-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:65px;padding-top:30px;border-top:1px solid #17264125;gap:30px}.big-email{font-size:20px;letter-spacing:-.5px;display:flex;gap:45px;align-items:center}.big-email:hover{color:#2256d9}.big-email>span{font-size:30px}.whatsapp{background:white;border:1px solid #192c4c20;color:#234471;box-shadow:0 8px 25px #122b5210;font-size:10px}.whatsapp:hover{background:#e4edff}.whatsapp span{color:#2c8965}.menu-toggle{border-color:#192c4c30;color:#1d354f}footer{background:#fff;border-color:#192c4c20;padding-top:50px}.footer-top{grid-template-columns:1fr .7fr 1fr 1.2fr;gap:45px}.footer-top h3{color:#263d5d}.footer-top p,.footer-top>div>a:not(.brand){color:#738096}.footer-top a:hover{color:#2256d9}.foot-bottom{color:#98a1ae;border-color:#192c4c20}.page-intro{position:relative;padding:80px 0 65px;border-bottom-color:#172b4925;isolation:isolate;overflow:hidden}.page-intro:after{content:'';width:330px;height:330px;background:repeating-radial-gradient(ellipse at center,transparent 0px,transparent 9px,#255fe116 10px,transparent 11px);border-radius:100%;position:absolute;right:-30px;top:25px;transform:rotateX(35deg);z-index:-1;opacity:.8}.page-intro h1{font-size:clamp(45px,5.2vw,80px);line-height:1.04;letter-spacing:-3px;font-weight:500;max-width:1100px}.page-intro .lead{color:#6b7c91;max-width:720px;font-size:16px}.section.service-grid{padding-top:65px}.service-card{background:#fafbf9;border-color:#1c35561f;border-radius:6px;position:relative;overflow:hidden;min-height:320px;transition:transform .35s,box-shadow .35s,border-color .35s}.service-card:before{content:'';position:absolute;inset:0;background:radial-gradient(300px circle at var(--card-x,50%) var(--card-y,20%),#6a9cff20,transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s}.service-card:hover:before{opacity:1}.service-card:hover{background:#fff;border-color:#5682d660;box-shadow:0 15px 40px #1b427011;transform:translateY(-5px)}.card-top{margin-bottom:35px}.service-card h3{font-size:22px;line-height:1.2;color:#233248;max-width:330px}.service-card p{color:#7a8799;font-size:13px}.number{color:#8f9bad}.icon{color:#2d5ed6}.card-link{color:#355273;border-top:1px solid #17335c18;padding-top:18px}.product-card .icon{color:#2e65a2}.catalog-tools input{background:white;color:#233d62;border-color:#182c4c30;border-radius:4px;padding:16px}.catalog-tools span{color:#7e8c9f;font-family:monospace}.availability{background:#e4eaf4;color:#5c7190;border-color:#3765d1;border-radius:0 4px 4px 0}.approach{background:#e7ecef;border-color:#253d5920}.split p{color:#6e7e91}.principles article{border-color:#1a345325}.principles article>span{color:#2256d9}.principles h3{color:#2c405d}.detail-symbol{background:radial-gradient(ellipse,#b2c9f54d,transparent 65%);text-shadow:7px 10px 0 #d7e2fb;color:#3165d7}.detail h2{font-size:41px}.detail ul li{border-color:#1d3d6120;color:#6c7d94}.detail .button.primary{margin-top:10px}.detail .split{gap:65px}.product-live-preview .app-window{transform:perspective(1000px) rotateY(-8deg) rotateZ(-3deg);color:white}.product-live-preview .file-visual{background:#142642;border-radius:8px}.product-live-preview .file-folder{color:white}.detail{gap:65px}.big-type{color:#273c59;background:radial-gradient(ellipse at 20% 50%,#b0c8f522,transparent 60%)}.three-col p,.four-col p{color:#75849a}.solution-rows>article{border-color:#1d3d6120}.solution-rows p,.solution-rows li{color:#718196}.solution-index{color:#3767ce}.closing{border-color:#1b355120}.closing h2{color:#263b59}.closing p{color:#78869a}.contact-item{border-color:#1d3d6120}.contact-item>a{color:#2b4c7d}.contact-item .small-link{color:#2256d9}.contact-item>span{color:#7990ae}.contact-item p{color:#6b7e97}form{background:#fff;border-color:#26426920;border-radius:8px;box-shadow:0 20px 50px #1e3f6510}form h2{color:#233a59}label{color:#556e90}input,select,textarea{background:#f5f7fa;border:1px solid #1d3d6120;border-radius:3px;color:#314f77}input::placeholder,textarea::placeholder{color:#99a7bb}.form-note{color:#8a9cb5}.copy-button,#form-status{color:#2256d9}.prose p{color:#6d7d93}.prose h2{color:#2e4567}.prose a{color:#2256d9}.category-grid a{color:#273f63;border-color:#27496f20}.solutions-preview .solution-panel{background:#e4ebf3;border-color:#335c7f20}.panel-copy p{color:#71849d}.section-heading .button{flex-shrink:0}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.in-view{opacity:1;transform:none}.motion-ready .reveal:nth-child(2){transition-delay:.08s}.motion-ready .reveal:nth-child(3){transition-delay:.16s}.motion-ready .reveal:nth-child(4){transition-delay:.24s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#346cf3}.skip:focus{background:#2256d9;color:white}.service-last .asterisk{color:#2256d9}.service-last{background:#e2eafa}.no-results{color:#6c7f99}.story h3{color:#2d4465}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes mouse{0%,100%{transform:translateY(0);opacity:1}60%{transform:translateY(5px);opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan{0%,100%{top:15%;opacity:.4}50%{top:85%;opacity:.9}}@media(hover:hover) and (pointer:fine){.pointer-halo{display:block}}@media(min-width:1650px){.hero-new{min-height:820px}.hero-title{padding-top:100px}}@media(max-width:1150px){.nav nav{gap:20px}.wrap{width:calc(100% - 70px)}.hero-title h1{font-size:100px;letter-spacing:-6px}.hero-title{padding-top:90px}.gradient-word{letter-spacing:-6px}.studio-panel{gap:40px}.work-visual{padding:30px 20px 0;height:330px}.app-body{padding:15px}.work-description h3{font-size:24px}.work-wide h3{font-size:30px}.process-grid{gap:23px}.section-heading{gap:40px}.interaction-hint{margin-right:75px}.footer-top{gap:25px}.hero-intro{max-width:380px}.manifesto{gap:40px}.nav .button{gap:15px}.hero-stage{min-height:730px}}@media(max-width:850px){header{height:95px}.logo-window{height:86px;width:86px}.logo-window img{width:142px;height:142px;left:-28px;top:-20px}.nav nav{gap:22px}.nav>.button{display:none}.hero-new{min-height:740px;padding-top:28px}.hero-title{padding-top:100px;width:100%}.hero-title h1{font-size:92px;letter-spacing:-5.5px}.hero-title h1 .gradient-word{letter-spacing:-5.5px}.hero-intro{max-width:350px}.hero-topline{font-size:8px}.hero-location{font-size:7px}.interaction-hint{margin-right:0}.hero-serial{display:none}.section{padding-top:80px;padding-bottom:80px}.studio-tabs button{padding:20px 13px;font-size:12px}.studio-tabs button span{font-size:7px}.studio-tabs button b{display:none}.studio-panel{gap:30px}.studio-visual{height:330px}.visual-tile{width:150px;height:150px}.visual-tile>span{font-size:80px}.studio-copy h3{font-size:29px}.studio-copy>p{font-size:12px}.studio-copy li{font-size:10px}.studio-links a{font-size:9px}.work-grid{gap:25px}.work-visual{height:290px;padding:30px 16px 0}.app-title{font-size:9px}.app-title>span{font-size:4px;letter-spacing:0}.app-top{font-size:5px}.app-rail{width:28px;padding:12px 5px}.app-body{padding:12px}.app-shell{min-height:220px}.vehicle-schematic{padding:0;height:105px}.inspection-steps{font-size:5px;gap:3px}.inspection-steps span{padding:5px}.app-report{font-size:5px;gap:5px}.app-report b{font-size:4px}.romac-stats{gap:5px}.romac-stats>div{padding:8px}.romac-stats b{font-size:17px}.romac-stats small{font-size:4px}.work-description h3{font-size:22px}.work-card>p{font-size:11px}.overline{font-size:7px;letter-spacing:1.1px}.round-arrow{min-width:32px;height:32px;font-size:13px}.work-wide{gap:0}.work-wide-copy{padding:30px}.work-wide h3{font-size:27px}.file-folder{width:220px;padding:20px}.file-folder>b{font-size:25px}.file-visual{height:320px}.file-folder i{padding:13px 10px}.manifesto{grid-template-columns:.4fr 1fr;gap:35px}.manifesto h2{font-size:60px;letter-spacing:-3px}.manifesto-star{font-size:110px}.manifesto p{font-size:13px}.process-grid{grid-template-columns:1fr 1fr;gap:40px}.process-step>div{margin-bottom:25px}.process-step h3{max-width:none}.faq-section{gap:45px}.faq-section h2{font-size:39px}.final-cta h2{font-size:95px}.cta-star{font-size:130px}.big-email{font-size:17px;gap:20px}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.page-intro{padding-top:65px}.detail{gap:40px}.detail h2{font-size:35px}.section-heading h2{font-size:43px}.section-heading>div:last-child>p{font-size:12px}.section-heading>.button{align-self:start}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}header{height:88px}.logo-window{width:75px;height:78px}.logo-window img{width:128px;height:128px;left:-26px;top:-19px}.nav{gap:20px}.menu-toggle{background:#f3f5f8;border-radius:50%;width:42px;height:42px;padding:0;display:grid;place-items:center;font-size:20px}.nav nav{top:87px;background:#fff;box-shadow:0 20px 40px #1b385a15;border-color:#1d3d6120;padding:20px}.nav nav a{font-size:15px;padding:13px 10px}.hero-stage{min-height:800px;background:radial-gradient(ellipse at 70% 65%,#e1eaff,#f3f4f0 70%)}.hero-new{min-height:800px;padding-top:25px}.hero-topline{font-size:7px;letter-spacing:1px}.hero-location{display:none}.hero-title{padding-top:50px}.hero-title h1{font-size:57px;line-height:1.02;letter-spacing:-3px}.hero-title h1 .gradient-word{letter-spacing:-3px}.hero-intro{margin-top:22px;max-width:310px}.hero-intro>p{font-size:14px;line-height:1.8;max-width:295px}.hero-intro .actions{gap:16px;margin-top:23px;flex-wrap:wrap}.button{padding:12px 17px;font-size:11px;gap:15px}.button .button-arrow{width:23px;height:23px;font-size:16px}.play-link{font-size:10px;gap:7px}.play-link>span{width:29px;height:29px;font-size:17px}.hero-bottom{padding-bottom:25px;padding-top:30px}.scroll-cue{font-size:6px;letter-spacing:1px}.scroll-cue>span{width:27px;height:35px}.interaction-hint{font-size:6px;letter-spacing:.7px;margin:0}.interaction-hint:after{content:'TOUCH TO INTERACT';font-size:6px;display:block}.interaction-hint{font-size:0;display:block;color:#6179a5}.interaction-hint .mouse-icon{display:none}.marquee{padding:20px 0}.marquee>div{font-size:11px;gap:25px}.marquee span{font-size:20px}.section{padding-top:60px;padding-bottom:60px}.section-heading{margin-bottom:32px}.section-heading h2,h2{font-size:37px;letter-spacing:-1.8px;line-height:1.1}.section-heading>div:last-child>p{margin-top:20px;max-width:320px}.section-heading>div:last-child>.button{margin-top:10px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:20px}.studio-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.studio-tabs button{font-size:11px;padding:16px 10px;border-bottom:1px solid #203d6620;justify-content:start;gap:15px}.studio-tabs button[aria-selected=true]{border-bottom:1px solid #2256d9}.studio-panel{grid-template-columns:1fr;padding-top:25px;gap:28px}.studio-visual{height:255px}.visual-tile{width:140px;height:140px;border-radius:23px}.visual-tile>span{font-size:70px}.visual-axis{width:230px;height:230px}.visual-caption{font-size:7px;left:19px;bottom:17px}.studio-copy{padding:0}.studio-copy h3{font-size:30px;max-width:300px}.studio-copy>p{font-size:13px}.studio-copy li{font-size:11px}.studio-links a{font-size:10px}.work-grid{grid-template-columns:1fr;gap:45px}.work-visual{height:300px;padding:35px 22px 0}.app-body{padding:15px}.app-title{font-size:10px}.app-title>span{font-size:5px}.app-top{font-size:6px}.vehicle-schematic{height:110px}.app-shell{min-height:235px}.app-rail{width:30px}.app-rail i{width:10px}.inspection-steps{font-size:6px}.app-report{font-size:6px}.app-report b{font-size:5px}.romac-stats b{font-size:20px}.romac-stats small{font-size:5px}.work-description{margin-top:20px}.work-description h3{font-size:26px;letter-spacing:-.7px}.work-card>p{font-size:12px}.overline{font-size:7px;letter-spacing:1px}.work-tags span{font-size:7px}.work-wide{grid-template-columns:1fr;margin-top:40px}.work-wide-copy{padding:30px 25px}.work-wide h3{font-size:28px}.file-visual{height:280px}.file-folder{width:230px;padding:20px}.file-folder>b{font-size:25px}.portfolio-note{font-size:8px;line-height:1.9}.manifesto{grid-template-columns:1fr;gap:25px}.manifesto-label{flex-direction:row;align-items:center}.manifesto-label .eyebrow{margin:0}.manifesto-star{font-size:40px}.manifesto h2{font-size:47px;letter-spacing:-2.8px}.manifesto p{font-size:13px;margin-top:25px}.manifesto .button{font-size:10px}.process-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.process-step>div{margin-bottom:30px}.process-step>div>b{font-size:24px}.process-step h3{font-size:19px}.process-step p{font-size:11px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section h2 br{display:none}.faq-section h2{font-size:36px}.faq-list summary{font-size:13px;gap:20px}details{padding:20px 0}details>p{font-size:12px}.final-cta{padding:50px 0 30px}.final-cta h2{font-size:60px;letter-spacing:-3px;line-height:1.05}.cta-star{font-size:60px;right:0;top:2px}.final-cta .eyebrow{font-size:7px}.cta-bottom{margin-top:35px;flex-direction:column;align-items:start;gap:25px}.big-email{font-size:14px;gap:20px;letter-spacing:-.3px}.big-email>span{font-size:21px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-top>div:first-child{grid-column:auto}.footer-top>div:first-child .brand{margin-top:-15px;margin-left:-5px}.footer-top>div:first-child p{font-size:10px;margin-top:8px}.footer-top>div:nth-child(3){grid-column:1/-1}.footer-top>div:nth-child(3)>a{display:inline-block;margin-right:15px}.footer-top>div>a:not(.brand){font-size:11px}.footer-top>div:last-child{grid-column:1/-1}.foot-bottom{font-size:9px;gap:15px;padding-bottom:55px;margin-top:25px}.whatsapp{font-size:9px;bottom:15px;right:15px;padding:10px 13px}.back-top{left:15px;bottom:17px;width:35px;height:35px}.page-intro{padding-top:45px;padding-bottom:40px}.page-intro:after{width:230px;height:230px;right:-80px;top:40px}.page-intro h1{font-size:40px;letter-spacing:-2px;line-height:1.05}.page-intro .lead{font-size:14px}.service-card{min-height:290px;padding:25px}.service-card h3{font-size:23px}.service-card p{font-size:12px}.detail{gap:25px}.detail-symbol{height:210px;font-size:140px}.detail h2{font-size:31px}.detail .availability{font-size:12px;padding:17px}.availability{font-size:12px}.contact-layout{padding-top:40px}.contact-item>a{font-size:16px}.contact-item p{font-size:13px}.contact-item>span{font-size:8px}.contact-layout form{padding:25px 20px}.prose h2{font-size:26px}.prose p{font-size:13px}.closing h2{font-size:45px}.closing p{font-size:13px}.product-live-preview{padding:20px 8px}.product-live-preview .app-window{transform:none}.product-live-preview .file-visual{height:300px}.catalog-tools input{font-size:12px}.three-col p,.four-col p{font-size:13px}.big-type{font-size:70px;letter-spacing:-4px}}@media(prefers-reduced-motion:reduce){.marquee>div{animation:none}.pointer-halo{display:none}.motion-ready .reveal{opacity:1;transform:none}.visual-tile,.file-folder,.app-window{transform:none}.hero-noise{display:none}}
.logo-window img{width:144px;height:144px;left:-22px;top:-16px}@media(max-width:850px){.logo-window img{width:124px;height:124px;left:-18px;top:-14px}}@media(max-width:600px){.logo-window img{width:110px;height:110px;left:-18px;top:-12px}}
.selected-work .button.text{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.service-detail-visual{height:410px}.solution-map{border-radius:8px;background:linear-gradient(140deg,#dbe5f6,#e9edf2);padding:35px;position:relative;overflow:hidden;isolation:isolate}.solution-map:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#315f9b10 1px,transparent 1px),linear-gradient(90deg,#315f9b10 1px,transparent 1px);background-size:30px 30px;z-index:-1}.solution-map>.overline{color:#7992b8;font-size:8px}.map-core{width:100px;height:100px;display:grid;place-items:center;background:white;border:1px solid #385a9530;border-radius:18px;box-shadow:0 14px 30px #20497815;margin:30px auto;overflow:hidden}.map-core .logo-window{width:80px;height:90px}.map-core .logo-window img{width:130px;height:130px;left:-24px;top:-14px}.map-features{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-features>span{padding:16px 14px;background:#ffffffba;box-shadow:0 3px 10px #20497808;border:1px solid #385a951a;border-radius:5px;color:#5a7397;font-size:11px;line-height:1.5}.map-features i{display:block;font-style:normal;color:#2256d9;margin-bottom:10px;font-size:17px}.solution-map>small{display:block;font:7px monospace;text-align:center;color:#97a5ba;margin-top:25px}.visual-tile{transform:translate(-50%,-50%) rotateX(calc(48deg + var(--tilt-y,0deg))) rotateZ(-35deg) rotateY(var(--tilt-x,0deg));transition:transform .3s ease-out}@media(max-width:600px){.service-detail-visual{height:260px}.solution-map{padding:25px}.map-features>span{font-size:10px;padding:14px 12px}}
/* A shared motion system carries the home-page experience through every route. */
.motion-intro{min-height:350px}.motion-intro:after{display:none}.page-motion-canvas{position:absolute;right:-3%;top:0;width:59%;height:100%;z-index:-1;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#0006 28%,#000 65%);opacity:.75}.motion-intro h1,.motion-intro .lead,.motion-intro>.eyebrow{position:relative;z-index:1}.inner-page .page-intro{background:radial-gradient(ellipse at var(--scene-x,85%) var(--scene-y,40%),#a9c8ff1a,transparent 55%)}.inner-page .three-col>article,.inner-page .four-col>article{padding:22px;border:1px solid #203b5e18;border-radius:6px;background:#ffffff45;transition:transform .35s,box-shadow .35s,background .35s}.inner-page .three-col>article:hover,.inner-page .four-col>article:hover{background:#fff;transform:translateY(-5px);box-shadow:0 15px 35px #2549760d}.tilt-preview{transform:perspective(1000px) rotateX(var(--preview-y,0deg)) rotateY(var(--preview-x,0deg));transition:transform .25s ease-out;will-change:transform}.tilt-preview.in-view{transform:perspective(1000px) rotateX(var(--preview-y,0deg)) rotateY(var(--preview-x,0deg))}.solution-map .map-features>span{transition:background .2s,transform .2s,box-shadow .2s}.solution-map .map-features>span:hover{transform:translateY(-4px);background:white;box-shadow:0 7px 18px #1d4b9b15}.contact-item{position:relative}.contact-item a{transition:color .2s,transform .2s}.contact-item a:hover{color:#2256d9;transform:translateX(4px)}form{position:relative;transition:box-shadow .3s,border-color .3s}form:focus-within{border-color:#507fe56b;box-shadow:0 20px 55px #2d60bc16}input,select,textarea{transition:border-color .2s,background .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{background:#fff;border-color:#5b83d2;box-shadow:0 0 0 4px #3e78ec08}.catalog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-5px 0 30px}.catalog-filters button{border:1px solid #253e6625;background:transparent;color:#6f829d;font-size:11px;padding:10px 16px;border-radius:30px;cursor:pointer;transition:background .2s,color .2s,transform .2s}.catalog-filters button:hover{transform:translateY(-2px);border-color:#3565ca70;color:#2256d9}.catalog-filters button[aria-pressed=true]{background:#2256d9;border-color:#2256d9;color:white}.catalog-tools span[role=status]{min-width:65px}.inner-page .closing{position:relative;isolation:isolate;overflow:hidden}.inner-page .closing:before{content:'';position:absolute;right:-50px;top:-80px;width:350px;height:350px;background:repeating-radial-gradient(circle,transparent 0,transparent 18px,#2256d90b 19px,transparent 20px);border-radius:50%;transform:translate(var(--closing-x,0px),var(--closing-y,0px));transition:transform .5s ease-out;z-index:-1}.inner-page .solution-rows>article{transition:background .3s,padding .3s}.inner-page .solution-rows>article:hover{background:#e8edf57d;padding-left:20px;padding-right:20px}.inner-page .principles article:hover h3{color:#2256d9}@media(max-width:850px){.motion-intro{min-height:320px}.page-motion-canvas{width:64%;right:-10%;opacity:.6}}@media(max-width:600px){.motion-intro{min-height:310px}.page-motion-canvas{width:100%;right:-25%;opacity:.35;mask-image:linear-gradient(90deg,transparent,#000 80%)}.catalog-filters{gap:6px;margin-bottom:23px}.catalog-filters button{font-size:10px;padding:9px 13px}.inner-page .three-col>article,.inner-page .four-col>article{padding:20px}.inner-page .closing:before{opacity:.5}.inner-page .solution-rows>article:hover{padding-left:0;padding-right:0}}@media(prefers-reduced-motion:reduce){.tilt-preview,.tilt-preview.in-view{transform:none!important}.inner-page .closing:before{transform:none}.inner-page .three-col>article:hover,.inner-page .four-col>article:hover,.catalog-filters button:hover,.solution-map .map-features>span:hover{transform:none}}
.motion-ready .tilt-preview.in-view{transform:perspective(1000px) rotateX(var(--preview-y,0deg)) rotateY(var(--preview-x,0deg))}@media(prefers-reduced-motion:reduce){.motion-ready .tilt-preview.in-view{transform:none!important}}
/* Slightly smaller original brand mark in the header and footer. */
.brand .logo-window{transform:scale(.8);transform-origin:left center;margin-right:-20px}@media(max-width:850px){.brand .logo-window{margin-right:-17px}}@media(max-width:600px){.brand .logo-window{margin-right:-15px}}
/* Phone-specific composition: content first, artwork in its own space. */
@media(max-width:700px){
 html{scroll-padding-top:90px}body{overflow-x:clip}.wrap{width:calc(100% - 40px)}header{height:74px;position:sticky;top:0;z-index:60}.nav{gap:18px}.nav .logo-window{width:75px;height:78px}.nav .logo-window img{width:110px;height:110px;left:-18px;top:-12px}.nav .brand .logo-window{margin-right:-15px}.nav>.button{display:none}.menu-toggle{display:grid;place-items:center;background:#f3f5f8;border:1px solid #192c4c20;width:44px;height:44px;padding:0;border-radius:50%;font-size:21px}.nav nav{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;padding:16px 20px 20px;border-bottom:1px solid #192c4c20;box-shadow:0 20px 30px #23375412;max-height:calc(100svh - 74px);overflow-y:auto}.nav nav.open{display:flex;flex-direction:column;gap:0}.nav nav a{font-size:16px;line-height:1.4;padding:14px 12px;border-bottom:1px solid #243d5b0d}.nav nav a[aria-current]{border-bottom-color:#2256d9;background:#f0f4ff;border-radius:5px}.hero-stage{min-height:0;background:radial-gradient(ellipse at 65% 75%,#e0e9ff,#f3f4f0 68%)}.hero-new{min-height:0;padding-top:25px;display:flex;flex-direction:column}.hero-topline{font-size:8px;letter-spacing:1.1px;gap:8px;line-height:1.6}.hero-location{display:none}.hero-title{width:100%;padding-top:32px}.hero-title h1{font-size:clamp(40px,11.3vw,57px);letter-spacing:-2.3px;line-height:1.06;font-weight:500}.hero-title h1 .gradient-word{letter-spacing:-2.3px}.hero-intro{max-width:none;margin-top:20px}.hero-intro>p{max-width:370px;font-size:14px;line-height:1.75;color:#637081}.hero-intro .actions{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:23px;max-width:370px;align-items:center}.hero-intro .button{padding:13px 15px;gap:9px;justify-content:space-between;font-size:11px;min-height:48px}.hero-intro .button .button-label{font-size:11px}.hero-intro .button .button-arrow{width:22px;height:22px;font-size:16px}.hero-intro .play-link{font-size:10px;gap:7px;min-height:48px}.hero-intro .play-link>span{width:28px;height:28px;flex-shrink:0;font-size:16px}.hero-bottom{margin-top:270px;padding-top:0;padding-bottom:22px;gap:20px;align-items:center}.hero-stage #hero-canvas{inset:auto 0 60px;width:100%;height:255px;z-index:-1}.hero-serial,.interaction-hint{display:none}.scroll-cue{font-size:8px;letter-spacing:1px;gap:9px}.scroll-cue>span{width:25px;height:33px;font-size:15px}.hero-noise{opacity:.14}.marquee{padding:17px 0}.marquee>div{font-size:10px;gap:23px}.marquee span{font-size:17px}.section{padding-top:52px;padding-bottom:52px}.eyebrow{font-size:9px;line-height:1.6;letter-spacing:1.3px;margin-bottom:18px}.section-heading{margin-bottom:27px}.section-heading h2,h2{font-size:clamp(30px,8.7vw,40px);letter-spacing:-1.5px;line-height:1.12}.section-heading>div:last-child>p,.section-heading>p{font-size:13px;line-height:1.8;margin-top:17px;max-width:360px}.section-heading>div:last-child>.button{margin-top:10px}.button.text{font-size:12px;min-height:44px}.studio-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.studio-tabs button{font-size:12px;min-height:50px;padding:15px 10px;gap:10px}.studio-tabs button span{font-size:8px}.studio-panel{display:flex;flex-direction:column;gap:23px;padding-top:23px;align-items:stretch}.studio-visual{width:100%;height:230px}.studio-copy h3{font-size:29px;max-width:100%;line-height:1.15;letter-spacing:-1px}.studio-copy>p{font-size:14px;line-height:1.8}.studio-copy li{font-size:12px;line-height:1.8;padding:6px 0}.studio-links{display:flex;gap:0;flex-direction:column}.studio-links a{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom-color:#234c9b25}.work-grid{grid-template-columns:1fr;gap:37px}.work-visual{height:275px;padding:28px 17px 0}.app-top{font-size:6px}.app-shell{min-height:220px}.app-body{padding:13px}.app-title{font-size:10px}.app-title>span{font-size:5px;padding:4px}.vehicle-schematic{height:100px}.work-description h3{font-size:25px;letter-spacing:-.7px;line-height:1.2}.work-card>p{font-size:13px;line-height:1.8}.work-tags{gap:6px}.work-tags span{font-size:9px;padding:7px 10px}.overline{font-size:8px;letter-spacing:1px;line-height:1.8}.work-wide{grid-template-columns:1fr;margin-top:35px}.work-wide-copy{padding:25px 22px}.work-wide h3{font-size:27px;line-height:1.2}.work-wide p{font-size:13px;line-height:1.8}.text-link{font-size:12px;min-height:44px}.file-visual{height:265px}.portfolio-note{font-size:10px;line-height:1.8;margin-top:23px}.manifesto{grid-template-columns:1fr;gap:24px}.manifesto-label{flex-direction:row;align-items:center}.manifesto-label .eyebrow{margin-bottom:0}.manifesto-star{font-size:40px}.manifesto h2{font-size:clamp(37px,10.6vw,52px);line-height:1.13;letter-spacing:-2px}.manifesto p{font-size:14px;line-height:1.85}.process-grid{grid-template-columns:1fr;gap:26px}.process-step{padding-top:17px}.process-step>div{margin-bottom:19px}.process-step>div>span{font-size:11px}.process-step h3{font-size:23px;max-width:none}.process-step p{font-size:13px;line-height:1.85;margin-top:12px;max-width:380px}.faq-section{grid-template-columns:1fr;gap:27px}.faq-section h2{font-size:34px}.faq-list summary{font-size:14px;line-height:1.6;gap:20px;min-height:44px}.faq-list details{padding:16px 0}.faq-list details>p{font-size:13px;line-height:1.85}.final-cta{padding:45px 0 30px}.final-cta h2{font-size:clamp(45px,13.5vw,65px);letter-spacing:-2.6px;line-height:1.08}.final-cta .eyebrow{font-size:8px;max-width:270px}.cta-star{font-size:46px;right:0;top:5px}.cta-bottom{flex-direction:column;align-items:start;gap:20px;margin-top:28px;padding-top:23px}.big-email{font-size:clamp(12px,3.8vw,17px);letter-spacing:-.3px;gap:12px;min-height:44px}.big-email>span{font-size:22px}.cta-bottom>.button{min-height:48px}.motion-intro{min-height:0;padding:35px 0 33px}.page-intro h1{font-size:clamp(31px,8.8vw,42px);line-height:1.12;letter-spacing:-1.3px;overflow-wrap:break-word}.page-intro .lead{font-size:14px;line-height:1.8;margin-top:19px}.page-motion-canvas{width:90%;right:-33%;opacity:.23;mask-image:linear-gradient(90deg,transparent,#000 85%)}.catalog-tools{margin-bottom:22px;gap:10px;align-items:stretch;flex-direction:column}.catalog-tools input{font-size:16px;line-height:1.4;padding:14px 15px;min-height:50px;border-radius:6px}.catalog-tools span{font-size:11px}.catalog-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;margin-right:-20px;padding:2px 20px 8px 0;margin-bottom:20px;scrollbar-width:none;gap:7px}.catalog-filters::-webkit-scrollbar{display:none}.catalog-filters button{flex:0 0 auto;min-height:44px;padding:10px 16px;font-size:12px;white-space:nowrap}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:23px;min-height:265px;border-radius:8px}.card-top{margin-bottom:23px}.service-card h3{font-size:24px;line-height:1.2;max-width:none}.service-card p{font-size:14px;line-height:1.8;margin:15px 0 22px}.card-link{font-size:12px;min-height:44px;padding-top:13px}.number{font-size:12px}.availability{font-size:12px;line-height:1.9;padding:17px 18px;margin:0 0 25px}.detail{grid-template-columns:1fr;gap:30px}.detail h2{font-size:30px;line-height:1.15}.detail p{font-size:14px;line-height:1.85;margin:19px 0}.detail h3{font-size:21px;margin:23px 0 14px}.detail ul li{font-size:13px;line-height:1.8}.detail>.button,.detail .button{min-height:48px;font-size:12px;white-space:normal}.service-detail-visual{height:245px}.product-live-preview{padding:15px 0}.product-live-preview .app-window{transform:none}.solution-map{padding:23px}.map-features{gap:9px}.map-features>span{font-size:11px;padding:14px 12px;line-height:1.6}.three-col,.four-col{grid-template-columns:1fr;gap:16px;margin-top:28px}.three-col h3,.four-col h3{font-size:21px}.three-col p,.four-col p{font-size:14px;line-height:1.8}.split{grid-template-columns:1fr;gap:28px}.approach>.split{padding-top:50px;padding-bottom:50px}.big-type{font-size:63px;letter-spacing:-3px;line-height:1.1}.story p{font-size:14px;line-height:1.85}.solution-rows>article{grid-template-columns:1fr;gap:20px;padding:35px 0}.solution-index{font-size:10px;line-height:1.8}.solution-rows h2{font-size:30px}.solution-rows p{font-size:14px;line-height:1.85;margin-top:20px}.solution-rows li{font-size:13px}.closing{padding-top:40px;padding-bottom:45px}.closing h2{font-size:43px;letter-spacing:-2px}.closing p{font-size:14px;line-height:1.8;margin-top:24px}.closing .button{min-height:48px}.contact-layout{grid-template-columns:1fr;padding-top:35px;padding-bottom:50px;gap:32px}.contact-layout aside{grid-template-columns:1fr;gap:22px}.contact-item{padding-bottom:22px}.contact-item>span{font-size:9px;letter-spacing:1.4px;margin-bottom:12px}.contact-item>a{font-size:16px;line-height:1.65;min-height:34px}.contact-item .small-link{font-size:13px;min-height:40px;display:flex;align-items:center}.contact-item p{font-size:14px;line-height:1.8}.contact-layout form{padding:25px 20px;border-radius:8px}form h2{font-size:27px;line-height:1.15;margin-bottom:27px}.form-row{grid-template-columns:1fr;gap:0}label{font-size:13px;line-height:1.5;margin-bottom:20px}label small{font-size:11px}input,select,textarea{font-size:16px;line-height:1.5;padding:13px 12px;min-height:48px;border-radius:5px}.form-note{font-size:12px;line-height:1.9;margin-bottom:20px}form .button{width:100%;min-height:50px;font-size:13px;justify-content:space-between}#form-status{font-size:13px}.prose{padding-top:35px;padding-bottom:50px}.prose h2{font-size:25px;margin:25px 0 14px}.prose p{font-size:14px;line-height:1.9}.footer-top{grid-template-columns:1fr 1fr;gap:28px 22px}.footer-top h3{font-size:12px;margin-bottom:15px}.footer-top p{font-size:12px;line-height:1.8}.footer-top>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:25px}.footer-top>div:first-child p{margin-top:0;font-size:12px}.footer-top>div:first-child .brand{margin:0}.footer-top>div:nth-child(3){grid-column:auto}.footer-top>div:nth-child(3)>a{display:block;margin-right:0}.footer-top>div:last-child{grid-column:1/-1}.footer-top>div>a:not(.brand){font-size:12px;line-height:1.8;min-height:32px;margin-bottom:5px;overflow-wrap:anywhere}.foot-bottom{margin-top:25px;padding-bottom:70px;gap:16px;font-size:10px;line-height:1.7}.foot-bottom a{min-height:32px;display:flex;align-items:center}.whatsapp{min-height:44px;right:14px;bottom:14px;font-size:11px;padding:10px 15px;gap:7px}.whatsapp span{font-size:18px}.back-top{width:40px;height:40px;left:14px;bottom:16px;font-size:16px}.pointer-halo{display:none!important}.motion-ready .reveal{transform:translateY(12px)}.motion-ready .reveal.in-view{transform:none}
}
@media(max-width:350px){.hero-title h1{font-size:40px;letter-spacing:-2px}.hero-intro .actions{gap:8px}.hero-intro .button{padding:12px 11px;gap:6px}.hero-intro .button .button-label{font-size:10px}.hero-intro .play-link{font-size:9px;gap:5px}.hero-intro .play-link>span{width:24px;height:24px}.wrap{width:calc(100% - 32px)}.hero-topline{font-size:7px}.hero-bottom{margin-top:250px}.hero-stage #hero-canvas{height:235px}}

/* TM-THEME-AWARE-TRANSPARENT-LOGO */
/* Render the existing logo artwork in the active theme's text colour. */
body[data-design="studio"] .brand .logo-window {
    background-color: var(--text) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-mask-image: url('/assets/tm-original-transparent.png');
    mask-image: url('/assets/tm-original-transparent.png');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

body[data-design="studio"] .brand .logo-window img {
    opacity: 0 !important;
    visibility: hidden !important;
}
/* END TM-THEME-AWARE-TRANSPARENT-LOGO */

/* TM-LOGO-BLUE-LIGHT-WHITE-DARK */
/* Preserve transparent logo artwork and recolour its visible silhouette. */
html:not([data-theme="dark"]) body[data-design="studio"] .brand .logo-window,
html[data-theme="light"] body[data-design="studio"] .brand .logo-window {
    background-color: #1749B8 !important;
    background-image: none !important;
    -webkit-mask-image: url('/assets/tm-original-transparent.png');
    mask-image: url('/assets/tm-original-transparent.png');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

html[data-theme="dark"] body[data-design="studio"] .brand .logo-window {
    background-color: #FFFFFF !important;
    background-image: none !important;
    -webkit-mask-image: url('/assets/tm-original-transparent.png');
    mask-image: url('/assets/tm-original-transparent.png');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

body[data-design="studio"] .brand .logo-window img {
    opacity: 0 !important;
    visibility: hidden !important;
}
/* END TM-LOGO-BLUE-LIGHT-WHITE-DARK */

/* TM-PORTFOLIO-LAYOUT-FIX-20261026 */

/* Keep the portfolio page independent of conflicting legacy layouts. */
body[data-design="studio"] .tm-portfolio-detail {
    display: block !important;
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 clamp(48px, 7vw, 100px);
    overflow: hidden;
    box-sizing: border-box;
    background: #f3f4f0;
    color: #171e28;
}

body[data-design="studio"] .tm-portfolio-detail *,
body[data-design="studio"] .tm-portfolio-detail *::before,
body[data-design="studio"] .tm-portfolio-detail *::after {
    box-sizing: border-box;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero {
    display: flex !important;
    position: relative !important;
    inset: auto !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 22px;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-width: none;
    margin: 0 0 clamp(30px, 5vw, 64px) !important;
    padding: clamp(42px, 7vw, 94px)
             max(24px, calc((100% - 1360px) / 2))
             clamp(38px, 5vw, 64px) !important;
    overflow: visible !important;
    background: #ffffff;
    border-bottom: 1px solid #18213120;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero > * {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    max-width: 100%;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero .eyebrow {
    margin: 0;
    line-height: 1.8;
}

body[data-design="studio"] .tm-portfolio-detail #tm-portfolio-title {
    display: block;
    position: relative !important;
    inset: auto !important;
    width: 100%;
    max-width: 1050px;
    height: auto !important;
    margin: 0 !important;
    padding: 0;
    transform: none !important;
    font-size: clamp(43px, 7.2vw, 100px);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -0.055em;
    overflow-wrap: anywhere;
    color: #171e28;
}

body[data-design="studio"] .tm-portfolio-detail #tm-portfolio-title span {
    position: static !important;
    display: inline;
    transform: none !important;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero p {
    position: relative !important;
    max-width: 760px;
    margin: 0;
    font-size: clamp(14px, 1.4vw, 17px);
    line-height: 1.85;
    overflow-wrap: anywhere;
    color: #66717d;
}

/* Consistent, readable project layouts. */
body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case {
    display: grid !important;
    position: relative;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
    align-items: center;
    gap: clamp(24px, 5vw, 72px);
    width: min(1360px, calc(100% - 80px));
    max-width: 1360px;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: clamp(34px, 5vw, 68px) 0 !important;
    overflow: visible !important;
    border-bottom: 1px solid #18213120;
    background: transparent;
    color: #171e28;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case > * {
    position: relative;
    inset: auto;
    min-width: 0;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    transform: none;
    overflow-wrap: anywhere;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case h2 {
    max-width: 620px;
    margin: 12px 0 18px;
    font-size: clamp(28px, 3.5vw, 46px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -0.04em;
    color: #171e28;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case h3 {
    margin: 0 0 16px;
    font-size: clamp(20px, 2.3vw, 29px);
    line-height: 1.25;
    letter-spacing: -0.025em;
    color: #263b59;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case p {
    max-width: 620px;
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.85;
    color: #66717d;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case .overline {
    display: block;
    margin-bottom: 10px;
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: 1.3px;
    color: #2256d9;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case > :first-child {
    min-width: 0;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case.tm-portfolio-reverse > :first-child {
    order: 2;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case.tm-portfolio-reverse > :last-child {
    order: 1;
}

/* Keep project previews inside their columns. */
body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case img,
body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case svg,
body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case iframe {
    max-width: 100%;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case img {
    height: auto;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-contact {
    width: min(1360px, calc(100% - 80px));
    max-width: 1360px;
    margin: clamp(38px, 6vw, 80px) auto 0;
    padding: clamp(28px, 5vw, 60px);
    border: 1px solid #18213120;
    background: #ffffff;
    color: #171e28;
}

body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-contact h2 {
    max-width: 800px;
    line-height: 1.12;
    overflow-wrap: anywhere;
    color: #171e28;
}

/* Dark theme: consistent dark background and readable foreground. */
html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail {
    background: #0b1022;
    color: #f4f6fc;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero {
    background: #111b30;
    border-bottom-color: #ffffff18;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail #tm-portfolio-title,
html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case h2,
html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-contact h2 {
    color: #f4f6fc;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero p,
html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case p {
    color: #a3afc8;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case {
    color: #f4f6fc;
    border-bottom-color: #ffffff18;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case h3 {
    color: #e3eaf8;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case .overline {
    color: #83a6ff;
}

html[data-theme="dark"] body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-contact {
    background: #111b30;
    border-color: #ffffff20;
    color: #f4f6fc;
}

/* Responsive: stack project copy and previews on narrow screens. */
@media (max-width: 760px) {
    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-hero {
        gap: 18px;
        margin-bottom: 22px !important;
        padding: 42px 22px 34px !important;
    }

    body[data-design="studio"] .tm-portfolio-detail #tm-portfolio-title {
        font-size: clamp(39px, 10vw, 64px);
        line-height: 1.06;
        letter-spacing: -0.045em;
    }

    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px;
        width: calc(100% - 44px);
        padding: 35px 0 !important;
    }

    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case.tm-portfolio-reverse > :first-child,
    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case.tm-portfolio-reverse > :last-child {
        order: initial;
    }

    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case h2 {
        font-size: clamp(28px, 7vw, 38px);
    }

    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-case h3 {
        font-size: 23px;
    }

    body[data-design="studio"] .tm-portfolio-detail .tm-portfolio-contact {
        width: calc(100% - 44px);
        margin-top: 38px;
        padding: 26px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-design="studio"] .tm-portfolio-detail *,
    body[data-design="studio"] .tm-portfolio-detail *::before,
    body[data-design="studio"] .tm-portfolio-detail *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* END TM-PORTFOLIO-LAYOUT-FIX-20261026 */

/* TM-WHATSAPP-FLOAT-FIX-20261026 */

/* Keep WhatsApp fully visible and separate from the chat launcher. */
body[data-design="studio"] a.whatsapp {
    position: fixed !important;
    left: auto !important;
    right: max(20px, env(safe-area-inset-right)) !important;
    bottom: max(20px, env(safe-area-inset-bottom)) !important;
    z-index: 9998 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: max-content !important;
    max-width: calc(100vw - 40px) !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 18px !important;
    margin: 0 !important;
    border: 1px solid #d8e1ef !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 28px rgba(10, 25, 50, .14) !important;
}

html:not([data-theme="dark"]) body[data-design="studio"] a.whatsapp {
    background: #ffffff !important;
    color: #1749bd !important;
    border-color: #d8e1ef !important;
}

html[data-theme="light"] body[data-design="studio"] a.whatsapp {
    background: #ffffff !important;
    color: #1749bd !important;
    border-color: #d8e1ef !important;
}

html[data-theme="dark"] body[data-design="studio"] a.whatsapp {
    background: #192844 !important;
    color: #ffffff !important;
    border-color: #405371 !important;
}

/* Avoid clipping the button on smaller screens. */
@media (max-width: 600px) {
    body[data-design="studio"] a.whatsapp {
        right: max(12px, env(safe-area-inset-right)) !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        min-height: 44px !important;
        padding: 10px 14px !important;
        font-size: 11px !important;
    }
}

/* END TM-WHATSAPP-FLOAT-FIX-20261026 */

/* TM-UI-POLISH-BATCH1-20261026
   Global visual refinement. Existing layout and components retained. */

:root {
  --ui-content-width: 1200px;
  --ui-page-gutter: clamp(20px, 4.2vw, 64px);
  --ui-section-space: clamp(64px, 8vw, 112px);
  --ui-radius: 14px;
  --ui-radius-small: 8px;
  --ui-focus: #4778ff;
}

html {
  scroll-padding-top: 100px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body[data-design="studio"] {
  overflow-x: clip;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body[data-design="studio"] .wrap {
  width: min(
    var(--ui-content-width),
    calc(100% - 2 * var(--ui-page-gutter))
  );
  margin-inline: auto;
}

body[data-design="studio"] img,
body[data-design="studio"] video,
body[data-design="studio"] iframe {
  max-width: 100%;
}

body[data-design="studio"] p {
  max-width: 72ch;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

body[data-design="studio"] h1,
body[data-design="studio"] h2,
body[data-design="studio"] h3 {
  text-wrap: balance;
  overflow-wrap: anywhere;
}

body[data-design="studio"] h1 {
  line-height: 1.06;
  letter-spacing: -.045em;
}

body[data-design="studio"] h2 {
  line-height: 1.14;
  letter-spacing: -.035em;
}

body[data-design="studio"] section.wrap.section,
body[data-design="studio"] .wrap.section {
  padding-block: var(--ui-section-space);
}

/* Navigation and brand alignment */
body[data-design="studio"] header {
  max-width: 100%;
}

body[data-design="studio"] .nav {
  min-width: 0;
  gap: clamp(12px, 1.7vw, 24px);
}

body[data-design="studio"] .brand {
  min-width: 0;
  flex-shrink: 0;
}

body[data-design="studio"] .brand .logo-window {
  flex-shrink: 0;
}

body[data-design="studio"] .brand .logo-window img {
  object-fit: contain;
  object-position: center;
}

/* Consistent interactive elements */
body[data-design="studio"] .button,
body[data-design="studio"] button,
body[data-design="studio"] input,
body[data-design="studio"] select,
body[data-design="studio"] textarea {
  font: inherit;
}

body[data-design="studio"] .button {
  min-height: 46px;
  border-radius: var(--ui-radius-small);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background-color .2s ease,
    border-color .2s ease;
}

body[data-design="studio"] .button:active {
  transform: translateY(1px);
}

body[data-design="studio"] a {
  text-underline-offset: .2em;
}

body[data-design="studio"] a:focus-visible,
body[data-design="studio"] button:focus-visible,
body[data-design="studio"] summary:focus-visible,
body[data-design="studio"] input:focus-visible,
body[data-design="studio"] select:focus-visible,
body[data-design="studio"] textarea:focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 3px;
}

body[data-design="studio"] input,
body[data-design="studio"] select,
body[data-design="studio"] textarea {
  max-width: 100%;
  border-radius: var(--ui-radius-small);
}

body[data-design="studio"] textarea {
  resize: vertical;
}

/* Keep major content blocks visually coherent */
body[data-design="studio"] .process-grid,
body[data-design="studio"] .service-grid,
body[data-design="studio"] .services-grid {
  align-items: stretch;
}

body[data-design="studio"] .process-step,
body[data-design="studio"] .service-card,
body[data-design="studio"] .solution-card {
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-design="studio"] .process-step {
  border-radius: var(--ui-radius);
}

body[data-design="studio"] .seo-questions details {
  min-width: 0;
}

body[data-design="studio"] .seo-questions summary {
  cursor: pointer;
  line-height: 1.6;
}

body[data-design="studio"] .seo-questions details > p {
  padding-bottom: 12px;
}

/* Footer layout and contact details */
body[data-design="studio"] .footer-top {
  align-items: start;
}

body[data-design="studio"] .footer-top > div {
  min-width: 0;
}

body[data-design="studio"] .footer-top a,
body[data-design="studio"] .foot-bottom a {
  overflow-wrap: anywhere;
}

body[data-design="studio"] .footer-top > div:first-child .brand {
  align-self: flex-start;
}

/* Floating controls must stay within the viewport */
body[data-design="studio"] .whatsapp,
body[data-design="studio"] .back-top {
  max-width: calc(100vw - 28px);
}

body[data-design="studio"] .whatsapp {
  z-index: 70;
}

body[data-design="studio"] .back-top {
  z-index: 69;
}

/* Responsive gutters and layout protection */
@media (max-width: 850px) {
  :root {
    --ui-page-gutter: 24px;
    --ui-section-space: 64px;
  }

  body[data-design="studio"] .wrap {
    width: calc(100% - 2 * var(--ui-page-gutter));
  }

  body[data-design="studio"] .nav {
    gap: 12px;
  }

  body[data-design="studio"] .footer-top {
    gap: 28px 20px;
  }
}

@media (max-width: 600px) {
  :root {
    --ui-page-gutter: 20px;
    --ui-section-space: 52px;
  }

  body[data-design="studio"] h1 {
    letter-spacing: -.035em;
  }

  body[data-design="studio"] h2 {
    letter-spacing: -.025em;
  }

  body[data-design="studio"] p {
    line-height: 1.75;
  }

  body[data-design="studio"] .button {
    min-height: 46px;
  }

  body[data-design="studio"] .footer-top {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-design="studio"] .footer-top > div,
  body[data-design="studio"] .footer-top > div:first-child,
  body[data-design="studio"] .footer-top > div:last-child {
    grid-column: 1 / -1;
    min-width: 0;
  }

  body[data-design="studio"] .foot-bottom {
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-design="studio"] *,
  body[data-design="studio"] *::before,
  body[data-design="studio"] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* END TM-UI-POLISH-BATCH1-20261026 */

/* TM-UI-REPAIR-BATCH2-20261026
   Layout, contrast, CTA and responsive corrections. */

html,
body[data-design="studio"] {
    max-width: 100%;
    overflow-x: clip;
}

body[data-design="studio"] *,
body[data-design="studio"] *::before,
body[data-design="studio"] *::after {
    box-sizing: border-box;
}

body[data-design="studio"] img,
body[data-design="studio"] video,
body[data-design="studio"] iframe {
    max-width: 100%;
}

body[data-design="studio"] .wrap {
    min-width: 0;
}

body[data-design="studio"] .process-section {
    overflow: clip;
}

body[data-design="studio"] .process-section .section {
    min-width: 0;
}

body[data-design="studio"] .process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
    width: 100%;
    min-width: 0;
}

body[data-design="studio"] .process-step {
    min-width: 0;
    width: 100%;
    overflow-wrap: anywhere;
}

body[data-design="studio"] .process-step h3 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
    line-height: 1.3;
}

body[data-design="studio"] .process-step p {
    max-width: 100%;
    line-height: 1.75;
}

body[data-design="studio"] .closing {
    position: relative;
    isolation: isolate;
    min-width: 0;
    overflow-wrap: anywhere;
}

body[data-design="studio"] .closing h2 {
    color: #172033;
    line-height: 1.08;
    text-wrap: balance;
}

body[data-design="studio"] .closing p {
    color: #475569;
    line-height: 1.8;
}

body[data-design="studio"] .closing .eyebrow {
    color: #475569;
}

body[data-design="studio"] .closing a:not(.button) {
    color: #2256d9;
    overflow-wrap: anywhere;
}

body[data-design="studio"] .closing .button {
    position: relative;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    margin-bottom: 20px;
}

body[data-design="studio"] .process-step,
body[data-design="studio"] .solution-rows > article,
body[data-design="studio"] .contact-layout > *,
body[data-design="studio"] .footer-top > * {
    min-width: 0;
}

body[data-design="studio"] .whatsapp {
    z-index: 1000;
    max-width: calc(100vw - 28px);
    white-space: nowrap;
}

@media (max-width: 1000px) {
    body[data-design="studio"] .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }
}

@media (max-width: 600px) {
    body[data-design="studio"] .process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    body[data-design="studio"] .process-step {
        padding: 24px 0;
    }

    body[data-design="studio"] .closing h2 {
        font-size: clamp(36px, 10vw, 48px);
        letter-spacing: -1.5px;
    }

    body[data-design="studio"] .closing .button {
        width: 100%;
        justify-content: space-between;
    }

    body[data-design="studio"] .contact-layout form {
        min-width: 0;
        max-width: 100%;
    }
}

/* END TM-UI-REPAIR-BATCH2-20261026 */

/* TM-HOMEPAGE-REDESIGN-BATCH3-20261026
   Cohesive homepage design refinement. Existing content and URLs retained. */

body[data-design="studio"] {
    --tm-accent: #2859e8;
    --tm-accent-hover: #1946c8;
    --tm-radius: 18px;
    --tm-content-width: 1480px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body[data-design="studio"] .wrap {
    width: min(var(--tm-content-width), calc(100% - 64px));
    margin-inline: auto;
}

body[data-design="studio"] main,
body[data-design="studio"] main > section,
body[data-design="studio"] .section {
    min-width: 0;
}

body[data-design="studio"] main > section {
    scroll-margin-top: 100px;
}

body[data-design="studio"] h1,
body[data-design="studio"] h2,
body[data-design="studio"] h3 {
    text-wrap: balance;
    overflow-wrap: normal;
}

body[data-design="studio"] p {
    text-wrap: pretty;
}

body[data-design="studio"] a {
    text-underline-offset: 0.2em;
}

body[data-design="studio"] a:focus-visible,
body[data-design="studio"] button:focus-visible,
body[data-design="studio"] input:focus-visible,
body[data-design="studio"] select:focus-visible,
body[data-design="studio"] textarea:focus-visible,
body[data-design="studio"] summary:focus-visible {
    outline: 3px solid #6d9cff;
    outline-offset: 4px;
}

body[data-design="studio"] .button {
    min-height: 50px;
    border-radius: 999px;
    font-weight: 650;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

body[data-design="studio"] .button:hover {
    transform: translateY(-2px);
}

body[data-design="studio"] .button.primary,
body[data-design="studio"] a.button:not(.text) {
    max-width: 100%;
}

/* Homepage hero: use the existing hero structure and content. */
body[data-design="studio"]:not(.inner-page) main > section:first-child {
    position: relative;
    isolation: isolate;
}

body[data-design="studio"] .hero,
body[data-design="studio"] .home-hero,
body[data-design="studio"] .hero-section {
    position: relative;
    isolation: isolate;
    min-width: 0;
    overflow: clip;
}

body[data-design="studio"] .hero h1,
body[data-design="studio"] .home-hero h1,
body[data-design="studio"] .hero-section h1 {
    max-width: 1000px;
    margin-inline: auto;
    font-size: clamp(46px, 6.2vw, 100px);
    line-height: .99;
    letter-spacing: -.065em;
    font-weight: 750;
}

body[data-design="studio"] .hero p,
body[data-design="studio"] .home-hero p,
body[data-design="studio"] .hero-section p {
    line-height: 1.8;
}

body[data-design="studio"] .hero .button,
body[data-design="studio"] .home-hero .button,
body[data-design="studio"] .hero-section .button {
    white-space: normal;
}

body[data-design="studio"] .hero img,
body[data-design="studio"] .home-hero img,
body[data-design="studio"] .hero-section img {
    height: auto;
}

/* Section rhythm and headings. */
body[data-design="studio"] .section {
    padding-top: clamp(64px, 8vw, 120px);
    padding-bottom: clamp(64px, 8vw, 120px);
}

body[data-design="studio"] .section-heading {
    column-gap: clamp(32px, 6vw, 100px);
    row-gap: 24px;
    align-items: end;
    margin-bottom: clamp(36px, 5vw, 68px);
}

body[data-design="studio"] .section-heading h2 {
    font-size: clamp(36px, 4.7vw, 68px);
    line-height: 1.04;
    letter-spacing: -.05em;
}

body[data-design="studio"] .section-heading > p {
    max-width: 48ch;
    line-height: 1.85;
}

/* Consistent process grid with no clipped first or last cards. */
body[data-design="studio"] .process-section {
    overflow: clip;
}

body[data-design="studio"] .process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 28px);
    width: 100%;
}

body[data-design="studio"] .process-step {
    min-width: 0;
    padding: clamp(20px, 2.2vw, 30px);
    border: 1px solid var(--line);
    border-radius: var(--tm-radius);
    overflow-wrap: anywhere;
}

body[data-design="studio"] .process-step h3 {
    font-size: clamp(18px, 1.6vw, 24px);
    line-height: 1.3;
}

body[data-design="studio"] .process-step p {
    font-size: 15px;
    line-height: 1.8;
}

/* More consistent project and solution cards. */
body[data-design="studio"] .selected-work,
body[data-design="studio"] .solution-rows {
    min-width: 0;
}

body[data-design="studio"] .selected-work article,
body[data-design="studio"] .selected-work .work-card,
body[data-design="studio"] .selected-work .project-card {
    min-width: 0;
    border-radius: var(--tm-radius);
}

body[data-design="studio"] .selected-work img,
body[data-design="studio"] .work-card img,
body[data-design="studio"] .project-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

body[data-design="studio"] .solution-rows > article {
    min-width: 0;
    column-gap: clamp(24px, 5vw, 80px);
}

body[data-design="studio"] .solution-rows h2 {
    line-height: 1.12;
    letter-spacing: -.035em;
}

body[data-design="studio"] .solution-rows p,
body[data-design="studio"] .solution-rows li {
    line-height: 1.8;
}

/* Contact CTA: reliable contrast on a light background. */
body[data-design="studio"] .closing {
    position: relative;
    isolation: isolate;
    min-width: 0;
    overflow: clip;
}

body[data-design="studio"] .closing h2 {
    color: #172033;
    font-size: clamp(42px, 7vw, 96px);
    line-height: 1.02;
    letter-spacing: -.055em;
}

body[data-design="studio"] .closing p,
body[data-design="studio"] .closing .eyebrow {
    color: #475569;
    line-height: 1.8;
}

body[data-design="studio"] .closing a:not(.button) {
    color: #2256d9;
    overflow-wrap: anywhere;
}

body[data-design="studio"] .closing .button {
    position: relative;
    z-index: 2;
    white-space: normal;
}

/* Footer readability and alignment. */
body[data-design="studio"] .footer-top {
    gap: clamp(24px, 4vw, 60px);
}

body[data-design="studio"] .footer-top > * {
    min-width: 0;
}

body[data-design="studio"] .footer-top a,
body[data-design="studio"] .foot-bottom a {
    overflow-wrap: anywhere;
}

/* Floating controls must not cause horizontal overflow. */
body[data-design="studio"] .whatsapp,
body[data-design="studio"] .back-top {
    max-width: calc(100vw - 28px);
}

body[data-design="studio"] .whatsapp {
    z-index: 1000;
}

body[data-design="studio"] .back-top {
    z-index: 999;
}

/* Theme-aware colour adjustments. */
html[data-theme="light"] body[data-design="studio"] {
    --bg: #f5f7fb;
    --panel: #ffffff;
    --text: #172033;
    --muted: #596579;
    --line: #17203318;
}

html[data-theme="light"] body[data-design="studio"] .process-step {
    background: #ffffff;
    border-color: #dfe5ef;
}

html[data-theme="dark"] body[data-design="studio"] {
    --bg: #0b1020;
    --panel: #111b30;
    --text: #f3f6ff;
    --muted: #aab7ce;
    --line: #ffffff18;
}

html[data-theme="dark"] body[data-design="studio"] .process-step {
    background: #101a2e;
    border-color: #273753;
}

@media (min-width: 1600px) {
    body[data-design="studio"] .wrap {
        width: min(var(--tm-content-width), calc(100% - 96px));
    }
}

@media (max-width: 1000px) {
    body[data-design="studio"] .wrap {
        width: calc(100% - 48px);
    }

    body[data-design="studio"] .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    body[data-design="studio"] .section-heading {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 600px) {
    body[data-design="studio"] .wrap {
        width: calc(100% - 36px);
    }

    body[data-design="studio"] .section {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    body[data-design="studio"] .process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    body[data-design="studio"] .process-step {
        padding: 24px 0;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    body[data-design="studio"] .hero h1,
    body[data-design="studio"] .home-hero h1,
    body[data-design="studio"] .hero-section h1 {
        font-size: clamp(42px, 12vw, 64px);
        letter-spacing: -.055em;
    }

    body[data-design="studio"] .section-heading h2 {
        font-size: clamp(34px, 9vw, 48px);
    }

    body[data-design="studio"] .closing h2 {
        font-size: clamp(38px, 11vw, 58px);
    }

    body[data-design="studio"] .closing .button {
        width: 100%;
        justify-content: space-between;
    }

    body[data-design="studio"] .footer-top {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-design="studio"] .footer-top > div {
        grid-column: auto !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-design="studio"] *,
    body[data-design="studio"] *::before,
    body[data-design="studio"] *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* END TM-HOMEPAGE-REDESIGN-BATCH3-20261026 */

/* TM-HOMEPAGE-REDESIGN-20261026 */
.tm-home-v3 {
  --v3-blue: #5e82ff;
  --v3-blue-deep: #315eea;
  --v3-ink: #f5f7ff;
  --v3-muted: #aab7d0;
  --v3-line: rgba(255,255,255,.13);
  color: var(--v3-ink);
  background: #0b1020;
  overflow: clip;
}
.tm-home-v3 * { box-sizing: border-box; }
.tm-home-v3 .wrap { width: min(1240px,calc(100% - 64px)); margin-inline:auto; }
.tm-home-v3 section { position:relative; }
.tm-home-v3 h1,.tm-home-v3 h2,.tm-home-v3 h3 { color:inherit; text-wrap:balance; }
.tm-home-v3 p { max-width:68ch; }
.tm-home-v3 em { color:var(--v3-blue); font-style:normal; }
.tm-home-v3 a { text-decoration:none; }
.tm-home-v3 .tm-v3-hero { min-height:690px; padding:94px 0 38px; background:radial-gradient(ellipse at 76% 36%,rgba(53,91,203,.20),transparent 38%),#0b1020; isolation:isolate; }
.tm-home-v3 .tm-v3-hero-layout { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:center; gap:clamp(38px,6vw,86px); }
.tm-home-v3 .tm-v3-hero-copy { position:relative; z-index:2; }
.tm-home-v3 .tm-v3-eyebrow { display:flex; align-items:center; gap:11px; color:#9eafd0; font-size:10px; font-weight:750; letter-spacing:.17em; line-height:1.6; }
.tm-home-v3 .tm-v3-eyebrow>span { display:inline-block; width:7px; height:7px; flex:none; border-radius:50%; background:#7292ff; box-shadow:0 0 15px #7292ff80; }
.tm-home-v3 .tm-v3-hero h1 { margin:28px 0 24px; max-width:760px; font-size:clamp(48px,5.6vw,82px); line-height:.99; letter-spacing:-.065em; font-weight:760; }
.tm-home-v3 .tm-v3-lead { color:#b2bfd5; font-size:17px; line-height:1.85; max-width:570px; }
.tm-home-v3 .tm-v3-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.tm-home-v3 .tm-v3-btn { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:51px; padding:0 22px; border-radius:6px; font-size:13px; font-weight:700; transition:transform .2s,background .2s; }
.tm-home-v3 .tm-v3-btn:hover { transform:translateY(-2px); }
.tm-home-v3 .tm-v3-btn-primary { color:white; background:#4169f2; box-shadow:0 10px 28px #315eea30; }
.tm-home-v3 .tm-v3-btn-primary:hover { background:#5278ff; }
.tm-home-v3 .tm-v3-btn-secondary { color:#e8edff; border:1px solid #ffffff2b; }
.tm-home-v3 .tm-v3-markets { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:45px; color:#e0e7f8; font-size:12px; }
.tm-home-v3 .tm-v3-markets>span { color:#7f91b2; font-size:9px; letter-spacing:.12em; margin-right:4px; }
.tm-home-v3 .tm-v3-markets i { width:3px; height:3px; border-radius:50%; background:#6f83a8; }
.tm-home-v3 .tm-v3-visual { position:relative; min-width:0; padding:20px; border:1px solid #ffffff20; border-radius:13px; background:linear-gradient(145deg,#17233d,#0d1425 76%); box-shadow:0 35px 100px #0005; }
.tm-home-v3 .tm-v3-visual-top { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#8192b1; font-size:9px; letter-spacing:.12em; padding:0 0 18px; }
.tm-home-v3 .tm-v3-window-dots { display:flex; gap:5px; }
.tm-home-v3 .tm-v3-window-dots i { width:6px; height:6px; border-radius:50%; background:#526481; }
.tm-home-v3 .tm-v3-dashboard { position:relative; padding:clamp(20px,3vw,34px); border:1px solid #ffffff15; border-radius:8px; background:linear-gradient(145deg,#131e34,#0d1424); }
.tm-home-v3 .tm-v3-dashboard-label { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#899abb; font-size:9px; letter-spacing:.13em; }
.tm-home-v3 .tm-v3-live-dot { width:7px; height:7px; border-radius:50%; background:#87d9b4; box-shadow:0 0 12px #87d9b480; }
.tm-home-v3 .tm-v3-dashboard-title { margin:30px 0 26px; font-size:clamp(30px,3vw,45px); font-weight:750; line-height:1.07; letter-spacing:-.045em; }
.tm-home-v3 .tm-v3-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tm-home-v3 .tm-v3-mini-card { position:relative; min-height:112px; padding:15px; border:1px solid #ffffff13; border-radius:6px; background:#17243b; }
.tm-home-v3 .tm-v3-mini-card:first-child { grid-row:span 2; min-height:234px; }
.tm-home-v3 .tm-v3-mini-card>span { color:#8fa1c2; font-size:8px; letter-spacing:.12em; }
.tm-home-v3 .tm-v3-mini-card>b { display:block; margin-top:22px; font-size:17px; line-height:1.25; }
.tm-home-v3 .tm-v3-mini-card>i { position:absolute; right:14px; bottom:13px; color:#91a8ff; font-style:normal; }
.tm-home-v3 .tm-v3-mini-blue { background:linear-gradient(150deg,#3156c2,#1a2b56); }
.tm-home-v3 .tm-v3-mini-blue>b { font-size:23px; }
.tm-home-v3 .tm-v3-dashboard-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:22px; color:#8191b1; font-size:8px; letter-spacing:.12em; }
.tm-home-v3 .tm-v3-dashboard-footer i { width:3px; height:3px; border-radius:50%; background:#7083a9; }
.tm-home-v3 .tm-v3-orbit { position:absolute; z-index:-1; border:1px solid #6887ff17; border-radius:50%; pointer-events:none; }
.tm-home-v3 .tm-v3-orbit-one { width:440px; height:440px; right:-160px; top:-170px; }
.tm-home-v3 .tm-v3-orbit-two { width:560px; height:560px; right:-220px; top:-230px; }
.tm-home-v3 .tm-v3-scroll-note { display:flex; align-items:center; gap:12px; width:min(1240px,calc(100% - 64px)); margin:65px auto 0; color:#8293b2; font-size:9px; letter-spacing:.15em; }
.tm-home-v3 .tm-v3-scroll-note>span { height:1px; width:30px; background:#5977db; }
.tm-home-v3 .tm-v3-intro { padding:100px 0; background:#10182a; border-top:1px solid #ffffff0c; border-bottom:1px solid #ffffff0c; }
.tm-home-v3 .tm-v3-intro-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:20px 50px; align-items:start; }
.tm-home-v3 .tm-v3-intro-layout>.tm-v3-eyebrow { padding-top:12px; }
.tm-home-v3 .tm-v3-intro h2,.tm-home-v3 .tm-v3-section-heading h2,.tm-home-v3 .tm-v3-principles h2,.tm-home-v3 .tm-v3-faq h2 { margin:0; font-size:clamp(36px,4.6vw,62px); line-height:1.06; letter-spacing:-.05em; }
.tm-home-v3 .tm-v3-intro p { grid-column:2; margin:0; color:#aab8d0; line-height:1.85; }
.tm-home-v3 .tm-v3-section { padding-top:108px; padding-bottom:108px; }
.tm-home-v3 .tm-v3-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.65fr); gap:30px 70px; align-items:end; margin-bottom:42px; }
.tm-home-v3 .tm-v3-section-heading .tm-v3-eyebrow { margin-bottom:22px; }
.tm-home-v3 .tm-v3-section-heading>p { margin:0 0 5px; color:#aab8d0; font-size:15px; line-height:1.85; }
.tm-home-v3 .tm-v3-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.tm-home-v3 .tm-v3-service { position:relative; display:flex; flex-direction:column; min-width:0; min-height:300px; padding:25px; overflow:hidden; border:1px solid #ffffff17; border-radius:9px; background:#111b2d; color:#f4f7ff; transition:transform .22s,border-color .22s,background .22s; }
.tm-home-v3 .tm-v3-service:hover { transform:translateY(-4px); border-color:#6585ff70; background:#14213a; }
.tm-home-v3 .tm-v3-service-featured { background:linear-gradient(145deg,#1c3263,#121d33); }
.tm-home-v3 .tm-v3-card-number { color:#91a4c7; font-size:9px; font-weight:700; letter-spacing:.13em; }
.tm-home-v3 .tm-v3-card-icon { display:grid; place-items:center; width:42px; height:42px; margin:29px 0 21px; border:1px solid #6e8aff40; border-radius:9px; color:#8fa6ff; font-size:21px; }
.tm-home-v3 .tm-v3-service h3 { margin:0 0 12px; font-size:22px; line-height:1.25; letter-spacing:-.025em; }
.tm-home-v3 .tm-v3-service p { margin:0 0 24px; color:#aab8d0; font-size:13px; line-height:1.8; }
.tm-home-v3 .tm-v3-card-link { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:auto; padding-top:15px; border-top:1px solid #ffffff16; color:#e6ecff; font-size:11px; font-weight:700; }
.tm-home-v3 .tm-v3-card-link b { color:#92a8ff; font-size:16px; }
.tm-home-v3 .tm-v3-service-cta { background:#17233a; }
.tm-home-v3 .tm-v3-work { background:#10182a; border-top:1px solid #ffffff0c; border-bottom:1px solid #ffffff0c; }
.tm-home-v3 .tm-v3-work-panel { display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border:1px solid #ffffff17; border-radius:10px; background:#0c1424; }
.tm-home-v3 .tm-v3-work-art { display:grid; place-items:center; min-height:350px; padding:34px; background:radial-gradient(ellipse at 50% 40%,#344f9a65,transparent 70%),#101a30; }
.tm-home-v3 .tm-v3-work-window { width:100%; max-width:460px; border:1px solid #ffffff2b; border-radius:8px; background:#111c31; box-shadow:0 24px 65px #0005; transform:rotate(-2deg); }
.tm-home-v3 .tm-v3-work-window-top { display:flex; align-items:center; gap:5px; padding:12px; border-bottom:1px solid #ffffff18; }
.tm-home-v3 .tm-v3-work-window-top i { width:5px; height:5px; border-radius:50%; background:#7184a6; }
.tm-home-v3 .tm-v3-work-window-top span { margin-left:auto; color:#8495b4; font-size:8px; letter-spacing:.12em; }
.tm-home-v3 .tm-v3-work-window-body { display:grid; grid-template-columns:40px 1fr; min-height:235px; }
.tm-home-v3 .tm-v3-work-side { display:flex; flex-direction:column; align-items:center; gap:19px; padding-top:20px; border-right:1px solid #ffffff15; }
.tm-home-v3 .tm-v3-work-side b { width:13px; height:13px; border-radius:4px; background:#30456e; }
.tm-home-v3 .tm-v3-work-content { padding:25px; }
.tm-home-v3 .tm-v3-work-content>span { color:#91a5ce; font-size:8px; letter-spacing:.13em; }
.tm-home-v3 .tm-v3-work-content>strong { display:block; margin:17px 0; font-size:clamp(22px,3vw,34px); line-height:1.1; letter-spacing:-.04em; }
.tm-home-v3 .tm-v3-work-bars { display:flex; gap:7px; }
.tm-home-v3 .tm-v3-work-bars i { width:28%; height:4px; border-radius:4px; background:#3c5eb3; }
.tm-home-v3 .tm-v3-work-bars i:nth-child(2) { width:18%; background:#6378b5; }
.tm-home-v3 .tm-v3-work-bars i:nth-child(3) { width:36%; background:#283c65; }
.tm-home-v3 .tm-v3-work-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:20px; }
.tm-home-v3 .tm-v3-work-tiles i { height:35px; border:1px solid #ffffff12; border-radius:4px; background:#1a2945; }
.tm-home-v3 .tm-v3-work-copy { align-self:center; padding:clamp(28px,5vw,60px); }
.tm-home-v3 .tm-v3-work-copy h3 { margin:25px 0 16px; font-size:clamp(28px,3.4vw,42px); line-height:1.1; letter-spacing:-.04em; }
.tm-home-v3 .tm-v3-work-copy p { color:#aab8d0; font-size:14px; line-height:1.85; }
.tm-home-v3 .tm-v3-text-link { display:inline-flex; align-items:center; gap:20px; margin-top:18px; color:#a9bbff; font-size:12px; font-weight:700; }
.tm-home-v3 .tm-v3-text-link span { font-size:17px; }
.tm-home-v3 .tm-v3-disclaimer { margin:16px 0 0; color:#8292ae; font-size:10px; line-height:1.7; }
.tm-home-v3 .tm-v3-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #ffffff24; }
.tm-home-v3 .tm-v3-step { min-width:0; padding:26px 22px 0 0; }
.tm-home-v3 .tm-v3-step+.tm-v3-step { padding-left:22px; border-left:1px solid #ffffff19; }
.tm-home-v3 .tm-v3-step>span { color:#8093b8; font-size:10px; letter-spacing:.12em; }
.tm-home-v3 .tm-v3-step-symbol { margin:24px 0; color:#7e9aff; font-size:25px; }
.tm-home-v3 .tm-v3-step h3 { margin:0 0 12px; font-size:20px; }
.tm-home-v3 .tm-v3-step p { margin:0; color:#aab8d0; font-size:13px; line-height:1.8; }
.tm-home-v3 .tm-v3-principles { padding:95px 0; background:#111b2e; border-top:1px solid #ffffff0c; border-bottom:1px solid #ffffff0c; }
.tm-home-v3 .tm-v3-principles-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.tm-home-v3 .tm-v3-principles h2 { margin-top:25px; }
.tm-home-v3 .tm-v3-principles-list article { display:grid; grid-template-columns:35px 1fr; gap:15px; padding:23px 0; border-bottom:1px solid #ffffff19; }
.tm-home-v3 .tm-v3-principles-list article:first-child { padding-top:0; }
.tm-home-v3 .tm-v3-principles-list article>span { color:#8499c1; font-size:10px; padding-top:5px; }
.tm-home-v3 .tm-v3-principles-list h3 { margin:0 0 9px; font-size:18px; }
.tm-home-v3 .tm-v3-principles-list p { margin:0; color:#aab8d0; font-size:13px; line-height:1.8; }
.tm-home-v3 .tm-v3-faq { background:#0b1020; }
.tm-home-v3 .tm-v3-faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; }
.tm-home-v3 .tm-v3-faq-layout>div:first-child>p { color:#aab8d0; line-height:1.8; }
.tm-home-v3 .tm-v3-faq-layout h2 { margin:23px 0; }
.tm-home-v3 .tm-v3-faq-list details { border-bottom:1px solid #ffffff20; }
.tm-home-v3 .tm-v3-faq-list details:first-child { border-top:1px solid #ffffff20; }
.tm-home-v3 .tm-v3-faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; cursor:pointer; list-style:none; color:#edf2ff; font-size:14px; font-weight:650; line-height:1.6; }
.tm-home-v3 .tm-v3-faq-list summary::-webkit-details-marker { display:none; }
.tm-home-v3 .tm-v3-faq-list summary span { color:#92a9ff; font-size:21px; font-weight:400; }
.tm-home-v3 .tm-v3-faq-list details[open] summary span { transform:rotate(45deg); }
.tm-home-v3 .tm-v3-faq-list details p { margin:0; padding:0 28px 23px 0; color:#aab8d0; font-size:13px; line-height:1.85; }
.tm-home-v3 .tm-v3-final { padding:100px 0; background:radial-gradient(ellipse at 80% 50%,#4568d34d,transparent 48%),linear-gradient(120deg,#18294c,#10182a); border-top:1px solid #ffffff16; }
.tm-home-v3 .tm-v3-final-inner { text-align:center; }
.tm-home-v3 .tm-v3-final .tm-v3-eyebrow { justify-content:center; }
.tm-home-v3 .tm-v3-final h2 { margin:27px 0 18px; font-size:clamp(44px,6.5vw,82px); line-height:1; letter-spacing:-.06em; }
.tm-home-v3 .tm-v3-final p { margin:0 auto 28px; color:#bdc9e0; line-height:1.8; }
.tm-home-v3 .tm-v3-btn-light { color:#16203a; background:#f6f8ff; }
.tm-home-v3 .tm-v3-btn-light:hover { background:#dfe7ff; }

html[data-theme="light"] .tm-home-v3 {
  --v3-ink:#172033;
  --v3-muted:#56647b;
  color:#172033;
  background:#f6f8fc;
}
html[data-theme="light"] .tm-home-v3 .tm-v3-hero { background:radial-gradient(ellipse at 80% 25%,#dce5ff,transparent 42%),#f6f8fc; }
html[data-theme="light"] .tm-home-v3 .tm-v3-eyebrow { color:#536482; }
html[data-theme="light"] .tm-home-v3 .tm-v3-hero h1,
html[data-theme="light"] .tm-home-v3 .tm-v3-intro h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-section-heading h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-principles h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq h2 { color:#172033; }
html[data-theme="light"] .tm-home-v3 .tm-v3-lead,
html[data-theme="light"] .tm-home-v3 .tm-v3-section-heading>p,
html[data-theme="light"] .tm-home-v3 .tm-v3-intro p { color:#536078; }
html[data-theme="light"] .tm-home-v3 .tm-v3-markets { color:#263550; }
html[data-theme="light"] .tm-home-v3 .tm-v3-markets>span { color:#67758d; }
html[data-theme="light"] .tm-home-v3 .tm-v3-btn-secondary { color:#243452; border-color:#c8d2e3; }
html[data-theme="light"] .tm-home-v3 .tm-v3-intro,
html[data-theme="light"] .tm-home-v3 .tm-v3-work { background:#edf1f8; border-color:#dfe5ef; }
html[data-theme="light"] .tm-home-v3 .tm-v3-service { color:#172033; background:#fff; border-color:#dfe5ef; box-shadow:0 6px 24px #17203305; }
html[data-theme="light"] .tm-home-v3 .tm-v3-service-featured { background:linear-gradient(145deg,#e5ecff,#fff); }
html[data-theme="light"] .tm-home-v3 .tm-v3-service:hover { border-color:#9bb1fa; background:#f8faff; }
html[data-theme="light"] .tm-home-v3 .tm-v3-service p,
html[data-theme="light"] .tm-home-v3 .tm-v3-step p,
html[data-theme="light"] .tm-home-v3 .tm-v3-principles-list p,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-layout>div:first-child>p,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list details p { color:#59677e; }
html[data-theme="light"] .tm-home-v3 .tm-v3-card-number { color:#63728c; }
html[data-theme="light"] .tm-home-v3 .tm-v3-card-link { color:#243452; border-color:#e2e7f0; }
html[data-theme="light"] .tm-home-v3 .tm-v3-work-panel { background:#fff; border-color:#dfe5ef; }
html[data-theme="light"] .tm-home-v3 .tm-v3-work-copy p { color:#59677e; }
html[data-theme="light"] .tm-home-v3 .tm-v3-approach { background:#f6f8fc; }
html[data-theme="light"] .tm-home-v3 .tm-v3-steps { border-color:#d5deed; }
html[data-theme="light"] .tm-home-v3 .tm-v3-step+.tm-v3-step { border-color:#d5deed; }
html[data-theme="light"] .tm-home-v3 .tm-v3-principles { background:#edf1f8; border-color:#dfe5ef; }
html[data-theme="light"] .tm-home-v3 .tm-v3-principles-list article { border-color:#d5deed; }
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list details,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list details:first-child { border-color:#d5deed; }
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list summary { color:#172033; }
html[data-theme="light"] .tm-home-v3 .tm-v3-final { background:radial-gradient(ellipse at 80% 50%,#c8d6ff,transparent 48%),linear-gradient(120deg,#e7edff,#f2f5fc); }
html[data-theme="light"] .tm-home-v3 .tm-v3-final h2 { color:#172033; }
html[data-theme="light"] .tm-home-v3 .tm-v3-final p { color:#4b5a73; }

@media(max-width:1000px) {
  .tm-home-v3 .wrap,.tm-home-v3 .tm-v3-scroll-note { width:calc(100% - 48px); }
  .tm-home-v3 .tm-v3-hero-layout { grid-template-columns:minmax(0,1fr); gap:48px; }
  .tm-home-v3 .tm-v3-hero { padding-top:70px; }
  .tm-home-v3 .tm-v3-visual { width:min(100%,650px); margin-inline:auto; }
  .tm-home-v3 .tm-v3-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tm-home-v3 .tm-v3-intro-layout { grid-template-columns:1fr; gap:24px; }
  .tm-home-v3 .tm-v3-intro p { grid-column:auto; }
  .tm-home-v3 .tm-v3-section-heading { grid-template-columns:1fr; gap:20px; }
  .tm-home-v3 .tm-v3-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:25px; }
  .tm-home-v3 .tm-v3-step:nth-child(3) { padding-left:0; border-left:0; }
  .tm-home-v3 .tm-v3-principles-layout,.tm-home-v3 .tm-v3-faq-layout { grid-template-columns:1fr; gap:38px; }
}
@media(max-width:600px) {
  .tm-home-v3 .wrap,.tm-home-v3 .tm-v3-scroll-note { width:calc(100% - 36px); }
  .tm-home-v3 .tm-v3-hero { padding-top:54px; }
  .tm-home-v3 .tm-v3-hero h1 { font-size:clamp(43px,12vw,66px); }
  .tm-home-v3 .tm-v3-lead { font-size:15px; }
  .tm-home-v3 .tm-v3-actions { align-items:stretch; flex-direction:column; }
  .tm-home-v3 .tm-v3-btn { width:100%; }
  .tm-home-v3 .tm-v3-markets { gap:9px; }
  .tm-home-v3 .tm-v3-markets>span { width:100%; }
  .tm-home-v3 .tm-v3-visual { padding:11px; }
  .tm-home-v3 .tm-v3-dashboard { padding:18px; }
  .tm-home-v3 .tm-v3-mini-card { padding:11px; min-height:105px; }
  .tm-home-v3 .tm-v3-mini-card:first-child { min-height:220px; }
  .tm-home-v3 .tm-v3-mini-card>b { font-size:15px; }
  .tm-home-v3 .tm-v3-mini-blue>b { font-size:20px; }
  .tm-home-v3 .tm-v3-scroll-note { margin-top:38px; font-size:8px; }
  .tm-home-v3 .tm-v3-intro,.tm-home-v3 .tm-v3-section { padding-top:65px; padding-bottom:65px; }
  .tm-home-v3 .tm-v3-intro h2,.tm-home-v3 .tm-v3-section-heading h2,.tm-home-v3 .tm-v3-principles h2,.tm-home-v3 .tm-v3-faq h2 { font-size:clamp(34px,9.5vw,48px); }
  .tm-home-v3 .tm-v3-service-grid { grid-template-columns:minmax(0,1fr); }
  .tm-home-v3 .tm-v3-service { min-height:250px; }
  .tm-home-v3 .tm-v3-work-panel { grid-template-columns:minmax(0,1fr); }
  .tm-home-v3 .tm-v3-work-art { min-height:270px; padding:20px; }
  .tm-home-v3 .tm-v3-work-window-body { min-height:190px; }
  .tm-home-v3 .tm-v3-work-copy { padding:28px 23px; }
  .tm-home-v3 .tm-v3-steps { grid-template-columns:minmax(0,1fr); gap:0; }
  .tm-home-v3 .tm-v3-step,.tm-home-v3 .tm-v3-step+.tm-v3-step { display:grid; grid-template-columns:32px 36px 1fr; align-items:center; gap:12px; padding:20px 0; border-left:0; border-bottom:1px solid #ffffff19; }
  .tm-home-v3 .tm-v3-step-symbol { margin:0; }
  .tm-home-v3 .tm-v3-step h3 { margin:0; font-size:17px; }
  .tm-home-v3 .tm-v3-step p { grid-column:3; }
  .tm-home-v3 .tm-v3-principles,.tm-home-v3 .tm-v3-final { padding:68px 0; }
  .tm-home-v3 .tm-v3-faq-layout { gap:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .tm-home-v3 *, .tm-home-v3 *::before, .tm-home-v3 *::after {
    animation:none!important; transition:none!important; scroll-behavior:auto!important;
  }
}
/* END TM-HOMEPAGE-REDESIGN-20261026 */
/* TM-HOMEPAGE-LIGHT-CONTRAST-FIX-20261026
   Light theme contrast, surface consistency and mockup readability. */

html[data-theme="light"] .tm-home-v3 {
  color: #172033;
  background: #f6f8fc;
  --v3-ink: #172033;
  --v3-muted: #536078;
}

/* Consistent light section surfaces */
html[data-theme="light"] .tm-home-v3 .tm-v3-hero,
html[data-theme="light"] .tm-home-v3 .tm-v3-approach,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq {
  color: #172033;
  background: #f6f8fc;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-intro,
html[data-theme="light"] .tm-home-v3 .tm-v3-work,
html[data-theme="light"] .tm-home-v3 .tm-v3-principles {
  color: #172033;
  background: #edf2fa;
  border-color: #dce4f0;
}

/* Headings must remain readable on light backgrounds */
html[data-theme="light"] .tm-home-v3 .tm-v3-hero h1,
html[data-theme="light"] .tm-home-v3 .tm-v3-intro h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-section-heading h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-principles h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq h2,
html[data-theme="light"] .tm-home-v3 .tm-v3-service h3,
html[data-theme="light"] .tm-home-v3 .tm-v3-work-copy h3,
html[data-theme="light"] .tm-home-v3 .tm-v3-step h3,
html[data-theme="light"] .tm-home-v3 .tm-v3-principles-list h3 {
  color: #172033;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-hero h1 em,
html[data-theme="light"] .tm-home-v3 h2 em {
  color: #315eea;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-lead,
html[data-theme="light"] .tm-home-v3 .tm-v3-intro p,
html[data-theme="light"] .tm-home-v3 .tm-v3-section-heading > p,
html[data-theme="light"] .tm-home-v3 .tm-v3-service p,
html[data-theme="light"] .tm-home-v3 .tm-v3-step p,
html[data-theme="light"] .tm-home-v3 .tm-v3-principles-list p,
html[data-theme="light"] .tm-home-v3 .tm-v3-work-copy p,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-layout > div:first-child > p,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list details p {
  color: #526078;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-eyebrow,
html[data-theme="light"] .tm-home-v3 .tm-v3-card-number,
html[data-theme="light"] .tm-home-v3 .tm-v3-step > span {
  color: #536582;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-scroll-note,
html[data-theme="light"] .tm-home-v3 .tm-v3-disclaimer {
  color: #5b6a82;
}

/* Hero illustration: retain the dark dashboard, improve text contrast */
html[data-theme="light"] .tm-home-v3 .tm-v3-visual {
  background: linear-gradient(145deg, #17243e, #0c1425);
  border-color: #d0d9ea;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-dashboard {
  color: #f4f7ff;
  background: linear-gradient(145deg, #14213a, #0d1424);
  border-color: #34425c;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-dashboard-title {
  color: #f4f7ff;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-dashboard-title em {
  color: #83a0ff;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-dashboard-label,
html[data-theme="light"] .tm-home-v3 .tm-v3-dashboard-footer,
html[data-theme="light"] .tm-home-v3 .tm-v3-visual-top {
  color: #c0cde5;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-mini-card {
  color: #f4f7ff;
  background: #1a2943;
  border-color: #3b4b68;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-mini-card > span {
  color: #c4d2ed;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-mini-card > b {
  color: #f4f7ff;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-mini-card > i {
  color: #a8bbff;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-mini-blue {
  background: linear-gradient(145deg, #3158b7, #203a79);
}

html[data-theme="light"] .tm-home-v3 .tm-v3-mini-blue > b {
  color: #ffffff;
}

/* Portfolio illustration: keep text readable within its dark mock-up */
html[data-theme="light"] .tm-home-v3 .tm-v3-work-window {
  color: #f4f7ff;
  background: #111c31;
  border-color: #3b4a65;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-work-window-top {
  border-color: #34425a;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-work-window-top span,
html[data-theme="light"] .tm-home-v3 .tm-v3-work-content > span {
  color: #b7c8eb;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-work-content > strong {
  color: #f4f7ff;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-work-side {
  border-color: #34425a;
}

/* Service cards and links */
html[data-theme="light"] .tm-home-v3 .tm-v3-service {
  background: #ffffff;
  color: #172033;
  border-color: #dce4f0;
  box-shadow: 0 5px 22px rgba(24, 42, 77, .045);
}

html[data-theme="light"] .tm-home-v3 .tm-v3-service-featured {
  background: linear-gradient(145deg, #e4ecff, #ffffff);
}

html[data-theme="light"] .tm-home-v3 .tm-v3-service-cta {
  background: #e8eefb;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-service:hover {
  background: #f8faff;
  border-color: #9bb4f6;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-card-link {
  color: #263b61;
  border-color: #e1e7f0;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-card-link b,
html[data-theme="light"] .tm-home-v3 .tm-v3-text-link {
  color: #315eea;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-card-icon {
  color: #315eea;
  background: #edf2ff;
  border-color: #d3dfff;
}

/* Process section dividers */
html[data-theme="light"] .tm-home-v3 .tm-v3-steps {
  border-color: #d4deed;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-step + .tm-v3-step {
  border-color: #d4deed;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-step-symbol {
  color: #315eea;
}

/* FAQ: fix the dark background and nearly invisible text */
html[data-theme="light"] .tm-home-v3 .tm-v3-faq {
  color: #172033;
  background: #f6f8fc;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list details,
html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list details:first-child {
  border-color: #d5deec;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list summary {
  color: #202c43;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-faq-list summary span {
  color: #315eea;
}

/* Final call to action */
html[data-theme="light"] .tm-home-v3 .tm-v3-final {
  color: #172033;
  background: radial-gradient(ellipse at 80% 50%, #cbd8ff, transparent 48%),
              linear-gradient(120deg, #e8eeff, #f2f5fc);
  border-color: #dce4f2;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-final h2 {
  color: #172033;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-final h2 em {
  color: #315eea;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-final p {
  color: #4b5a73;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-btn-light {
  color: #ffffff;
  background: #315eea;
}

html[data-theme="light"] .tm-home-v3 .tm-v3-btn-light:hover {
  background: #244bc7;
}

/* Keyboard focus visibility */
.tm-home-v3 a:focus-visible,
.tm-home-v3 summary:focus-visible {
  outline: 3px solid #7192ff;
  outline-offset: 4px;
}

/* END TM-HOMEPAGE-LIGHT-CONTRAST-FIX-20261026 */

/* TM-ARABIC-RTL-REDESIGN-20261026 */
html[dir="rtl"] body[data-design="studio"] {
  text-align: right;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 * {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-hero-layout,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-intro-layout,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-section-heading,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-service-grid,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-work-panel,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-steps,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-principles-layout,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-faq-layout {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-dashboard-grid,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-work-window-body {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-service,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-principles-list article,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-faq-list summary {
  text-align: right;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-card-link {
  flex-direction: row;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-text-link {
  flex-direction: row;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-dashboard-footer {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-work-window-top span {
  margin-left: 0;
  margin-right: auto;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-principles-list article {
  grid-template-columns: 1fr 35px;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-principles-list article > span {
  grid-column: 2;
  grid-row: 1;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-principles-list article > div {
  grid-column: 1;
  grid-row: 1;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step + .tm-v3-step {
  border-left: 0;
  border-right: 1px solid rgba(255,255,255,.12);
}
html[data-theme="light"][dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step + .tm-v3-step {
  border-right-color: #d4deed;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step {
  padding-right: 0;
  padding-left: 22px;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step + .tm-v3-step {
  padding-right: 22px;
  padding-left: 0;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-work-content,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-dashboard-title {
  text-align: right;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-dashboard-label {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-faq-list details p {
  padding-right: 0;
  padding-left: 28px;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-final-inner {
  text-align: center;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-final .tm-v3-eyebrow {
  justify-content: center;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-scroll-note {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-actions {
  direction: rtl;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-hero h1,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 h2,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 h3,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 p {
  overflow-wrap: anywhere;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-hero h1,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-intro h2,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-section-heading h2,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-principles h2,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-faq h2 {
  letter-spacing: -.035em;
  line-height: 1.3;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-lead,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-section-heading > p,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-service p,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step p,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-faq-list details p {
  line-height: 2;
}
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-dashboard-title em,
html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-final h2 em {
  white-space: normal;
}
html[data-theme="light"][dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-dashboard-title {
  color: #f4f7ff;
}
@media(max-width:600px) {
  html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step,
  html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-step + .tm-v3-step {
    padding: 18px 0;
    border-right: 0;
  }
  html[dir="rtl"] body[data-design="studio"] .tm-home-v3 .tm-v3-faq-list details p {
    padding-left: 0;
  }
}
/* END TM-ARABIC-RTL-REDESIGN-20261026 */
/* TM-ARABIC-SHARED-PAGE-POLISH-20261026
   Shared Arabic typography, RTL layout and responsive page refinement. */

/* 1. Arabic reading comfort */
html[dir="rtl"] body[data-design="studio"] {
    font-family: "Noto Sans Arabic", "Noto Kufi Arabic",
                 Tahoma, Arial, sans-serif;
    text-align: right;
    overflow-wrap: anywhere;
}

html[dir="rtl"] body[data-design="studio"] main {
    min-width: 0;
}

html[dir="rtl"] body[data-design="studio"] main h1,
html[dir="rtl"] body[data-design="studio"] main h2,
html[dir="rtl"] body[data-design="studio"] main h3 {
    line-height: 1.45;
    letter-spacing: 0;
    text-wrap: balance;
}

html[dir="rtl"] body[data-design="studio"] main p,
html[dir="rtl"] body[data-design="studio"] main li {
    line-height: 1.95;
}

html[dir="rtl"] body[data-design="studio"] main p {
    overflow-wrap: anywhere;
}

html[dir="rtl"] body[data-design="studio"] main img,
html[dir="rtl"] body[data-design="studio"] main svg {
    max-width: 100%;
}

/* 2. Shared page container and introductory sections */
html[dir="rtl"] body[data-design="studio"] .inner-page .page-intro {
    text-align: right;
    padding-block: clamp(36px, 6vw, 82px);
}

html[dir="rtl"] body[data-design="studio"] .inner-page .page-intro h1 {
    max-width: 900px;
    line-height: 1.4;
    margin-inline: 0;
}

html[dir="rtl"] body[data-design="studio"] .inner-page .page-intro p,
html[dir="rtl"] body[data-design="studio"] .inner-page .lead {
    max-width: 760px;
    line-height: 2;
}

html[dir="rtl"] body[data-design="studio"] .breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-align: right;
    line-height: 1.9;
}

html[dir="rtl"] body[data-design="studio"] .eyebrow,
html[dir="rtl"] body[data-design="studio"] .overline {
    text-align: right;
    letter-spacing: 0;
    line-height: 1.8;
}

/* 3. Cards and grids */
html[dir="rtl"] body[data-design="studio"] .three-col,
html[dir="rtl"] body[data-design="studio"] .four-col,
html[dir="rtl"] body[data-design="studio"] .service-grid,
html[dir="rtl"] body[data-design="studio"] .tm-v3-service-grid {
    direction: rtl;
}

html[dir="rtl"] body[data-design="studio"] .three-col > article,
html[dir="rtl"] body[data-design="studio"] .four-col > article,
html[dir="rtl"] body[data-design="studio"] .service-card,
html[dir="rtl"] body[data-design="studio"] .product-card {
    min-width: 0;
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .card-top,
html[dir="rtl"] body[data-design="studio"] .card-link {
    direction: rtl;
}

html[dir="rtl"] body[data-design="studio"] .card-link,
html[dir="rtl"] body[data-design="studio"] .button {
    gap: 10px;
}

html[dir="rtl"] body[data-design="studio"] .button {
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.7;
}

html[dir="rtl"] body[data-design="studio"] .button-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

/* 4. Detail sections, editorial content and related links */
html[dir="rtl"] body[data-design="studio"] .seo-detail,
html[dir="rtl"] body[data-design="studio"] .seo-editorial,
html[dir="rtl"] body[data-design="studio"] .seo-related,
html[dir="rtl"] body[data-design="studio"] .detail,
html[dir="rtl"] body[data-design="studio"] .split {
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .seo-detail,
html[dir="rtl"] body[data-design="studio"] .seo-editorial,
html[dir="rtl"] body[data-design="studio"] .seo-related {
    min-width: 0;
}

html[dir="rtl"] body[data-design="studio"] .seo-related a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-align: right;
    line-height: 1.8;
}

html[dir="rtl"] body[data-design="studio"] .seo-questions {
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .seo-questions summary {
    text-align: right;
    line-height: 1.9;
    gap: 14px;
}

html[dir="rtl"] body[data-design="studio"] .seo-questions details > p {
    text-align: right;
    line-height: 2;
}

/* 5. Closing sections and visual elements */
html[dir="rtl"] body[data-design="studio"] .closing {
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .closing .button {
    align-self: flex-start;
}

html[dir="rtl"] body[data-design="studio"] .solution-rows > article {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .solution-index {
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .solution-map,
html[dir="rtl"] body[data-design="studio"] .map-features,
html[dir="rtl"] body[data-design="studio"] .catalog-tools,
html[dir="rtl"] body[data-design="studio"] .catalog-filters {
    direction: rtl;
}

/* 6. Contact forms and field alignment */
html[dir="rtl"] body[data-design="studio"] .contact-layout,
html[dir="rtl"] body[data-design="studio"] .contact-layout form {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .contact-layout form label,
html[dir="rtl"] body[data-design="studio"] .contact-layout form legend {
    display: block;
    text-align: right;
}

html[dir="rtl"] body[data-design="studio"] .contact-layout input,
html[dir="rtl"] body[data-design="studio"] .contact-layout select,
html[dir="rtl"] body[data-design="studio"] .contact-layout textarea {
    direction: rtl;
    text-align: right;
    max-width: 100%;
}

html[dir="rtl"] body[data-design="studio"] .contact-layout input[type="email"],
html[dir="rtl"] body[data-design="studio"] .contact-layout input[type="url"],
html[dir="rtl"] body[data-design="studio"] .contact-layout input[type="tel"] {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] body[data-design="studio"] .contact-layout input[type="checkbox"],
html[dir="rtl"] body[data-design="studio"] .contact-layout input[type="radio"] {
    width: auto;
}

/* 7. Theme-aware readable surfaces */
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .page-intro,
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .prose {
    color: #172033;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .seo-questions details {
    border-color: #d5deec;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .seo-questions summary {
    color: #202c43;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .seo-questions details > p {
    color: #526078;
}

html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .seo-questions summary {
    color: #f4f6fc;
}

html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .seo-questions details > p {
    color: #c2cbe0;
}

/* 8. Floating controls */
html[dir="rtl"] body[data-design="studio"] .whatsapp {
    direction: rtl;
    white-space: nowrap;
}

html[dir="rtl"] body[data-design="studio"] .back-top {
    line-height: 1;
}

/* 9. Responsive spacing and overflow prevention */
html[dir="rtl"] body[data-design="studio"] .wrap,
html[dir="rtl"] body[data-design="studio"] main section {
    min-width: 0;
}

html[dir="rtl"] body[data-design="studio"] main .section {
    padding-block: clamp(32px, 5vw, 76px);
}

@media (max-width: 850px) {
    html[dir="rtl"] body[data-design="studio"] .inner-page .page-intro {
        padding-block: 38px;
    }

    html[dir="rtl"] body[data-design="studio"] .three-col,
    html[dir="rtl"] body[data-design="studio"] .four-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    html[dir="rtl"] body[data-design="studio"] .three-col,
    html[dir="rtl"] body[data-design="studio"] .four-col {
        grid-template-columns: minmax(0, 1fr);
    }

    html[dir="rtl"] body[data-design="studio"] .button {
        max-width: 100%;
        min-height: 46px;
    }

    html[dir="rtl"] body[data-design="studio"] .contact-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    html[dir="rtl"] body[data-design="studio"] .whatsapp {
        max-width: calc(100vw - 28px);
        overflow-wrap: anywhere;
    }
}

/* END TM-ARABIC-SHARED-PAGE-POLISH-20261026 */

/* TM-ARABIC-CONTRAST-REPAIR-20261026
   Repair low-contrast Arabic page introductions and CTA sections. */

/* Dark theme: remove the disconnected white hero panel. */
html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .inner-page .page-intro {
    background-color: #0b1220 !important;
    color: #e8eefb !important;
    background-image: none;
}

html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .inner-page .page-intro h1,
html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .inner-page .page-intro h2 {
    color: #f5f7ff !important;
    -webkit-text-fill-color: #f5f7ff !important;
    opacity: 1 !important;
}

html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .inner-page .page-intro p,
html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .inner-page .page-intro .lead {
    color: #c5d0e3 !important;
    -webkit-text-fill-color: #c5d0e3 !important;
    opacity: 1 !important;
}

/* Light theme: clear, readable introductory panels. */
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .page-intro {
    background-color: #f5f8ff !important;
    color: #172033 !important;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .page-intro h1,
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .page-intro h2 {
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    opacity: 1 !important;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .page-intro p,
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .inner-page .page-intro .lead {
    color: #465670 !important;
    -webkit-text-fill-color: #465670 !important;
    opacity: 1 !important;
}

/* Dark CTA: readable heading and supporting text. */
html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .closing {
    background-color: #0b1220;
    color: #e8eefb !important;
}

html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .closing h2,
html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .closing h3 {
    color: #f5f7ff !important;
    -webkit-text-fill-color: #f5f7ff !important;
    opacity: 1 !important;
}

html[data-theme="dark"][dir="rtl"] body[data-design="studio"] .closing p {
    color: #c5d0e3 !important;
    -webkit-text-fill-color: #c5d0e3 !important;
    opacity: 1 !important;
}

/* Light CTA: maintain contrast on a light surface. */
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .closing {
    background-color: #eef3ff;
    color: #172033 !important;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .closing h2,
html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .closing h3 {
    color: #172033 !important;
    -webkit-text-fill-color: #172033 !important;
    opacity: 1 !important;
}

html:not([data-theme="dark"])[dir="rtl"] body[data-design="studio"] .closing p {
    color: #465670 !important;
    -webkit-text-fill-color: #465670 !important;
    opacity: 1 !important;
}

/* Keep decorative artwork behind the text. */
html[dir="rtl"] body[data-design="studio"] .inner-page .page-intro,
html[dir="rtl"] body[data-design="studio"] .closing {
    isolation: isolate;
}

@media (max-width: 600px) {
    html[dir="rtl"] body[data-design="studio"] .inner-page .page-intro h1 {
        font-size: clamp(30px, 8vw, 46px);
        line-height: 1.45;
        overflow-wrap: anywhere;
    }
}

/* END TM-ARABIC-CONTRAST-REPAIR-20261026 */

/* TM-SHARED-HEADER-REDESIGN-20261027
   Shared English/Arabic header refinement.
   Existing PHP markup, destinations and menu behavior preserved. */

body[data-design="studio"] > header,
body[data-design="studio"] header {
    position: relative;
    z-index: 100;
    width: 100%;
    max-width: 100%;
    border-bottom: 1px solid var(--header-border, #e1e7f0);
    background: var(--header-surface, #ffffff);
    color: var(--header-text, #172033);
    isolation: isolate;
}

html:not([data-theme="dark"]) body[data-design="studio"] {
    --header-surface: #ffffff;
    --header-text: #172033;
    --header-muted: #53627a;
    --header-border: #e1e7f0;
    --header-hover: #edf4ff;
    --header-accent: #2459c4;
}

html[data-theme="dark"] body[data-design="studio"] {
    --header-surface: #0b1220;
    --header-text: #f3f6fd;
    --header-muted: #c3cde0;
    --header-border: #26334a;
    --header-hover: #18263d;
    --header-accent: #8bb5ff;
}

body[data-design="studio"] header .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(12px, 1.5vw, 24px);
    min-height: 88px;
    padding-block: 12px;
}

body[data-design="studio"] header .brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 0;
    text-decoration: none;
    border-radius: 10px;
}

body[data-design="studio"] header .brand .logo-window {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(118px, 12vw, 166px);
    height: 56px;
    overflow: hidden;
}

body[data-design="studio"] header .brand .logo-window img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

body[data-design="studio"] header #navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(10px, 1.25vw, 22px);
    flex: 1 1 auto;
    min-width: 0;
}

body[data-design="studio"] header #navigation a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 9px;
    border-radius: 8px;
    color: var(--header-muted);
    font-size: 13px;
    font-weight: 550;
    line-height: 1.6;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease;
}

body[data-design="studio"] header #navigation a:hover,
body[data-design="studio"] header #navigation a:focus-visible {
    color: var(--header-text);
    background: var(--header-hover);
}

body[data-design="studio"] header #navigation a[aria-current="page"] {
    color: var(--header-accent);
    font-weight: 700;
    background: var(--header-hover);
}

body[data-design="studio"] header .language-switch {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--header-border);
    border-radius: 9px;
    color: var(--header-text);
    background: transparent;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .18s ease, border-color .18s ease;
}

body[data-design="studio"] header .language-switch:hover,
body[data-design="studio"] header .language-switch:focus-visible {
    background: var(--header-hover);
    border-color: var(--header-accent);
}

body[data-design="studio"] header .nav > .button.primary {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #2459c4;
    border-radius: 9px;
    background: #2459c4;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

body[data-design="studio"] header .nav > .button.primary:hover {
    background: #1949a9;
    border-color: #1949a9;
    box-shadow: 0 5px 16px #2459c426;
}

body[data-design="studio"] header .menu-toggle {
    display: none;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--header-border);
    border-radius: 9px;
    background: var(--header-surface);
    color: var(--header-text);
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

body[data-design="studio"] header .brand:focus-visible,
body[data-design="studio"] header .button:focus-visible,
body[data-design="studio"] header .language-switch:focus-visible,
body[data-design="studio"] header .menu-toggle:focus-visible,
body[data-design="studio"] header #navigation a:focus-visible {
    outline: 3px solid var(--header-accent);
    outline-offset: 3px;
}

/* Compact desktop layouts: retain all links without crushing the logo. */
@media (max-width: 1150px) and (min-width: 851px) {
    body[data-design="studio"] header .nav {
        gap: 10px;
        min-height: 78px;
    }

    body[data-design="studio"] header .brand .logo-window {
        width: 112px;
        height: 48px;
    }

    body[data-design="studio"] header #navigation {
        gap: 4px;
    }

    body[data-design="studio"] header #navigation a {
        padding-inline: 6px;
        font-size: 12px;
    }

    body[data-design="studio"] header .language-switch {
        padding-inline: 8px;
    }

    body[data-design="studio"] header .nav > .button.primary {
        padding-inline: 10px;
        font-size: 11px;
    }
}

/* Mobile/tablet: keep the existing menu-toggle behavior intact. */
@media (max-width: 850px) {
    body[data-design="studio"] header .nav {
        position: relative;
        flex-wrap: wrap;
        gap: 10px;
        min-height: 72px;
        padding-block: 10px;
    }

    body[data-design="studio"] header .brand .logo-window {
        width: 116px;
        height: 46px;
    }

    body[data-design="studio"] header .menu-toggle {
        display: inline-flex;
    }

    body[data-design="studio"] header .nav > .button.primary {
        display: none;
    }

    body[data-design="studio"] header #navigation {
        order: 10;
        flex: 0 0 100%;
        min-width: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 6px;
        padding-top: 8px;
    }

    body[data-design="studio"] header #navigation a {
        min-height: 40px;
        padding: 8px 11px;
        white-space: normal;
    }

    body[data-design="studio"] header .language-switch {
        margin-inline-start: auto;
    }
}

/* Small phones: prevent long Arabic labels from widening the viewport. */
@media (max-width: 480px) {
    body[data-design="studio"] header .nav {
        gap: 8px;
    }

    body[data-design="studio"] header .brand .logo-window {
        width: 100px;
        height: 42px;
    }

    body[data-design="studio"] header .language-switch {
        min-height: 38px;
        padding-inline: 9px;
        font-size: 11px;
    }

    body[data-design="studio"] header #navigation {
        display: flex;
        gap: 5px;
    }

    body[data-design="studio"] header #navigation a {
        max-width: 100%;
        font-size: 12px;
        overflow-wrap: anywhere;
    }
}

/* END TM-SHARED-HEADER-REDESIGN-20261027 */

/* TM-ARABIC-CARD-CONTRAST-FIX-20261027
   Improve readability on pale related-content cards in both themes. */

body[data-design="studio"] .seo-related {
    background: #edf3fc !important;
    color: #172033 !important;
    border-color: #d5e0f0 !important;
}

body[data-design="studio"] .seo-related h2,
body[data-design="studio"] .seo-related h3,
body[data-design="studio"] .seo-related p,
body[data-design="studio"] .seo-related strong,
body[data-design="studio"] .seo-related span {
    color: #263650 !important;
}

body[data-design="studio"] .seo-related a,
body[data-design="studio"] .seo-related a:visited {
    color: #244f9b !important;
    text-decoration-color: #9bb8e8;
}

body[data-design="studio"] .seo-related a:hover,
body[data-design="studio"] .seo-related a:focus-visible {
    color: #153774 !important;
    text-decoration: underline;
}

body[data-design="studio"] .seo-related a:focus-visible {
    outline: 3px solid #2459c4;
    outline-offset: 3px;
}

/* END TM-ARABIC-CARD-CONTRAST-FIX-20261027 */

/* TM-ALL-INNER-PAGES-QUALITY-POLISH-20261027
   Shared English and Arabic inner-page improvements.
   Intentionally excludes both homepages. */

body[data-design="studio"].inner-page {
    --inner-card-bg: #ffffff;
    --inner-card-text: #172033;
    --inner-muted: #53627a;
    --inner-border: #dce4f0;
    --inner-link: #2459c4;
    --inner-hover: #edf4ff;
    --inner-soft: #f5f8fd;
}

html[data-theme="dark"] body[data-design="studio"].inner-page,
body[data-design="studio"].inner-page[data-theme="dark"] {
    --inner-card-bg: #111c30;
    --inner-card-text: #f1f5fd;
    --inner-muted: #c0cce0;
    --inner-border: #2b3b56;
    --inner-link: #9bbdff;
    --inner-hover: #1a2a44;
    --inner-soft: #0d1728;
}

/* 1. Predictable page widths and horizontal overflow protection */
body[data-design="studio"].inner-page main {
    min-width: 0;
    max-width: 100%;
}

body[data-design="studio"].inner-page main section,
body[data-design="studio"].inner-page main article,
body[data-design="studio"].inner-page main .wrap {
    min-width: 0;
}

body[data-design="studio"].inner-page img,
body[data-design="studio"].inner-page video,
body[data-design="studio"].inner-page iframe {
    max-width: 100%;
}

body[data-design="studio"].inner-page p,
body[data-design="studio"].inner-page li,
body[data-design="studio"].inner-page a {
    overflow-wrap: anywhere;
}

/* 2. Readable inner-page introductions */
body[data-design="studio"].inner-page .page-intro {
    border-color: var(--inner-border);
}

body[data-design="studio"].inner-page .page-intro h1,
body[data-design="studio"].inner-page .page-intro h2 {
    color: var(--inner-card-text);
    line-height: 1.3;
    text-wrap: balance;
}

body[data-design="studio"].inner-page .page-intro p,
body[data-design="studio"].inner-page .page-intro .lead {
    color: var(--inner-muted);
    line-height: 1.9;
}

body[data-design="studio"].inner-page .breadcrumbs {
    color: var(--inner-muted);
}

body[data-design="studio"].inner-page .breadcrumbs a {
    color: var(--inner-link);
}

/* 3. Consistent readable cards across services, products and solutions */
body[data-design="studio"].inner-page .service-card,
body[data-design="studio"].inner-page .product-card,
body[data-design="studio"].inner-page .three-col > article,
body[data-design="studio"].inner-page .four-col > article,
body[data-design="studio"].inner-page .solution-rows > article,
body[data-design="studio"].inner-page .principles article,
body[data-design="studio"].inner-page .contact-item,
body[data-design="studio"].inner-page .seo-related,
body[data-design="studio"].inner-page .seo-questions details,
body[data-design="studio"].inner-page .solution-map .map-features > span {
    color: var(--inner-card-text);
    border-color: var(--inner-border);
}

body[data-design="studio"].inner-page .service-card,
body[data-design="studio"].inner-page .product-card,
body[data-design="studio"].inner-page .three-col > article,
body[data-design="studio"].inner-page .four-col > article,
body[data-design="studio"].inner-page .solution-rows > article,
body[data-design="studio"].inner-page .principles article,
body[data-design="studio"].inner-page .contact-item,
body[data-design="studio"].inner-page .seo-related,
body[data-design="studio"].inner-page .seo-questions details {
    background-color: var(--inner-card-bg);
}

body[data-design="studio"].inner-page .service-card h2,
body[data-design="studio"].inner-page .service-card h3,
body[data-design="studio"].inner-page .product-card h2,
body[data-design="studio"].inner-page .product-card h3,
body[data-design="studio"].inner-page .three-col > article h2,
body[data-design="studio"].inner-page .three-col > article h3,
body[data-design="studio"].inner-page .four-col > article h2,
body[data-design="studio"].inner-page .four-col > article h3,
body[data-design="studio"].inner-page .solution-rows > article h2,
body[data-design="studio"].inner-page .solution-rows > article h3,
body[data-design="studio"].inner-page .principles article h2,
body[data-design="studio"].inner-page .principles article h3,
body[data-design="studio"].inner-page .contact-item h2,
body[data-design="studio"].inner-page .contact-item h3,
body[data-design="studio"].inner-page .seo-related h2,
body[data-design="studio"].inner-page .seo-related h3,
body[data-design="studio"].inner-page .seo-questions summary {
    color: var(--inner-card-text);
}

body[data-design="studio"].inner-page .service-card p,
body[data-design="studio"].inner-page .product-card p,
body[data-design="studio"].inner-page .three-col > article p,
body[data-design="studio"].inner-page .four-col > article p,
body[data-design="studio"].inner-page .solution-rows > article p,
body[data-design="studio"].inner-page .principles article p,
body[data-design="studio"].inner-page .contact-item p,
body[data-design="studio"].inner-page .seo-related p,
body[data-design="studio"].inner-page .seo-questions details p {
    color: var(--inner-muted);
}

/* 4. Links and interactive elements */
body[data-design="studio"].inner-page .service-card a,
body[data-design="studio"].inner-page .product-card a,
body[data-design="studio"].inner-page .solution-rows a,
body[data-design="studio"].inner-page .seo-related a,
body[data-design="studio"].inner-page .seo-questions a,
body[data-design="studio"].inner-page .contact-item a {
    color: var(--inner-link);
    text-underline-offset: 3px;
}

body[data-design="studio"].inner-page .service-card a:hover,
body[data-design="studio"].inner-page .product-card a:hover,
body[data-design="studio"].inner-page .solution-rows a:hover,
body[data-design="studio"].inner-page .seo-related a:hover,
body[data-design="studio"].inner-page .seo-questions a:hover,
body[data-design="studio"].inner-page .contact-item a:hover {
    text-decoration: underline;
}

body[data-design="studio"].inner-page .three-col > article:hover,
body[data-design="studio"].inner-page .four-col > article:hover,
body[data-design="studio"].inner-page .service-card:hover,
body[data-design="studio"].inner-page .product-card:hover {
    border-color: var(--inner-link);
}

/* 5. FAQ readability and usable disclosure controls */
body[data-design="studio"].inner-page .seo-questions summary {
    cursor: pointer;
    line-height: 1.8;
}

body[data-design="studio"].inner-page .seo-questions details > p {
    line-height: 1.9;
}

body[data-design="studio"].inner-page .seo-questions summary:focus-visible,
body[data-design="studio"].inner-page a:focus-visible,
body[data-design="studio"].inner-page button:focus-visible {
    outline: 3px solid var(--inner-link);
    outline-offset: 3px;
}

/* 6. Forms: readable labels and fields in either theme */
body[data-design="studio"].inner-page input,
body[data-design="studio"].inner-page select,
body[data-design="studio"].inner-page textarea {
    max-width: 100%;
    border-color: var(--inner-border);
}

html[data-theme="dark"] body[data-design="studio"].inner-page input,
html[data-theme="dark"] body[data-design="studio"].inner-page select,
html[data-theme="dark"] body[data-design="studio"].inner-page textarea,
body[data-design="studio"].inner-page[data-theme="dark"] input,
body[data-design="studio"].inner-page[data-theme="dark"] select,
body[data-design="studio"].inner-page[data-theme="dark"] textarea {
    background-color: #111c30;
    color: #f1f5fd;
}

html[data-theme="dark"] body[data-design="studio"].inner-page input::placeholder,
html[data-theme="dark"] body[data-design="studio"].inner-page textarea::placeholder,
body[data-design="studio"].inner-page[data-theme="dark"] input::placeholder,
body[data-design="studio"].inner-page[data-theme="dark"] textarea::placeholder {
    color: #b5c2d8;
    opacity: 1;
}

/* 7. Arabic RTL layout and mobile spacing */
html[dir="rtl"] body[data-design="studio"].inner-page .page-intro,
html[dir="rtl"] body[data-design="studio"].inner-page .seo-related,
html[dir="rtl"] body[data-design="studio"].inner-page .seo-questions {
    text-align: right;
}

@media (max-width: 850px) {
    body[data-design="studio"].inner-page .page-intro {
        padding-inline: clamp(18px, 4vw, 32px);
    }

    body[data-design="studio"].inner-page .three-col,
    body[data-design="studio"].inner-page .four-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body[data-design="studio"].inner-page .three-col,
    body[data-design="studio"].inner-page .four-col,
    body[data-design="studio"].inner-page .seo-editorial,
    body[data-design="studio"].inner-page .contact-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-design="studio"].inner-page .page-intro h1 {
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.4;
        overflow-wrap: anywhere;
    }

    body[data-design="studio"].inner-page .page-intro p,
    body[data-design="studio"].inner-page .page-intro .lead {
        font-size: 15px;
        line-height: 1.9;
    }

    body[data-design="studio"].inner-page .service-card,
    body[data-design="studio"].inner-page .product-card,
    body[data-design="studio"].inner-page .seo-related {
        padding: 20px;
    }

    body[data-design="studio"].inner-page .contact-item a {
        overflow-wrap: anywhere;
    }
}

/* END TM-ALL-INNER-PAGES-QUALITY-POLISH-20261027 */

/* TM-BILINGUAL-HERO-MOUSE-EFFECT-20261027
   Subtle hero parallax. Preserve existing transforms and layout. */
.tm-pointer-hero-visual {
  translate: var(--tm-pointer-x, 0px) var(--tm-pointer-y, 0px);
  transition: translate 180ms cubic-bezier(.2,.7,.2,1);
  will-change: translate;
}

@media (hover: none), (pointer: coarse) {
  .tm-pointer-hero-visual {
    translate: none;
    transition: none;
    will-change: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tm-pointer-hero-visual {
    translate: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}
/* END TM-BILINGUAL-HERO-MOUSE-EFFECT-20261027 */

/* TM-ARABIC-ICON-ALIGNMENT-FIX-20261027
   Align icons and reserve space for text in Arabic RTL components. */

html[dir="rtl"] .icon,
html[dir="rtl"] .card-icon,
html[dir="rtl"] .tm-v3-card-icon,
html[dir="rtl"] .tm-v3-step-symbol,
html[dir="rtl"] .step-symbol,
html[dir="rtl"] .contact-item .icon {
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1;
  flex-shrink: 0;
}

html[dir="rtl"] .tm-v3-card-icon,
html[dir="rtl"] .tm-v3-step-symbol,
html[dir="rtl"] .card-icon {
  box-sizing: border-box;
}

html[dir="rtl"] .tm-v3-mini-card {
  position: relative;
  min-width: 0;
  overflow-wrap: anywhere;
}

html[dir="rtl"] .tm-v3-mini-card .tm-v3-card-icon {
  position: absolute;
  inset-inline-end: 16px;
  inset-block-end: 16px;
  margin: 0;
  z-index: 1;
  pointer-events: none;
}

html[dir="rtl"] .tm-v3-mini-card {
  padding-block-end: max(48px, 3.2em);
}

html[dir="rtl"] .tm-v3-mini-card h3,
html[dir="rtl"] .tm-v3-mini-card p,
html[dir="rtl"] .tm-v3-mini-card .tm-v3-dashboard-title {
  position: relative;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: start;
}

html[dir="rtl"] .tm-v3-card-link,
html[dir="rtl"] .card-link,
html[dir="rtl"] .button-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  max-width: 100%;
}

html[dir="rtl"] .tm-v3-service,
html[dir="rtl"] .service-card,
html[dir="rtl"] .product-card,
html[dir="rtl"] .visual-tile,
html[dir="rtl"] .tm-v3-step {
  min-width: 0;
}

html[dir="rtl"] .service-card svg,
html[dir="rtl"] .product-card svg,
html[dir="rtl"] .tm-v3-service svg,
html[dir="rtl"] .tm-v3-card-icon svg,
html[dir="rtl"] .tm-v3-step-symbol svg,
html[dir="rtl"] .card-icon svg {
  display: block;
  flex-shrink: 0;
  max-width: 100%;
}

html[dir="rtl"] .tm-v3-dashboard-grid > *,
html[dir="rtl"] .tm-v3-service-grid > * {
  min-width: 0;
}

html[dir="rtl"] .tm-v3-dashboard-grid {
  direction: rtl;
}

@media (max-width: 700px) {
  html[dir="rtl"] .tm-v3-mini-card .tm-v3-card-icon {
    inset-inline-end: 12px;
    inset-block-end: 12px;
  }

  html[dir="rtl"] .tm-v3-mini-card {
    padding-block-end: 44px;
  }
}

/* END TM-ARABIC-ICON-ALIGNMENT-FIX-20261027 */

/* TM-FINAL-SITEWIDE-ICON-ALIGNMENT-20261027
   Shared final alignment pass for English and Arabic pages. */

/* Keep icon elements aligned without changing the page grid. */
body[data-design="studio"] .tm-v3-card-icon,
body[data-design="studio"] .tm-v3-step-symbol,
body[data-design="studio"] .card-icon,
body[data-design="studio"] .contact-item .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  vertical-align: middle;
  line-height: 1;
}

/* Prevent dashboard and content-card icons from covering text. */
body[data-design="studio"] .tm-v3-mini-card .tm-v3-card-icon {
  position: static !important;
  inset: auto !important;
  float: none !important;
  transform: none;
  margin-block: 10px 0;
  max-width: 100%;
  pointer-events: none;
}

/* Let card content wrap instead of colliding with icons. */
body[data-design="studio"] .tm-v3-mini-card,
body[data-design="studio"] .tm-v3-service,
body[data-design="studio"] .service-card,
body[data-design="studio"] .product-card,
body[data-design="studio"] .contact-item,
body[data-design="studio"] .tm-v3-step {
  min-width: 0;
}

body[data-design="studio"] .tm-v3-mini-card h3,
body[data-design="studio"] .tm-v3-mini-card p,
body[data-design="studio"] .service-card h3,
body[data-design="studio"] .service-card p,
body[data-design="studio"] .product-card h3,
body[data-design="studio"] .product-card p {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Consistent icon placement in links and buttons. */
body[data-design="studio"] .tm-v3-card-link,
body[data-design="studio"] .card-link,
body[data-design="studio"] .button {
  align-items: center;
  gap: 8px;
}

body[data-design="studio"] .tm-v3-card-link svg,
body[data-design="studio"] .card-link svg,
body[data-design="studio"] .button svg,
body[data-design="studio"] .tm-v3-card-icon svg,
body[data-design="studio"] .tm-v3-step-symbol svg {
  display: block;
  flex-shrink: 0;
}

/* Arabic: use logical alignment so RTL text and icons stay natural. */
html[dir="rtl"] body[data-design="studio"] .tm-v3-mini-card,
html[dir="rtl"] body[data-design="studio"] .service-card,
html[dir="rtl"] body[data-design="studio"] .product-card,
html[dir="rtl"] body[data-design="studio"] .contact-item {
  text-align: start;
}

html[dir="rtl"] body[data-design="studio"] .tm-v3-dashboard-grid,
html[dir="rtl"] body[data-design="studio"] .tm-v3-service-grid {
  min-width: 0;
}

html[dir="rtl"] body[data-design="studio"] .tm-v3-card-link,
html[dir="rtl"] body[data-design="studio"] .card-link {
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* Avoid motion or alignment side effects on small touch screens. */
@media (max-width: 700px) {
  body[data-design="studio"] .tm-v3-mini-card .tm-v3-card-icon {
    max-width: 100%;
  }

  body[data-design="studio"] .tm-v3-card-link,
  body[data-design="studio"] .card-link {
    max-width: 100%;
  }
}

/* END TM-FINAL-SITEWIDE-ICON-ALIGNMENT-20261027 */

/* TM-FINAL-INNER-PAGE-CONTRAST-20261027
   Readability and contrast correction for shared inner-page components. */

/* Restore visibility when entrance effects leave content faded. */
body[data-design="studio"].inner-page main .page-intro,
body[data-design="studio"].inner-page main .page-intro h1,
body[data-design="studio"].inner-page main .page-intro h2,
body[data-design="studio"].inner-page main .page-intro .lead,
body[data-design="studio"].inner-page main .page-intro p {
  visibility: visible;
  opacity: 1;
}

/* The pale intro panel must retain dark, readable typography,
   including when the surrounding page is in dark mode. */
body[data-design="studio"].inner-page main .page-intro h1,
body[data-design="studio"].inner-page main .page-intro h2,
body[data-design="studio"].inner-page main .page-intro h3 {
  color: #17243b !important;
  text-shadow: none;
}

body[data-design="studio"].inner-page main .page-intro p,
body[data-design="studio"].inner-page main .page-intro .lead {
  color: #526783 !important;
  text-shadow: none;
}

body[data-design="studio"].inner-page main .page-intro .eyebrow,
body[data-design="studio"].inner-page main .page-intro .breadcrumbs {
  color: #526783;
}

/* Dark content areas: improve body copy and secondary headings.
   Keep light hero panels and cards using their own component colors. */
html[data-theme="dark"] body[data-design="studio"].inner-page
main .prose p,
html[data-theme="dark"] body[data-design="studio"].inner-page
main .seo-editorial p,
html[data-theme="dark"] body[data-design="studio"].inner-page
main .closing p,
html[data-theme="dark"] body[data-design="studio"].inner-page
main .expertise p {
  color: #c0cce0;
}

html[data-theme="dark"] body[data-design="studio"].inner-page
main .prose h2,
html[data-theme="dark"] body[data-design="studio"].inner-page
main .seo-editorial h2,
html[data-theme="dark"] body[data-design="studio"].inner-page
main .closing h2,
html[data-theme="dark"] body[data-design="studio"].inner-page
main .expertise h2 {
  color: #edf3ff;
}

/* Preserve the strong blue accent while keeping decorative headings legible. */
body[data-design="studio"].inner-page main .seo-editorial h2,
body[data-design="studio"].inner-page main .closing h2 {
  opacity: 1;
  visibility: visible;
}

body[data-design="studio"].inner-page main .seo-editorial h2 span,
body[data-design="studio"].inner-page main .closing h2 span {
  color: #3164e8;
}

/* Prevent text and icons from being clipped by flex/grid containers. */
body[data-design="studio"].inner-page main .service-card,
body[data-design="studio"].inner-page main .product-card,
body[data-design="studio"].inner-page main .tm-v3-service,
body[data-design="studio"].inner-page main .tm-v3-mini-card {
  min-width: 0;
}

body[data-design="studio"].inner-page main .service-card h3,
body[data-design="studio"].inner-page main .product-card h3,
body[data-design="studio"].inner-page main .tm-v3-mini-card h3 {
  overflow-wrap: anywhere;
}

/* Arabic: logical text alignment and safe wrapping. */
html[dir="rtl"] body[data-design="studio"].inner-page main
.page-intro h1,
html[dir="rtl"] body[data-design="studio"].inner-page main
.page-intro p {
  text-align: start;
  overflow-wrap: anywhere;
}

html[dir="rtl"] body[data-design="studio"].inner-page main
.service-card,
html[dir="rtl"] body[data-design="studio"].inner-page main
.product-card,
html[dir="rtl"] body[data-design="studio"].inner-page main
.tm-v3-mini-card {
  min-width: 0;
}

@media (prefers-reduced-motion: reduce) {
  body[data-design="studio"].inner-page main .page-intro,
  body[data-design="studio"].inner-page main .page-intro * {
    scroll-behavior: auto;
  }
}

/* END TM-FINAL-INNER-PAGE-CONTRAST-20261027 */

/* TM-ARABIC-HERO-MIRROR-SECTION-FIX-20261027 */

/* Mirror decorative hero artwork for Arabic inner pages. */
html[dir="rtl"] body.inner-page[data-design="studio"] .page-intro .page-motion-canvas {
    transform: scaleX(-1) !important;
    transform-origin: center center;
}

/* Remove white side strips around the Arabic feature-card section. */
html[dir="rtl"] body[data-design="studio"] .approach {
    background: transparent !important;
}

/* Keep the section's content and cards inside the shared page layout. */
html[dir="rtl"] body[data-design="studio"] .approach > .wrap.section {
    box-sizing: border-box;
    max-width: 100%;
}

/* END TM-ARABIC-HERO-MIRROR-SECTION-FIX-20261027 */

/* TM-ARABIC-FULLBLEED-HERO-FINAL-20261027 */

/* Arabic inner-page hero: full viewport width, without the boxed frame. */
html[dir="rtl"] body.inner-page[data-design="studio"] main > .page-intro {
    box-sizing: border-box !important;
    position: relative;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding-inline: clamp(24px, 4.5vw, 84px) !important;
    overflow: clip;
}

/* Preserve the site's dark hero treatment. */
html[dir="rtl"] body.inner-page[data-design="studio"] main > .page-intro {
    background-color: #0b1222;
}

/* Mirror and reposition the animated decorative artwork for RTL. */
html[dir="rtl"] body.inner-page[data-design="studio"] .page-intro .page-motion-canvas {
    left: 0 !important;
    right: auto !important;
    transform: scaleX(-1) !important;
    transform-origin: center center !important;
    pointer-events: none;
}

/* Prevent decorative effects from creating horizontal page scrolling. */
html[dir="rtl"] body.inner-page[data-design="studio"] {
    overflow-x: clip;
}

/* END TM-ARABIC-FULLBLEED-HERO-FINAL-20261027 */

/* TM-ENGLISH-INNER-PAGE-FULLBLEED-FIX-20261027 */

/* Full-width English inner-page hero without an inset frame. */
html:not([dir="rtl"]) body.inner-page[data-design="studio"] main > .page-intro {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding-inline: clamp(24px, 4.5vw, 84px) !important;
    overflow: clip;
}

/* Mirror the decorative hero canvas on English inner pages. */
html:not([dir="rtl"]) body.inner-page[data-design="studio"] .page-intro .page-motion-canvas {
    transform: scaleX(-1) !important;
    transform-origin: center center !important;
    pointer-events: none;
}

/* Make the feature-card section full bleed, removing side strips. */
html:not([dir="rtl"]) body.inner-page[data-design="studio"] main > .approach {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #0b1222 !important;
    border-radius: 0 !important;
}

/* Keep the feature cards aligned to the shared content grid. */
html:not([dir="rtl"]) body.inner-page[data-design="studio"] .approach > .wrap {
    box-sizing: border-box;
    width: calc(100% - 2 * clamp(24px, 4.5vw, 84px));
    max-width: 1440px;
    margin-inline: auto;
}

/* Prevent accidental horizontal scrolling from full-width sections. */
html:not([dir="rtl"]) body.inner-page[data-design="studio"] {
    overflow-x: clip;
}

/* END TM-ENGLISH-INNER-PAGE-FULLBLEED-FIX-20261027 */

/* TM-SOLUTIONS-VISUALS-20261027
   Custom illustrations for the English and Arabic Solutions pages only.
*/
body.tm-solutions-visual-host main section.tm-solutions-visual-host {
  position: relative;
  isolation: isolate;
}

body.tm-solutions-page main section.tm-solutions-visual-host {
  min-height: 470px;
}

body.tm-solutions-page .tm-solution-visual {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 50%;
  width: 41%;
  height: min(78%, 440px);
  min-height: 270px;
  transform:
    translate3d(var(--tm-move-x, 0px), calc(-50% + var(--tm-move-y, 0px)), 0)
    rotate(var(--tm-rotate, 0deg))
    scaleX(var(--tm-visual-flip, 1));
  transform-origin: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .98;
  pointer-events: none;
  transition: transform .35s ease, opacity .35s ease;
  will-change: transform;
  filter: drop-shadow(0 18px 32px rgba(30, 75, 190, .10));
}

body.tm-solutions-page .tm-solution-visual[data-visual-type="operations"] {
  background-image: url("/assets/solutions/operations.svg");
}

body.tm-solutions-page .tm-solution-visual[data-visual-type="automation"] {
  background-image: url("/assets/solutions/automation.svg");
}

body.tm-solutions-page .tm-solution-visual[data-visual-type="customer-experience"] {
  background-image: url("/assets/solutions/customer-experience.svg");
}

/* Keep existing section content readable above the decorative art. */
body.tm-solutions-page main section.tm-solutions-visual-host > *:not(.tm-solution-visual) {
  position: relative;
  z-index: 1;
}

/* The image mirrors in Arabic; text and interface labels do not. */
html[dir="rtl"] body.tm-solutions-page .tm-solution-visual {
  transform:
    translate3d(calc(-1 * var(--tm-move-x, 0px)), calc(-50% + var(--tm-move-y, 0px)), 0)
    rotate(calc(-1 * var(--tm-rotate, 0deg)))
    scaleX(-1);
}

/* Keep the illustrations visible without overwhelming light mode. */
html[data-theme="light"] body.tm-solutions-page .tm-solution-visual,
body[data-theme="light"].tm-solutions-page .tm-solution-visual {
  opacity: 1;
  filter: drop-shadow(0 16px 28px rgba(30, 75, 190, .08));
}

/* Tablet and mobile: stack the art above the section text. */
@media (max-width: 900px) {
  body.tm-solutions-page main section.tm-solutions-visual-host {
    min-height: 0;
  }

  body.tm-solutions-page .tm-solution-visual {
    position: relative;
    left: auto;
    top: auto;
    width: min(100%, 500px);
    height: 280px;
    min-height: 0;
    margin: 0 auto 1.5rem;
    transform: none;
  }

  html[dir="rtl"] body.tm-solutions-page .tm-solution-visual {
    transform: scaleX(-1);
  }
}

@media (max-width: 560px) {
  body.tm-solutions-page .tm-solution-visual {
    height: 220px;
    margin-bottom: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tm-solutions-page .tm-solution-visual {
    transition: none;
    will-change: auto;
  }
}
/* END TM-SOLUTIONS-VISUALS-20261027 */

/* TM-SOLUTIONS-VISUALS-SELECTOR-FIX-20261027 */
html.tm-solutions-visuals-ready body .tm-solutions-visual-host {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
}

html.tm-solutions-visuals-ready body .tm-solutions-visual-host > .tm-solution-visual {
  position: absolute !important;
  z-index: 0;
  left: 0;
  top: 50%;
  display: block !important;
  width: 42%;
  height: min(82%, 440px);
  min-height: 260px;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 1;
  pointer-events: none;
  transform: translateY(-50%);
}

html.tm-solutions-visuals-ready body .tm-solutions-visual-host > *:not(.tm-solution-visual) {
  position: relative;
  z-index: 1;
}

html.tm-solutions-visuals-ready body .tm-solution-visual[data-visual-type="operations"] {
  background-image: url("/assets/solutions/operations.svg");
}

html.tm-solutions-visuals-ready body .tm-solution-visual[data-visual-type="automation"] {
  background-image: url("/assets/solutions/automation.svg");
}

html.tm-solutions-visuals-ready body .tm-solution-visual[data-visual-type="customer-experience"] {
  background-image: url("/assets/solutions/customer-experience.svg");
}

/* Arabic: mirror artwork while leaving Arabic text untouched. */
html[dir="rtl"].tm-solutions-visuals-ready body .tm-solution-visual {
  left: auto;
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}

@media (max-width: 900px) {
  html.tm-solutions-visuals-ready body .tm-solutions-visual-host {
    overflow: visible;
  }

  html.tm-solutions-visuals-ready body .tm-solutions-visual-host > .tm-solution-visual {
    position: relative !important;
    left: auto;
    right: auto;
    top: auto;
    width: min(100%, 500px);
    height: 270px;
    min-height: 0;
    margin: 0 auto 1.5rem;
    transform: none;
  }

  html[dir="rtl"].tm-solutions-visuals-ready body .tm-solution-visual {
    transform: scaleX(-1);
  }
}

@media (max-width: 560px) {
  html.tm-solutions-visuals-ready body .tm-solutions-visual-host > .tm-solution-visual {
    height: 220px;
  }
}
/* END TM-SOLUTIONS-VISUALS-SELECTOR-FIX-20261027 */

/* TM-MOBILE-NAV-AND-VISUAL-FIX-20261027 */

/* Mobile navigation must occupy its own space, not cover the hero. */
@media (max-width: 760px) {
  header .wrap.nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0;
  }

  header .nav > .brand {
    flex: 1 1 auto;
    min-width: 0;
  }

  header .nav > .menu-toggle {
    flex: 0 0 auto;
    position: relative;
    z-index: 20;
  }

  header .nav > #navigation {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    flex: 0 0 100% !important;
    order: 20;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: min(55vh, 340px);
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--line, #dbe3ef);
    border-radius: 16px;
    background: var(--surface, #fff);
    box-shadow: 0 12px 28px rgba(20, 35, 65, .10);
    -webkit-overflow-scrolling: touch;
  }

  header .nav > #navigation a {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  header .nav > #navigation a:focus-visible,
  header .nav > .menu-toggle:focus-visible {
    outline: 2px solid #2458e6;
    outline-offset: 3px;
  }

  /* Keep the hero readable on narrow screens. */
  body .page-intro {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: clamp(28px, 7vw, 48px) 20px;
    overflow: hidden;
  }

  body .page-intro h1 {
    max-width: 100%;
    font-size: clamp(32px, 8.5vw, 46px);
    line-height: 1.16;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
  }

  body .page-intro .lead {
    max-width: 100%;
    font-size: 17px;
    line-height: 1.75;
  }

  /* Reduce decorative animation behind mobile text. */
  body .page-intro .page-motion-canvas {
    opacity: .32;
    pointer-events: none;
  }

  /* Solutions illustrations stack above their text on mobile. */
  body .tm-solutions-visual-host {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
  }

  body .tm-solutions-visual-host > .tm-solution-visual {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 340px;
    height: clamp(160px, 48vw, 220px) !important;
    min-height: 0 !important;
    margin: 0 auto 22px !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .92;
    transform: none !important;
  }

  html[dir="rtl"] body .tm-solutions-visual-host > .tm-solution-visual {
    transform: scaleX(-1) !important;
  }

  body .tm-solutions-visual-host h2 {
    max-width: 100%;
    font-size: clamp(28px, 7vw, 38px);
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  body .tm-solutions-visual-host p,
  body .tm-solutions-visual-host a {
    overflow-wrap: anywhere;
  }
}

/* Very narrow phones. */
@media (max-width: 420px) {
  header .nav > #navigation {
    padding: 8px !important;
    border-radius: 12px;
  }

  header .nav > #navigation a {
    padding: 9px;
    font-size: 15px;
  }

  body .page-intro {
    padding-left: 18px;
    padding-right: 18px;
  }

  body .page-intro h1 {
    font-size: clamp(29px, 8vw, 36px);
  }
}

/* END TM-MOBILE-NAV-AND-VISUAL-FIX-20261027 */

/* TM-MOBILE-CORRECTIVE-FIX-20261027 */

@media (max-width: 760px) {

  /* Compact illustration: prevent excessive blank space. */
  body main section.solution-rows > .tm-solution-visual {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: min(100%, 240px) !important;
    max-width: 240px !important;
    height: 105px !important;
    min-height: 0 !important;
    margin: 0 auto 8px !important;
    padding: 0 !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    transform: none !important;
  }

  /* Keep the first solution close to its illustration. */
  body main section.solution-rows {
    box-sizing: border-box;
    padding-top: 18px !important;
    padding-bottom: 40px !important;
  }

  body main section.solution-rows > article {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin: 0 0 48px !important;
    padding: 0 20px !important;
  }

  body main section.solution-rows > article > div {
    min-width: 0;
    max-width: 100%;
  }

  body main section.solution-rows article h2 {
    font-size: clamp(27px, 7vw, 35px) !important;
    line-height: 1.2 !important;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
  }

  body main section.solution-rows article p,
  body main section.solution-rows article li {
    font-size: 16px;
    line-height: 1.75;
    overflow-wrap: anywhere;
  }

  /* Expanded navigation must not float over the hero text. */
  header #navigation,
  header nav#navigation {
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    box-sizing: border-box;
    max-width: 100% !important;
    max-height: 55vh;
    overflow-y: auto;
  }

  /* Give the page enough room beneath fixed interface controls. */
  body main {
    padding-bottom: 100px;
  }

  /* Keep the closing illustration compact as well. */
  body main section.closing.tm-solutions-visual-host > .tm-solution-visual {
    position: relative !important;
    inset: auto !important;
    width: min(100%, 260px) !important;
    max-width: 260px !important;
    height: 120px !important;
    min-height: 0 !important;
    margin: 0 auto 20px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }
}

/* END TM-MOBILE-CORRECTIVE-FIX-20261027 */

/* TM-SOLUTIONS-MOBILE-VISUAL-PLACEMENT-FIX */
@media (max-width: 760px) {

  /* Keep the operations illustration with the solutions content. */
  body main section.solution-rows {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body main section.solution-rows > .tm-solution-visual {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    flex: 0 0 auto !important;
    width: min(100%, 260px) !important;
    max-width: 260px !important;
    height: 140px !important;
    min-height: 0 !important;
    margin: 0 auto 24px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    transform: none !important;
    pointer-events: none !important;
  }

  body main section.solution-rows > article {
    position: relative !important;
    order: 1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
  }

  /* Do not let the closing/footer illustration cover the headline. */
  body main section.closing.tm-solutions-visual-host
    > .tm-solution-visual {
    display: none !important;
  }

  body main section.closing.tm-solutions-visual-host {
    overflow: hidden;
  }

  body main section.closing.tm-solutions-visual-host h2 {
    position: relative;
    z-index: 1;
    overflow-wrap: anywhere;
  }
}
/* END TM-SOLUTIONS-MOBILE-VISUAL-PLACEMENT-FIX */

/* TM-SOLUTIONS-ARTICLE-PLACEMENT-FINAL-20261027 */
/* Keep every illustration attached to its own solution article. */
body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host {
  display: grid !important;
  grid-template-columns: minmax(125px, 18%) minmax(0, 1fr) minmax(240px, 35%) !important;
  align-items: center !important;
  column-gap: clamp(22px, 3vw, 54px) !important;
  position: relative !important;
  isolation: isolate;
  min-width: 0;
  min-height: 330px;
  overflow: clip;
}

body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .tm-solution-visual {
  position: relative !important;
  inset: auto !important;
  grid-column: 3;
  grid-row: 1 / span 2;
  display: block !important;
  width: 100% !important;
  max-width: 440px;
  height: clamp(240px, 28vw, 370px) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  opacity: 1;
  transform: none !important;
  pointer-events: none !important;
}

body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .solution-index {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}

body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > div:not(.tm-solution-visual):not(.solution-index) {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

body.tm-solutions-page .tm-solution-visual[data-visual-type="operations"] {
  background-image: url("/assets/solutions/operations.svg") !important;
}

body.tm-solutions-page .tm-solution-visual[data-visual-type="automation"] {
  background-image: url("/assets/solutions/automation.svg") !important;
}

body.tm-solutions-page .tm-solution-visual[data-visual-type="customer-experience"] {
  background-image: url("/assets/solutions/customer-experience.svg") !important;
}

/* Arabic: place artwork on the opposite side without mirroring text. */
html[dir="rtl"] body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host {
  direction: rtl;
}

html[dir="rtl"] body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .tm-solution-visual {
  grid-column: 1;
  transform: scaleX(-1) !important;
}

html[dir="rtl"] body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .solution-index {
  grid-column: 3;
  text-align: right;
}

html[dir="rtl"] body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > div:not(.tm-solution-visual):not(.solution-index) {
  grid-column: 2;
  text-align: right;
}

/* Tablet and mobile: image directly above its own section text. */
@media (max-width: 900px) {
  body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 24px 20px !important;
  }

  body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .tm-solution-visual {
    order: 0;
    width: min(100%, 380px) !important;
    max-width: 380px !important;
    height: clamp(175px, 42vw, 270px) !important;
    margin: 0 auto 12px !important;
    transform: none !important;
  }

  body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .solution-index {
    order: 1;
  }

  body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > div:not(.tm-solution-visual):not(.solution-index) {
    order: 2;
    width: 100%;
  }

  html[dir="rtl"] body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .tm-solution-visual {
    transform: scaleX(-1) !important;
  }
}

@media (max-width: 560px) {
  body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host {
    padding-inline: 18px !important;
    margin-bottom: 20px !important;
  }

  body.tm-solutions-page main section.solution-rows > article.tm-solutions-visual-host > .tm-solution-visual {
    width: 100% !important;
    max-width: 300px !important;
    height: 185px !important;
    margin-bottom: 8px !important;
  }
}

/* END TM-SOLUTIONS-ARTICLE-PLACEMENT-FINAL-20261027 */

/* TM SOLUTIONS FINAL BILINGUAL IMAGE LAYOUT */
body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr) !important;
  grid-template-rows: auto 1fr !important;
  align-items: center !important;
  column-gap: clamp(24px, 5vw, 72px) !important;
  row-gap: 18px !important;
  direction: ltr !important;
  min-width: 0 !important;
  min-height: 330px !important;
  overflow: visible !important;
}

body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host > .tm-solution-visual {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 440px !important;
  height: clamp(230px, 27vw, 360px) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host > .solution-index {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  min-width: 0 !important;
  text-align: left !important;
  direction: ltr !important;
}

body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host
> div:not(.tm-solution-visual):not(.solution-index) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  min-width: 0 !important;
  width: 100% !important;
  text-align: left !important;
  direction: ltr !important;
}

/* Arabic: image on the right, text on the left. */
html[dir="rtl"] body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host > .tm-solution-visual {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  transform: none !important;
}

html[dir="rtl"] body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host > .solution-index {
  grid-column: 1 !important;
  text-align: right !important;
  direction: rtl !important;
}

html[dir="rtl"] body.tm-solutions-page main section.solution-rows
> article.tm-solutions-visual-host
> div:not(.tm-solution-visual):not(.solution-index) {
  grid-column: 1 !important;
  text-align: right !important;
  direction: rtl !important;
}

/* Mobile and tablet: keep each illustration with its own content. */
@media (max-width: 900px) {
  body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    min-height: 0 !important;
    padding: 24px 20px !important;
    overflow: visible !important;
  }

  body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host > .tm-solution-visual {
    order: 0 !important;
    width: 100% !important;
    max-width: 340px !important;
    height: clamp(175px, 48vw, 250px) !important;
    margin: 0 auto 10px !important;
    transform: none !important;
  }

  body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host > .solution-index {
    order: 1 !important;
    width: 100% !important;
    text-align: left !important;
  }

  body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host
  > div:not(.tm-solution-visual):not(.solution-index) {
    order: 2 !important;
    width: 100% !important;
    text-align: left !important;
  }

  html[dir="rtl"] body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host > .solution-index,
  html[dir="rtl"] body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host
  > div:not(.tm-solution-visual):not(.solution-index) {
    text-align: right !important;
    direction: rtl !important;
  }
}

/* END TM SOLUTIONS FINAL BILINGUAL IMAGE LAYOUT */

/* TM SOLUTIONS ILLUSTRATION HOVER EFFECT */
@media (hover: hover) and (pointer: fine) {
  body.tm-solutions-page main section.solution-rows
  > article.tm-solutions-visual-host:hover > .tm-solution-visual {
    transform: translateY(-5px) scale(1.025) !important;
    filter: drop-shadow(0 12px 22px rgba(36, 89, 217, 0.22));
    transition: transform 280ms ease, filter 280ms ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tm-solutions-page .tm-solution-visual {
    transition: none !important;
  }
}
/* END TM SOLUTIONS ILLUSTRATION HOVER EFFECT */

/* TM-MOBILE-HEADER-FINAL-FIX-20261027 */
@media (max-width: 760px) {
  body[data-design="studio"] header .nav > #navigation {
    display: none !important;
    flex: 0 0 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body[data-design="studio"] header .nav > #navigation.open {
    display: flex !important;
  }

  body[data-design="studio"] header .nav > #navigation a {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html[dir="rtl"] body[data-design="studio"] header
  .nav > #navigation a {
    direction: rtl;
    text-align: right !important;
    justify-content: flex-start !important;
  }

  html:not([dir="rtl"]) body[data-design="studio"] header
  .nav > #navigation a {
    direction: ltr;
    text-align: left !important;
  }

  body[data-design="studio"] header .menu-toggle {
    position: relative !important;
    z-index: 61 !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    touch-action: manipulation;
  }
}
/* END TM-MOBILE-HEADER-FINAL-FIX-20261027 */

/* TM-MOBILE-HEADER-PREMIUM-FIX */
@media (max-width: 760px) {
  body[data-design="studio"] header .nav > #navigation.open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 5px !important;
    padding: 12px !important;
    background: #111d32 !important;
    border: 1px solid #30415f !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.35) !important;
  }

  body[data-design="studio"] header .nav > #navigation a {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
    color: #edf3ff !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-align: start !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    transition: background .2s ease, color .2s ease,
      border-color .2s ease !important;
  }

  body[data-design="studio"] header .nav > #navigation a[aria-current="page"] {
    color: #ffffff !important;
    background: #203b68 !important;
    border-color: #3976ed !important;
  }

  body[data-design="studio"] header .nav > #navigation a:hover,
  body[data-design="studio"] header .nav > #navigation a:focus-visible {
    color: #ffffff !important;
    background: #243653 !important;
    border-color: #435a7e !important;
  }

  body[data-design="studio"] header .menu-toggle {
    color: #ffffff !important;
    background: #17253c !important;
    border-color: #344866 !important;
    border-radius: 12px !important;
  }

  body[data-design="studio"] header .brand .logo-window {
    flex-shrink: 0 !important;
  }
}
/* END TM-MOBILE-HEADER-PREMIUM-FIX */


/* TM-ACTIVE-HERO-LCP-FIX-20261027 */
/* Keep the above-the-fold heading visible immediately. */
.hero-title h1,
.hero-title h1.reveal,
.hero-new .hero-title,
.hero-new .hero-title h1,
.hero-stage h1,
.home-hero h1 {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}
/* END TM-ACTIVE-HERO-LCP-FIX-20261027 */


/* TM-V3-HERO-INITIAL-RENDER-FIX-20261027 */
/* Keep homepage hero content visible during initial page rendering. */
.tm-home-v3 .tm-v3-hero,
.tm-home-v3 .tm-v3-hero .tm-v3-hero-copy,
.tm-home-v3 .tm-v3-hero .tm-v3-eyebrow,
.tm-home-v3 .tm-v3-hero h1,
.tm-home-v3 .tm-v3-hero .tm-v3-lead,
.tm-home-v3 .tm-v3-hero .tm-v3-actions,
.tm-home-v3 .tm-v3-hero .tm-v3-markets {
  opacity: 1;
  visibility: visible;
  transform: none;
}
/* END TM-V3-HERO-INITIAL-RENDER-FIX-20261027 */
