:root{--background:0 0% 100%;--foreground:219 34% 19%;--primary:218 56% 29%;--primary-foreground:0 0% 100%;--secondary:39 100% 67%;--secondary-foreground:218 56% 29%;--muted:216 26% 96%;--muted-foreground:216 12% 43%;--border:216 20% 87%;--input:216 20% 87%;--ring:218 56% 29%;--radius:.3rem;--card:0 0% 100%;--card-foreground:219 34% 19%;--accent:39 100% 67%;--accent-foreground:218 56% 29%;--popover:0 0% 100%;--popover-foreground:219 34% 19%;--navy:#203F73;--yellow:#FFBE55;--ink:#243247;--light:#f3f6fa}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'Barlow',sans-serif;color:var(--ink);overflow-x:clip}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button,a{transition:background .2s,color .2s}p{line-height:1.7}h1,h2,h3,h4,p{margin-top:0}h2{font-size:42px;line-height:1.15;letter-spacing:-1px;color:var(--navy);font-weight:700;margin-bottom:26px}h3{font-weight:600}button{cursor:pointer}.topbar{background:var(--navy);color:white;display:flex;justify-content:space-between;padding:10px max(5%,calc((100vw - 1200px)/2));font-size:12px;letter-spacing:.3px}.topbar a{display:flex;gap:8px;align-items:center}.header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:21px 5%;background:white;border-bottom:1px solid #e4e9f0}.brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:.5px;color:var(--navy);font-size:18px;line-height:1.15}.brand small{display:block;font-size:10px;letter-spacing:4px;margin-top:5px}.brand-icon{background:var(--navy);color:var(--yellow);padding:10px;border-radius:3px;display:flex}.header nav{display:flex;align-items:center;gap:32px;font-weight:500;font-size:14px}.header nav a:hover{color:#a66a0c}.nav-contact{padding:13px 20px;background:var(--yellow);color:var(--navy)}.hero{position:relative;background:var(--navy);min-height:650px;display:flex;align-items:center;color:white}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,35,67,.96),rgba(16,42,78,.85) 35%,rgba(13,34,62,.12) 100%)}.hero-content{position:relative;padding:75px 7% 100px;width:100%}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--yellow);margin-bottom:25px}.eyebrow.navy{color:var(--navy)}h1{font-size:clamp(42px,5.2vw,72px);font-weight:800;letter-spacing:-1px;line-height:1.03;margin:0 0 22px}h1 span{color:var(--yellow)}.tagline{letter-spacing:4px;font-size:16px;font-weight:600;color:var(--yellow);margin-bottom:20px}.hero-description{font-size:18px;color:#e0e7f1}.actions{display:flex;gap:14px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 24px;font-weight:600;font-size:14px;border:0;border-radius:2px;min-height:48px}.yellow{background:var(--yellow);color:var(--navy)}.yellow:hover{background:#ffd18b}.outline{border:1px solid #8294af;color:white}.outline:hover{background:#ffffff18}.navy-button{background:var(--navy);color:white}.button:active{transform:scale(.98)}.hero-note{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:38px;color:#d1dbea}.hero-note svg{color:var(--yellow)}.hero-bottom{position:absolute;bottom:0;width:100%;border-top:1px solid #ffffff30;padding:20px 7%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px}.hero-bottom span{display:flex;align-items:center;gap:10px}.section{padding:85px 7%;scroll-margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about h2 span{color:#758298}.about p{font-size:16px;color:#59677a}.small-rule{width:65px;height:4px;background:var(--yellow);margin-top:35px}.values{display:flex;gap:30px;margin-top:30px;font-weight:600;color:var(--navy)}.values span:before{content:'✓';color:#b77b1d;margin-right:9px}.services{background:var(--light)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading>p{color:#657286;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:white;padding:30px;border-bottom:3px solid transparent}.service:hover{border-color:var(--yellow)}.service-top{display:flex;justify-content:space-between;align-items:center;color:var(--navy);margin-bottom:27px}.service-top span{font-size:12px;color:#8d99a9}.service h3{font-size:20px;line-height:1.3;color:var(--navy);min-height:52px}.service p{font-size:14px;color:#667185;min-height:68px}.service a{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600;color:var(--navy)}.objectives{background:var(--navy);color:white}.objectives h2{color:white}.objective-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 45px;margin-top:40px}.objective-grid>div{border-top:1px solid #ffffff30;padding-top:22px;display:flex;gap:18px}.objective-grid span{color:var(--yellow);font-size:13px}.objective-grid p{font-size:15px;color:#e1e7f0}.team-leads{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.team-leads article{border-left:3px solid var(--yellow);padding:12px 25px;background:var(--light)}.team-leads small,.tech-label{font-size:11px;letter-spacing:1.5px;color:#66758b}.team-leads h3{margin:12px 0;color:var(--navy);font-size:24px}.tech-label{margin-top:40px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.team-grid div{border-bottom:1px solid #dce3ec;padding:18px 0;font-size:17px}.gallery-section{background:var(--light)}.gallery-section>p{color:#667185}.placeholder{border:1px dashed #b6c2d1;text-align:center;padding:40px;color:#78879b;margin-top:30px}.placeholder svg{margin:0 auto 15px}.placeholder h3{color:var(--navy);margin-bottom:8px}.placeholder p{margin-bottom:0;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.project{background:var(--light);padding:35px 20px;text-align:center;min-height:185px;color:#7e8ca0}.project svg{margin:0 auto 22px}.project h3{font-size:16px;color:var(--navy);margin-bottom:9px}.project p{font-size:12px;margin-bottom:0}.contact{background:var(--light);display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact>div>p{color:#627085;font-size:15px;max-width:400px}.contact h3{color:var(--navy);margin-top:30px}.contact-link{display:flex;align-items:center;gap:12px;margin:15px 0;font-size:15px;overflow-wrap:anywhere}.contact-link svg{flex-shrink:0;color:var(--navy)}.contact .yellow{margin-top:18px}.location-note{display:flex;gap:15px;background:#e8edf5;padding:22px;margin-top:30px;color:var(--navy)}.location-note p{margin:5px 0}.location-note a{font-size:13px;text-decoration:underline}.location-note small{display:block;color:#667185;margin-top:10px}.enquiry{background:white;padding:35px}.enquiry h3{font-size:25px;margin-top:0}.enquiry>p{font-size:14px;color:#667185}.enquiry label{display:block;font-size:13px;font-weight:600;margin-top:20px}.enquiry input,.enquiry textarea{display:block;width:100%;padding:13px;border:1px solid #dce2eb;border-radius:2px;margin-top:8px;font-weight:400;background:#fcfdff}.enquiry .button{width:100%;margin-top:12px}.enquiry .honeypot{display:none}.form-note{font-size:11px!important;margin-top:17px}.button:disabled{opacity:.6;cursor:wait}footer{background:#162e53;color:#c7d2e3;padding:55px 7% 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1.2fr;gap:35px}.footer-grid h3{color:white;font-size:18px}.footer-tagline{color:var(--yellow);letter-spacing:1px;font-size:11px}.footer-grid p{font-size:13px}.footer-grid h4{color:white;font-size:14px}.footer-grid a{display:block;font-size:12px;margin-bottom:12px;overflow-wrap:anywhere}.footer-grid a:hover{color:var(--yellow)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:23px;margin-top:35px;font-size:11px}.footer-bottom button{border:0;background:none;color:inherit;font-size:11px}.cookie-banner{position:fixed;bottom:18px;left:18px;z-index:30;background:white;border:1px solid #dbe3ee;box-shadow:0 4px 28px #142c4920;padding:22px;max-width:445px;border-radius:4px}.cookie-banner strong{color:var(--navy)}.cookie-banner p{font-size:12px;margin:8px 0 15px}.cookie-actions{display:flex;gap:8px}.cookie-actions button{background:var(--light);border:1px solid #d8e0eb;color:var(--navy);padding:10px;font-size:11px;min-height:44px;flex:1}.cookie-banner label{display:flex;align-items:start;gap:8px;font-size:12px;margin:13px 0}.cookie-banner input{margin-top:3px}
@media(min-width:1600px){.section,.hero-content{padding-left:calc((100vw - 1200px)/2);padding-right:calc((100vw - 1200px)/2)}}@media(max-width:900px){.header nav{gap:15px}.about,.contact{gap:30px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.objective-grid{grid-template-columns:repeat(2,1fr)}h2{font-size:34px}}@media(max-width:600px){.topbar{font-size:10px}.topbar>span{max-width:220px}.header{padding:15px 5%;flex-wrap:wrap;gap:15px}.brand{font-size:16px}.brand-icon{padding:7px}.header nav{width:100%;gap:0;justify-content:space-between;font-size:11px}.nav-contact{padding:10px}.hero{min-height:630px}.hero-shade{background:linear-gradient(90deg,#102b50ed,#102b5099)}.hero-content{padding:55px 6% 90px}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:43px}.tagline{font-size:12px;letter-spacing:2px}.hero-description{font-size:16px}.hero-bottom{font-size:9px;padding:15px 6%}.hero-bottom>span:last-child{display:none}.section{padding:55px 6%}.about,.contact{grid-template-columns:1fr;gap:30px}.section-heading{display:block;margin-bottom:25px}.section-heading>p br{display:none}.service-grid{grid-template-columns:1fr}.service{padding:25px}.service h3,.service p{min-height:0}.objective-grid{grid-template-columns:1fr;gap:8px}.team-leads{grid-template-columns:1fr;gap:18px}.team-grid{grid-template-columns:1fr 1fr;gap:0 18px}.team-grid div{font-size:14px}.project-grid{gap:12px}.project{padding:25px 12px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-bottom{display:block;line-height:1.7}.footer-bottom button{margin-top:15px;padding:0}.cookie-banner{left:10px;right:10px;bottom:10px;max-width:none;padding:17px}.enquiry{padding:25px}.actions{gap:10px}.button{gap:15px;padding:15px 19px}.contact-link{font-size:14px}h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Static cPanel publishing enhancements */
.header nav a:focus-visible,.button:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffbe55;outline-offset:3px}
.enquiry [role="status"]{min-height:24px;color:#203f73;font-weight:600;margin-top:12px}
@media(max-width:600px){.header nav{flex-wrap:wrap;row-gap:12px}.header nav a{white-space:nowrap}}
