
:root{--blue:#163dcb;--ink:#14234b;--sky:#dff4fa;--paper:#fff;--line:#b6c9db}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,sans-serif}a{color:var(--blue);text-underline-offset:.22em}a:hover{color:#0b237d}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b55200;outline-offset:4px}.skip{position:absolute;top:-100px;background:var(--blue);color:white;padding:15px;z-index:9}.skip:focus{top:0}header{display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:36px;padding:28px max(4vw,calc((100vw - 1360px)/2));border-bottom:1px solid var(--line)}.identity{text-decoration:none;color:var(--ink);display:flex;gap:20px;align-items:center}.identity strong{font-size:25px;line-height:1.05;letter-spacing:-1px}.identity>span{font-size:10px;max-width:100px;text-transform:uppercase;letter-spacing:.07em;line-height:1.6}.dot{color:var(--blue)}nav{display:flex;justify-content:flex-end;gap:15px 23px;flex-wrap:wrap;font-size:13px}nav a{text-decoration:none}.language{font-size:12px;border-left:1px solid var(--line);padding-left:22px}.canvas{max-width:1360px;margin:auto;padding:70px 4vw 90px}.prose{max-width:850px;margin:auto;padding:70px 30px 90px}h1,h2,h3{font-weight:700;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(2.5rem,5.4vw,5.6rem);margin:18px 0 28px;max-width:1100px}h2{font-size:clamp(1.6rem,2.8vw,2.6rem);margin:45px 0 24px}.prose h1{font-size:clamp(2.5rem,4.4vw,4.4rem)}.kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}.lead{font-size:clamp(1.15rem,2vw,1.5rem);max-width:750px;line-height:1.6}.page-intro{margin-bottom:40px}.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin:35px 0 65px}.action,button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;background:var(--blue);color:white;text-decoration:none;border:0;padding:17px 23px;font:700 15px/1.5 Arial;cursor:pointer}.action:hover,button:hover{background:#0b237d;color:white}.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--blue);padding:2px}.task-board>div{background:var(--sky);padding:32px}.task-board span{font-size:12px;color:var(--blue);font-weight:700}.task-board h2{font-size:1.7rem;margin:24px 0 20px}.task-board p{font-size:15px;margin-bottom:0}.caption{font-size:12px;color:#4b5d77}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin:90px 0}.two-col h2{margin-top:15px}.section-title{margin-top:15px}.service-list{border-top:2px solid var(--ink);margin:35px 0 70px}.service-list>a{display:grid;grid-template-columns:45px 1fr 30px;gap:25px;padding:25px 15px;border-bottom:1px solid var(--line);text-decoration:none;align-items:start;color:var(--ink)}.service-list>a:hover{background:var(--sky)}.service-list span{font-size:12px;color:var(--blue);padding-top:6px}.service-list h2{font-size:1.8rem;margin:0 0 12px}.service-list p{margin:0;font-size:16px;letter-spacing:0;max-width:780px}.service-list b{font-size:25px;color:var(--blue)}.resource-block{display:grid;grid-template-columns:1fr 240px;gap:50px;align-items:center;background:var(--sky);padding:45px;margin:75px 0}.resource-block h2{margin-top:20px}.resource-stamp{background:var(--blue);color:white;border-radius:50%;width:200px;height:200px;display:grid;place-content:center;text-align:center;font-size:36px;font-weight:bold;line-height:1.1;transform:rotate(7deg)}.project-call{background:var(--blue);color:white;padding:35px;margin-top:65px}.project-call h2{margin-top:0}.project-call .action{background:white;color:var(--blue)}.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:70px}.enquiry h1{font-size:clamp(2.5rem,4vw,4rem)}form{padding:35px;background:var(--sky);min-width:0}label{display:block;font-size:15px;font-weight:700;margin:18px 0 7px}input,textarea{width:100%;border:1px solid #6d839e;border-radius:0;background:white;color:var(--ink);padding:13px;font:17px/1.5 Arial}textarea{resize:vertical}button{margin-top:20px}.small{font-size:13px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.demo-box{padding:30px;border:2px solid var(--blue);margin:35px 0}.demo-controls{display:flex;gap:12px}.demo-controls button{margin:0;min-width:70px}.demo-controls button:focus{outline-offset:4px}.demo-box h2{font-size:1.8rem}.blog-rail{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin:35px 0}.notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}.note{padding:30px 0;border-bottom:1px solid var(--line)}.note h2{font-size:1.8rem;margin:15px 0 20px}.note p{font-size:16px}.meta{font-size:13px;color:#4b5d77}article img{max-width:100%;height:auto}table{border-collapse:collapse;display:block;overflow:auto;max-width:100%}th,td{border:1px solid var(--line);padding:12px}footer{background:#edf2f8;padding:45px max(4vw,calc((100vw - 1260px)/2));display:grid;grid-template-columns:1.4fr 1fr;gap:30px 60px;font-size:14px}footer strong{font-size:23px}footer a{display:block;margin:10px 0}.footer-note{grid-column:1/-1;font-size:12px;max-width:850px}@media(max-width:1050px){header{grid-template-columns:1fr auto;gap:24px}.identity{grid-column:1}nav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.language{grid-column:2;grid-row:1}.task-board>div{padding:25px}.enquiry{gap:35px}}@media(max-width:700px){.canvas{padding:40px 22px 60px}.prose{padding:40px 22px 60px}header{padding:24px 22px}.identity strong{font-size:24px}.identity>span{max-width:95px}.task-board,.two-col,.enquiry,.notes{grid-template-columns:1fr}.task-board>div{padding:25px}.task-board h2{margin-top:15px}.two-col{gap:8px;margin:55px 0}.service-list>a{grid-template-columns:25px 1fr 22px;gap:12px;padding:24px 0}.service-list h2{font-size:1.6rem}.resource-block{grid-template-columns:1fr;padding:28px;gap:20px}.resource-stamp{width:120px;height:120px;font-size:25px}.project-call{padding:27px}form{padding:25px}.enquiry{gap:25px}footer{grid-template-columns:1fr;padding:32px 22px;gap:20px}.footer-note{grid-column:1}.demo-box{padding:24px}h1 br:after{content:' '}nav{font-size:13px;gap:12px 20px}}
