/* Layout concept: navy brand band, then white pages structured around the three colour-coded services. Single brand theme. */
:root{--navy:#0E1B33;--ink:#0E1B33;--muted:#475569;--line:#D9DEE7;--ground:#F5F7FA;--white:#FFFFFF;--it:#1D4ED8;--telco:#0F766E;--iot:#C2410C;--display:Sora,Inter,system-ui,sans-serif;--body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.6 var(--body)}
a{color:var(--it)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4F8BFF;outline-offset:2px}
h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0;text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}h3{font-size:1.15rem;font-weight:600}
p{margin:0}
.wrap{max-width:1160px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:780px}.center{text-align:center}
.draft{background:#FEF3C7;color:#78350F;font-size:14px;text-align:center;padding:8px 16px}
.tbc{display:inline-block;background:#FEF3C7;color:#78350F;font:600 12px/1.6 var(--body);padding:0 8px;border-radius:999px;vertical-align:middle}
.top{background:var(--white);border-bottom:1px solid var(--line)}
.toprow{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none}.brand span{display:flex;flex-direction:column;font-family:var(--display);line-height:1.1}.brand b{font-size:21px;letter-spacing:2.5px}.brand small{font-size:8.5px;letter-spacing:3.4px;color:var(--muted)}
.brand.light{color:var(--white)}.brand.light small{color:#C9D3E6}
nav{display:flex;flex-wrap:wrap;gap:4px 20px;margin-left:auto}nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:15.5px;padding-block:8px}nav a:hover,nav a[aria-current]{color:var(--it)}
.topphone{font-weight:600;color:var(--navy);text-decoration:none;white-space:nowrap}
.hero{padding-block:72px;background:var(--ground)}.hero .wrap{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.hero h1{max-width:21ch}.lead{font-size:1.2rem;max-width:62ch;color:var(--muted)}
.eyebrow{font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hero.dark{background:var(--navy);color:var(--white)}.hero.dark .lead{color:#E6ECF7}.hero.dark .eyebrow{color:#C9D3E6}.hero.dark .phone{color:var(--white)}
.tint-it{background:#EEF3FE}.tint-telco{background:#E9F5F3}.tint-iot{background:#FBEFE9}
.heroactions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:8px}
.btn{display:inline-block;background:var(--it);color:var(--white);font:600 16px var(--body);padding:13px 24px;border:0;border-radius:8px;text-decoration:none;cursor:pointer}.btn:hover{background:#1E40AF}
.phone{font:600 1.3rem var(--display);color:var(--navy);text-decoration:none;white-space:nowrap}
.band{padding-block:68px}.band.alt{background:var(--ground)}.band>.wrap{display:flex;flex-direction:column;gap:32px}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pillar{display:flex;flex-direction:column;gap:12px;padding:0 28px 28px;overflow:hidden;background:var(--white);border:1px solid var(--line);border-top:5px solid;border-radius:12px;color:var(--ink);text-decoration:none}.pillar:hover{box-shadow:0 8px 24px rgba(14,27,51,.1)}
.pillar img{display:block;width:calc(100% + 56px);max-width:none;margin:0 -28px 8px;height:190px;object-fit:cover}.pillar h3{font-size:1.8rem}.pillar ul{margin:0;padding-left:18px;flex-grow:1}.pillar span{font-weight:600}.pillar p{color:var(--muted)}
.hero.withimg .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}.herotext{display:flex;flex-direction:column;gap:18px;align-items:flex-start;min-width:0}.heroimg{display:block;width:100%;height:auto;border-radius:14px}.hero:not(.withimg) .wrap{display:block}.hero:not(.withimg) .herotext{display:flex}
.it{border-top-color:var(--it)}.it h3,.it span{color:var(--it)}.telco{border-top-color:var(--telco)}.telco h3,.telco span{color:var(--telco)}.iot{border-top-color:var(--iot)}.iot h3,.iot span{color:var(--iot)}
.rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px}.row{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1px solid var(--line);min-width:0}.row p{color:var(--muted)}
.faq{display:flex;flex-direction:column;gap:8px}.faq h3{margin-top:18px}.faq p{color:var(--muted)}
.cta{background:var(--navy);color:var(--white);padding-block:56px}.ctarow{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between}.ctarow>div:first-child{flex:1 1 380px;display:flex;flex-direction:column;gap:8px;min-width:0}.ctarow p{color:#E6ECF7}.ctaside{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}.cta .phone{color:var(--white)}
.prose{display:flex;flex-direction:column;gap:14px}.prose h2{margin-top:14px;font-size:1.35rem}.small{font-size:14px;color:var(--muted)}
.contactgrid{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:48px}form{display:flex;flex-direction:column;gap:16px;align-items:flex-start;min-width:0}.field{display:flex;flex-direction:column;gap:6px;width:100%}label{font-weight:500}input,select,textarea{font:inherit;width:100%;padding:11px 12px;border:1px solid #94A3B8;border-radius:8px;background:var(--white);color:var(--ink)}.hp{position:absolute;left:-9999px}
footer{background:var(--navy);color:#E6ECF7;padding-block:48px 24px;border-top:1px solid #243454}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:32px}.footgrid>div{display:flex;flex-direction:column;gap:8px;min-width:0}.footgrid h2{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#C9D3E6}.footgrid a:not(.brand){color:#E6ECF7;text-decoration:none;overflow-wrap:anywhere}.footgrid a:not(.brand):hover{text-decoration:underline}.legal{margin-top:32px;font-size:14px;color:#C9D3E6}
@media (max-width:820px){.pillars,.rows,.contactgrid,.footgrid,.hero.withimg .wrap{grid-template-columns:minmax(0,1fr)}.hero,.band{padding-block:48px}nav{margin-left:0;width:100%;order:3}.topphone{margin-left:auto}}
