@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#0d1b2c;--navy-2:#142b3f;--ink:#101f30;--muted:#597084;--teal:#91d46a;--line:#dce5e9;--paper:#f7f9f6;--white:#fff;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-60px;background:white;padding:12px 16px;z-index:20}.skip-link:focus{top:12px}.site-header{background:var(--navy);color:#fff;position:relative;z-index:2;border-bottom:1px solid #ffffff24}.header-inner{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-family:Manrope,Arial,sans-serif;font-size:1.38rem;font-weight:800;letter-spacing:.16em;white-space:nowrap}.brand-period{color:var(--teal)}.brand-mark{width:31px;height:31px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;transform:skewX(-16deg)}.brand-mark span{display:block;background:var(--teal);height:55%}.brand-mark span:nth-child(2){height:80%}.brand-mark span:nth-child(3){height:100%}.site-header nav{display:flex;align-items:center;gap:36px;font-size:.9rem;font-weight:700}.site-header nav a:hover,.button-text:hover,.site-footer a:hover{color:var(--teal)}.nav-contact{border:1px solid #ffffff6b;padding:12px 16px}.nav-contact span{margin-left:16px;color:var(--teal)}
.hero{position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden}.hero:before{content:"";position:absolute;right:-12%;top:-33%;width:60%;aspect-ratio:1;border:1px solid #ffffff14;border-radius:50%;box-shadow:0 0 0 100px #ffffff06,0 0 0 220px #ffffff04;z-index:-1}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,transparent 15%,#000 100%);z-index:-1}.hero-inner{min-height:645px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;gap:8%;padding-block:92px 82px}.eyebrow{display:flex;align-items:center;gap:13px;color:var(--teal);font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;line-height:1.5}.eyebrow-line{display:block;width:27px;height:1px;background:var(--teal);flex:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(3rem,5.1vw,5.5rem);line-height:1.095;letter-spacing:-.052em;max-width:750px;margin:23px 0 28px;font-weight:800}h1 em{font-style:normal;color:var(--teal)}.accent{color:var(--teal)}.hero-intro{max-width:600px;color:#cedce5;font-size:1.08rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:55px;font-size:.93rem;font-weight:700}.button-primary{background:var(--teal);color:var(--navy);padding:0 21px}.button-primary:hover{background:#afe58c}.button-primary span{font-size:1.25rem}.button-text{color:#fff}.button-text span{font-size:1.2rem;color:var(--teal)}.hero-panel{align-self:center;background:#0f304b;border:1px solid #ffffff30;padding:30px;min-height:340px;display:flex;flex-direction:column;box-shadow:18px 18px 0 #030f1c50}.panel-index{font-size:.75rem;letter-spacing:.16em;color:var(--teal);font-weight:700}.panel-rule{height:1px;background:#ffffff3b;margin:24px 0 42px}.panel-heading{font-family:Manrope,Arial,sans-serif;font-size:1.55rem;font-weight:800;line-height:1.25;max-width:210px;margin-bottom:16px}.panel-text{color:#c0d3df;font-size:.95rem;line-height:1.6}.panel-bottom{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:24px}.panel-bottom span{font-size:.59rem;letter-spacing:.09em;color:#bbd4df;border:1px solid #ffffff35;padding:5px 7px}.hero-foot{border-top:1px solid #ffffff24;padding:18px 0 22px;display:flex;justify-content:space-between;gap:15px;color:#9db3c2;font-size:.67rem;font-weight:700;letter-spacing:.15em}
.section-pad{padding-block:105px}.intro{background:var(--paper)}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;column-gap:8%;align-items:end;margin-bottom:50px}.section-label{grid-column:1/-1;color:#197e2d;font-size:.72rem;letter-spacing:.19em;font-weight:800;margin-bottom:25px}.section-heading h2,.contact h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.13;letter-spacing:-.055em;margin:0}.section-heading h2 span{color:#197e2d}.section-heading>p:last-child{color:var(--muted);font-size:1.06rem;line-height:1.7;max-width:490px;margin-bottom:0}.services{border-top:1px solid #cbd9dc}.service{display:grid;grid-template-columns:75px minmax(0,1fr) 44px;gap:18px;padding:27px 10px;border-bottom:1px solid #cbd9dc;align-items:start}.service-number{font-family:Manrope,Arial,sans-serif;font-size:.78rem;color:#197e2d;font-weight:800;padding-top:8px}.service h3{font-size:1.35rem;letter-spacing:-.035em;margin:0 0 8px}.service p{color:var(--muted);line-height:1.65;font-size:.97rem;max-width:790px;margin:0}.service-symbol{font-size:1.35rem;color:#197e2d;text-align:right}
.contact{background:#102439;color:#fff}.contact-inner{display:grid;grid-template-columns:1.1fr .8fr;gap:11%;align-items:center}.contact .section-label{color:var(--teal)}.contact h2{max-width:550px}.contact-lead{font-size:1.08rem;line-height:1.75;color:#c9d9e3;max-width:560px;margin:27px 0 29px}.contact-lead strong{color:#fff}.contact-card{border-top:3px solid var(--teal);background:#19344a;padding:32px}.contact-card-label{font-size:.7rem;color:var(--teal);font-weight:800;letter-spacing:.17em;margin-bottom:30px}.contact-card h3{font-size:1.6rem;margin-bottom:4px}.contact-card>p:nth-of-type(2){color:#b7ceda}.contact-links{border-top:1px solid #ffffff36;margin-top:30px}.contact-links a{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:17px 0;border-bottom:1px solid #ffffff36}.contact-links a span:first-child{grid-column:1;color:#9fb9c8;font-size:.78rem}.contact-links a strong{grid-column:1;font-size:.95rem;overflow-wrap:anywhere}.contact-links a span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:var(--teal);font-size:1.3rem}.contact-links a:hover strong{color:var(--teal)}.site-footer{background:#051728;color:#a6bac7}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;font-size:.75rem}.footer-inner a{color:#fff;white-space:nowrap}
@media(max-width:850px){.hero-inner{grid-template-columns:1fr;min-height:0;padding-block:80px 70px;gap:55px}.hero-panel{max-width:540px;min-height:240px}.panel-rule{margin-bottom:25px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading>p:last-child{max-width:650px}.contact-inner{grid-template-columns:1fr;gap:50px}.contact-card{max-width:560px}}
@media(max-width:600px){.wrap{width:min(100% - 36px,1160px)}.header-inner{height:70px}.brand{font-size:1.02rem;letter-spacing:.12em;gap:8px}.brand-mark{width:23px;height:23px}.site-header nav{gap:0}.site-header nav>a:first-child{display:none}.nav-contact{font-size:.75rem;padding:9px}.nav-contact span{margin-left:6px}.hero-inner{padding-block:68px 55px;gap:42px}.eyebrow{font-size:.66rem;letter-spacing:.1em}h1{font-size:clamp(2.65rem,11vw,4rem);margin:20px 0}.hero-intro,.contact-lead{font-size:1rem}.hero-actions{gap:20px}.hero-panel{padding:24px;box-shadow:8px 8px 0 #030f1c50}.hero-foot{display:block;line-height:1.9}.hero-foot span{display:block}.section-pad{padding-block:75px}.section-heading{margin-bottom:36px}.service{grid-template-columns:35px minmax(0,1fr);gap:12px;padding:24px 0}.service-symbol{display:none}.service h3{font-size:1.13rem}.service p{font-size:.94rem}.contact-card{padding:25px}.footer-inner{flex-wrap:wrap}.footer-inner span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* Supplied Terelligent logo and colour treatment */
.site-header{background:#fff;color:#0d1b2c;border-bottom:1px solid #e0e8df}
.brand{display:block;line-height:0}
.brand img{display:block;width:288px;height:auto}
.site-header nav a:hover{color:#197e2d}
.nav-contact{border-color:#cbd7cb}
.nav-contact span{color:#197e2d}
@media(max-width:600px){.brand img{width:174px}}
