
:root{
  --ink:#10233d;--ink2:#203854;--muted:#50647d;--blue:#1769e0;--blue2:#3b82f6;
  --sky:#dcefff;--aqua:#ddf7f1;--lilac:#eee8ff;--peach:#ffead7;--yellow:#fff3c9;
  --bg:#eaf2f8;--white:#fff;--line:#d4e1ed;--navy:#0d1e38;--green:#0d876f;
  --surface-blue:#e5f2fb;--surface-sage:#e6f8f1;--surface-warm:#fff0df;--surface-lilac:#eee9fb;
  --shadow:0 18px 55px rgba(30,63,110,.12);--soft-shadow:0 10px 30px rgba(30,63,110,.08);
  --shell:1180px;--radius:24px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(var(--shell),calc(100% - 48px));margin:auto}.skip{position:fixed;left:16px;top:-80px;z-index:999;padding:10px 14px;border-radius:10px;background:#fff;color:#000;font-weight:800}.skip:focus{top:16px}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(212,225,237,.95)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1769e0,#53b5ff);color:white;box-shadow:0 8px 22px rgba(23,105,224,.25);font-weight:900;font-size:19px}.brand strong{font-size:16px;letter-spacing:-.015em}.brand small{display:block;color:#667a92;font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-top:3px}.links{display:flex;align-items:center;gap:26px;color:#465b74;font-size:14px;font-weight:750}.links a:hover{color:var(--blue)}.links .cta{padding:10px 17px;border-radius:999px;background:var(--ink);color:#fff}.links .cta:hover{background:var(--blue);color:#fff}
.hero{position:relative;overflow:hidden;padding:92px 0 82px;background:linear-gradient(135deg,#f7fbff 0%,#e5f3ff 44%,#f2ebff 100%);border-bottom:1px solid var(--line)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.hero:before{width:500px;height:500px;background:radial-gradient(circle,rgba(77,172,255,.22),rgba(77,172,255,0) 68%);right:-90px;top:-140px}.hero:after{width:400px;height:400px;background:radial-gradient(circle,rgba(181,149,255,.19),rgba(181,149,255,0) 70%);left:31%;bottom:-270px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.03fr .97fr;gap:62px;align-items:center}.kicker,.eyebrow{font-size:12px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:#496f95;margin:0 0 18px}.hero h1{font-size:clamp(50px,6vw,84px);line-height:.99;letter-spacing:-.056em;margin:0 0 24px;max-width:780px}.hero h1 em{font-style:normal;color:var(--blue)}.lede{font-size:clamp(19px,1.7vw,23px);line-height:1.65;color:#4e647e;max-width:720px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 21px;border-radius:999px;font-size:14px;font-weight:850;border:1px solid transparent}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(23,105,224,.22)}.btn.primary:hover{background:#0f5bc7}.btn.secondary{background:#fff;border-color:#c7d7e7;color:var(--ink)}.btn.secondary:hover{border-color:#91afca}.hero-note{margin-top:25px;color:#596f88;font-size:13px;display:flex;gap:18px;flex-wrap:wrap}.hero-note span{display:flex;align-items:center;gap:7px}.hero-note i{width:7px;height:7px;border-radius:50%;background:#32a985;display:inline-block}
.showcase{background:rgba(255,255,255,.9);border:1px solid rgba(190,210,229,.96);border-radius:30px;padding:22px;box-shadow:0 30px 80px rgba(35,80,135,.15);position:relative}.showcase-top{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:3px 4px 18px}.showcase-top strong{font-size:17px}.showcase-top span{font-size:12px;color:#5f738b}.product-stack{display:grid;grid-template-columns:1fr 1fr;gap:11px}.product-tile{border-radius:19px;padding:20px;min-height:126px;border:1px solid rgba(255,255,255,.75);position:relative;overflow:hidden}.product-tile:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-45px;bottom:-55px;background:rgba(255,255,255,.48)}.product-tile.blue{background:linear-gradient(145deg,#dceeff,#f4faff)}.product-tile.aqua{background:linear-gradient(145deg,#d9f6ef,#f5fffd)}.product-tile.lilac{background:linear-gradient(145deg,#e9e2ff,#faf8ff)}.product-tile.peach{background:linear-gradient(145deg,#ffe5cf,#fff8f1)}.product-tile.yellow{background:linear-gradient(145deg,#fff0b9,#fffaf0)}.product-tile.mint{background:linear-gradient(145deg,#dff7e7,#f7fff9)}.product-tile small{display:block;color:#56718b;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:850;margin-bottom:5px}.product-tile strong{display:block;font-size:18px;letter-spacing:-.02em}.product-tile p{margin:7px 0 0;color:#536a82;font-size:13px;line-height:1.52;max-width:220px;position:relative;z-index:1}.showcase-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:13px;padding:12px 4px 1px;color:#5b7189;font-size:12px}.showcase-foot a{color:var(--blue);font-weight:850}
.trust{background:#dfedf8;border-bottom:1px solid #cddfec}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr)}.trust-item{padding:22px 20px;border-left:1px solid #cddfec}.trust-item:first-child{border-left:0}.trust-item strong{display:block;font-size:15px;margin-bottom:5px}.trust-item span{display:block;color:#526981;font-size:13px;line-height:1.5}
section{padding:96px 0}.services-band{background:var(--surface-warm);border-bottom:1px solid #ead7c3}.services-band .card{background:rgba(255,255,255,.94)}.section-head{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:end;margin-bottom:42px}.section-head h2,.page-hero h1{font-size:clamp(40px,4.8vw,66px);line-height:1.02;letter-spacing:-.05em;margin:0}.section-head p{margin:0;color:var(--muted);font-size:18px;line-height:1.72;max-width:650px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--soft-shadow)}.card h3{font-size:23px;letter-spacing:-.03em;margin:0 0 12px}.card p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.card ul{padding-left:18px;color:#52677f;font-size:14px;line-height:1.8;margin:14px 0 0}
.portfolio-band{background:var(--surface-blue);border-top:1px solid #cfe2ef;border-bottom:1px solid #cfe2ef}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.brand-card{border-radius:22px;padding:26px;min-height:214px;display:flex;flex-direction:column;border:1px solid #d3e2ee;background:#fbfdff}.brand-card:nth-child(6n+1){background:linear-gradient(145deg,#edf7ff,#fff)}.brand-card:nth-child(6n+2){background:linear-gradient(145deg,#eafaf6,#fff)}.brand-card:nth-child(6n+3){background:linear-gradient(145deg,#f2edff,#fff)}.brand-card:nth-child(6n+4){background:linear-gradient(145deg,#fff1e5,#fff)}.brand-card:nth-child(6n+5){background:linear-gradient(145deg,#fff8d9,#fff)}.brand-card:nth-child(6n){background:linear-gradient(145deg,#eaf4ff,#fff)}.brand-card small{color:#607891;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}.brand-card h3{font-size:25px;letter-spacing:-.035em;margin:7px 0 8px}.brand-card p{margin:0 0 20px;color:#52677f;font-size:15px;line-height:1.65;flex:1}.brand-card a{font-size:13px;font-weight:850;color:var(--blue)}
.commercial{background:linear-gradient(135deg,#dff6ec 0%,#e8f8f2 47%,#e5f2ff 100%);border-top:1px solid #cfe8de;border-bottom:1px solid #ccdfec}.commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.commercial-card{background:rgba(255,255,255,.94);border:1px solid #cbddea;border-radius:28px;padding:35px;box-shadow:var(--shadow)}.commercial-card .label{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e7f2ff;color:#2d6399;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:25px}.commercial-card h3{font-size:32px;letter-spacing:-.043em;margin:0 0 13px}.commercial-card p{color:#50657d;font-size:16px;line-height:1.72;margin:0 0 22px}.commercial-card .text-link{color:var(--blue);font-size:13px;font-weight:900}
.approach-band{background:var(--surface-lilac);border-bottom:1px solid #ded5ec}.approach{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.approach h2{font-size:clamp(40px,4.4vw,62px);letter-spacing:-.05em;line-height:1.02;margin:0 0 18px}.approach .intro{color:var(--muted);font-size:17px;line-height:1.75}.steps{display:grid;gap:13px}.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:27px;display:block}.step h3{font-size:22px;margin:0 0 8px}.step p{margin:0;color:var(--muted);font-size:15px;line-height:1.68}
.contact-strip{padding-top:70px;background:linear-gradient(180deg,var(--surface-lilac) 0%,#e4f1f8 100%)}.contact-box{border-radius:30px;padding:46px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:35px;align-items:center;box-shadow:0 22px 55px rgba(18,35,63,.18)}.contact-box h2{font-size:clamp(34px,4vw,53px);letter-spacing:-.05em;line-height:1.04;margin:0 0 10px}.contact-box p{margin:0;color:#c0cedd;max-width:690px;font-size:16px;line-height:1.7}.contact-box .btn.primary{background:#fff;color:var(--ink);box-shadow:none;white-space:nowrap}
footer{background:#0d1e38;color:#b3c0cf;padding:46px 0}.foot{display:flex;justify-content:space-between;gap:30px}.foot strong{color:#fff;font-size:16px}.foot p{font-size:13px;line-height:1.65;max-width:560px;margin:8px 0 0}.foot-links{display:flex;flex-wrap:wrap;gap:18px;font-size:13px}.legal{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#8fa0b5;display:flex;justify-content:space-between;gap:18px}
.page-hero{padding:76px 0 64px;background:linear-gradient(135deg,#eef8ff,#dfefff 54%,#efe7ff);border-bottom:1px solid var(--line)}.page-hero p{color:#4f657d;font-size:19px;line-height:1.72;max-width:820px;margin:22px 0 0}.page-section{padding:74px 0;background:var(--surface-blue);border-bottom:1px solid #cfe1ed}.page-section + .page-section{background:var(--surface-warm);border-bottom-color:#e8d6c2}.page-section .content{max-width:900px}.page-section h2{font-size:36px;letter-spacing:-.04em;margin:0 0 16px}.page-section h3{font-size:23px;margin:30px 0 10px}.page-section p,.page-section li{color:#50647c;font-size:16px;line-height:1.78}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;box-shadow:var(--soft-shadow)}.service-card .service-label{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eaf4ff;color:#376c9f;font-size:10px;font-weight:900;letter-spacing:.11em;margin-bottom:22px}.service-card:nth-child(2) .service-label{background:#e4f7ef;color:#15765f}.service-card:nth-child(3) .service-label{background:#f0ebff;color:#6b4bc0}.service-card:nth-child(4) .service-label{background:#fff0e1;color:#98531e}.service-card:nth-child(5) .service-label{background:#fff6cf;color:#84680f}.service-card:nth-child(6) .service-label{background:#e7f3ff;color:#2e6398}.service-card h3{margin:0 0 10px;font-size:24px}.service-card p{font-size:15px;margin:0 0 14px;color:#50657d}.service-card ul{padding-left:18px;font-size:14px;margin:0;color:#536880;line-height:1.8}
.portfolio-section-heading{margin-bottom:24px}.portfolio-section-heading h2{margin:0 0 8px;font-size:36px}.portfolio-section-heading p{margin:0;color:#50647c;max-width:720px}.portfolio-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter{border:1px solid #cad9e6;background:#fff;border-radius:999px;padding:10px 15px;color:#4f647c;font-size:12px;font-weight:850;cursor:pointer}.filter:hover{border-color:#8eacc6}.filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portfolio-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;min-height:230px;display:flex;flex-direction:column;box-shadow:var(--soft-shadow)}.portfolio-card.hidden{display:none}.portfolio-card:nth-child(5n+1){border-top:4px solid #57a8ff}.portfolio-card:nth-child(5n+2){border-top:4px solid #5bcbb5}.portfolio-card:nth-child(5n+3){border-top:4px solid #9c82ef}.portfolio-card:nth-child(5n+4){border-top:4px solid #ee9b5d}.portfolio-card:nth-child(5n){border-top:4px solid #efc94c}.portfolio-card .cat,.app-card .cat{color:#60768d;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;margin-bottom:8px}.portfolio-card h3,.app-card h3{font-size:24px;letter-spacing:-.035em;margin:0 0 7px}.portfolio-card strong{font-size:14px;color:#335f8f;margin-bottom:10px}.portfolio-card p,.app-card p{color:#52677f;font-size:15px;line-height:1.68;margin:0 0 19px;flex:1}.portfolio-card .visit{font-size:13px;font-weight:900;color:var(--blue)}.notice{background:#e7f3ff;border:1px solid #c9dff2;border-radius:20px;padding:23px;color:#405d7a;font-size:15px;line-height:1.68}.notice strong{color:var(--ink)}
.apps-band{background:linear-gradient(135deg,#eee8ff 0%,#e7f4ff 100%);border-bottom:1px solid #d8d8ec}.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.app-card{background:rgba(255,255,255,.94);border:1px solid #d7dcec;border-radius:24px;padding:30px;display:flex;flex-direction:column;box-shadow:var(--soft-shadow);min-height:220px}.app-card h3{font-size:29px}.product-status{display:inline-flex;align-self:flex-start;padding:7px 10px;border-radius:999px;background:#e4f3ff;color:#336792;font-size:11px;font-weight:850}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.info{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;box-shadow:var(--soft-shadow)}.info h3{margin:0 0 10px;font-size:23px}.info p{margin:0;color:#50657d;font-size:15px;line-height:1.75}.info .btn{margin-top:18px}.enquiry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.enquiry{background:#fff;border:1px solid var(--line);border-radius:24px;padding:29px;box-shadow:var(--soft-shadow)}.enquiry.featured{background:linear-gradient(145deg,#e9f5ff,#fff);border-color:#c6daed}.enquiry .pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eaf3fb;color:#416a91;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:22px}.enquiry h2{font-size:29px;letter-spacing:-.04em;margin:0 0 10px}.enquiry p{font-size:15px;color:#50657d;line-height:1.7;margin:0 0 13px}.enquiry ul{font-size:14px;color:#50657d;line-height:1.78;padding-left:18px}.muted-box{background:#edf4fa;border:1px solid var(--line);border-radius:20px;padding:23px;color:#52677f;font-size:15px;line-height:1.75}.legal-content{max-width:900px}.legal-content h2{font-size:29px;margin:34px 0 10px}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content li{color:#50647c;font-size:16px;line-height:1.78}.legal-content a{color:var(--blue);font-weight:750}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(3,1fr)}.trust-item:nth-child(4){border-left:0;border-top:1px solid #cddfec}.trust-item:nth-child(5){border-top:1px solid #cddfec}}
@media(max-width:980px){.hero-grid,.section-head,.approach{grid-template-columns:1fr}.hero-grid{gap:45px}.cards{grid-template-columns:repeat(2,1fr)}.portfolio-grid,.full-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(odd){border-left:0}.trust-item:nth-child(n+3){border-top:1px solid #cddfec}.commercial-grid{grid-template-columns:1fr}.links{gap:16px}.links a:nth-child(1),.links a:nth-child(3){display:none}.contact-box{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){body{font-size:16px}.shell{width:min(var(--shell),calc(100% - 28px))}.nav{height:68px}.brand small{display:none}.hero{padding:62px 0 54px}.hero h1{font-size:47px}.product-stack,.cards,.portfolio-grid,.full-grid,.service-grid,.info-grid,.enquiry-grid,.trust-grid,.app-grid{grid-template-columns:1fr}.trust-item{border-left:0!important;border-top:1px solid #cddfec}.trust-item:first-child{border-top:0}.showcase{padding:16px}.product-tile{min-height:118px}.section-head{gap:18px}section{padding:70px 0}.commercial-card,.contact-box{padding:28px}.foot,.legal{flex-direction:column}.page-hero{padding:58px 0 50px}.page-hero h1{font-size:44px}.links a{display:none!important}.links .cta{display:inline-flex!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
