@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#101c2a;--navy2:#07182c;--blue:#278bf0;--sky:#63cbfc;--cyan:#80dafc;--muted:#aabccc;--text:#16283f;--ink:#182e48;--soft:#f1f6fa;--line:#dfebf4;--radius:19px;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--text);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.13}h2{font-size:clamp(2rem,4.2vw,3.25rem);margin-bottom:20px}h3{font-size:1.3rem;margin-bottom:12px}.container{max-width:var(--max);margin:auto;padding:0 30px}.skip{position:absolute;left:-9999px;top:4px;z-index:999;background:white;color:black;padding:12px}.skip:focus{left:10px}.site-header{background:#121e2b;border-bottom:1px solid #273546;color:white;position:relative;z-index:50}.nav-wrap{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:15px;flex:none}.brand img{width:74px;height:67px;object-fit:contain;background:white;padding:5px;border-radius:13px}.brand-name{font-size:1.05rem;letter-spacing:-.04em;line-height:1.2;font-weight:850;white-space:nowrap}.brand-name span{color:var(--sky)}.brand-sub{font-size:.56rem;color:#adbecd;letter-spacing:.16em;display:block;font-weight:650;margin-top:5px}.navlinks{display:flex;align-items:center;gap:27px}.navlinks>a{font-size:.87rem;color:#d5e4f2;font-weight:650;transition:color .15s}.navlinks>a:hover,.navlinks>a.active{color:#76cfff}.nav-action{background:#288df2;color:white!important;border-radius:11px;padding:12px 16px}.menu-toggle{display:none;background:transparent;border:0;color:#fff;font-size:34px;line-height:1;padding:9px 2px}.menu-icon{display:flex;flex-direction:column;gap:6px}.menu-icon span{width:28px;height:3px;background:#fff;border-radius:3px;display:block}.hero,.page-hero{background:linear-gradient(118deg,#07172a 0%,#08213e 64%,#113c68 118%);color:white}.hero{padding:72px 0 90px}.eyebrow{color:var(--sky);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;display:block;margin-bottom:28px}.hero h1{font-size:clamp(3.15rem,5.35vw,5.7rem);font-weight:750;line-height:1.08;letter-spacing:-.055em;margin-bottom:30px}.hero h1 .blue{color:var(--sky)}.hero .lead{font-size:clamp(1.08rem,1.8vw,1.42rem);line-height:1.8;color:#b9cad8;max-width:680px;margin-bottom:32px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr);gap:42px;align-items:center}.hero-copy{min-width:0}.actions{display:flex;gap:15px;align-items:stretch;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:58px;border-radius:12px;font-size:.97rem;line-height:1.35;font-weight:800;padding:17px 25px;border:1px solid transparent;transition:transform .14s,background .14s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:white;box-shadow:0 12px 22px #006acc1c}.btn-outline{background:#ffffff0a;color:white;border-color:#3e81b8}.btn-outline:hover{background:#fff1}.btn-dark{background:var(--navy);color:white}.price-strip{margin-top:30px;padding-top:20px;border-top:1px solid #ffffff31;display:flex;gap:25px;align-items:center}.price-num{font-size:2.6rem;letter-spacing:-.055em;font-weight:800;white-space:nowrap}.price-num small{font-size:.98rem;color:#b3bdcc;font-weight:500;letter-spacing:0}.price-note{font-size:.92rem;line-height:1.7;color:#b6c4d2}.hero-ticks{display:flex;flex-wrap:wrap;gap:13px 21px;font-size:.78rem;color:#bed0e0;font-weight:650;margin-top:20px}.hero-ticks span:before{content:'✓';color:#3de0c1;margin-right:11px;font-size:1.1rem}.hero-side{position:relative}.window{border:1px solid #5b85b35c;border-radius:18px;background:#102946;box-shadow:0 24px 80px #0010218c;overflow:hidden;transform:rotate(1deg)}.window-bar{background:#20364e;height:40px;display:flex;align-items:center;padding:0 16px;gap:5px}.window-bar i{width:9px;height:9px;border-radius:100%;background:#6b839a;display:block}.window-url{font-size:10px;color:#91aacc;background:#152b43;border-radius:10px;margin:auto;padding:2px 20px}.window img{width:100%;height:330px;object-fit:cover;object-position:top}.window-caption{background:#142f4d;color:#b9cde0;font-size:.78rem;padding:12px 16px}.hero-floating{position:absolute;background:white;border-radius:13px;right:-13px;bottom:-18px;padding:13px 18px;color:#162941;box-shadow:0 15px 50px #001a2f80;font-weight:750;font-size:.81rem}.hero-floating:before{content:'✓';color:#079978;margin-right:9px}.mini-proof{background:#f0f6fa;border-bottom:1px solid #e0e8f1}.mini-proof .container{display:flex;flex-wrap:wrap;gap:12px 45px;justify-content:space-between;padding-top:21px;padding-bottom:21px}.mini-proof span{font-size:.87rem;font-weight:700;color:#29435e}.mini-proof span b{color:#149d8a;margin-right:8px}.section{padding:95px 0}.section.alt{background:#f3f7fb}.section.dark{background:#101e30;color:white}.section-header{max-width:765px;margin-bottom:38px}.section-header p{font-size:1.08rem;color:#5d7286}.eyebrow.dark-label{color:#267bd1;margin-bottom:15px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid #e1eaf2;border-radius:18px;padding:28px;box-shadow:0 12px 36px #09203b08}.card p{color:#5e7084;margin:0}.card-icon{display:flex;align-items:center;justify-content:center;background:#e7f2ff;color:#1579d8;border-radius:11px;width:47px;height:47px;font-size:1.2rem;font-weight:850;margin-bottom:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.panel{border-radius:18px;background:#082544;color:white;padding:40px;min-height:280px;position:relative;overflow:hidden}.panel:after{content:'B';font-size:280px;line-height:1;position:absolute;bottom:-70px;right:20px;color:#ffffff08;font-weight:800}.panel .pill{color:#74d4ff;font-size:.8rem;letter-spacing:.2em;font-weight:750}.panel h3{font-size:2.25rem;max-width:380px;margin:35px 0 18px}.panel p{color:#b2c9de;max-width:380px}.ticks{list-style:none;margin:26px 0;padding:0;display:grid;gap:12px}.ticks li{padding-left:29px;position:relative}.ticks li:before{content:'✓';color:#16af90;position:absolute;left:0;font-weight:900}.grid-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project{border:1px solid #e2ebf1;border-radius:18px;overflow:hidden;background:white;box-shadow:0 16px 37px #1020350c}.project img{height:222px;object-fit:cover;object-position:top;width:100%;border-bottom:1px solid #dfebf3}.project-info{padding:23px}.project .tag{color:#2178c9;letter-spacing:.16em;font-size:.7rem;font-weight:750;text-transform:uppercase;display:block;margin-bottom:10px}.project p{color:#67788b;font-size:.9rem;margin:0 0 19px}.text-link{color:#136bc1;font-size:.9rem;font-weight:800}.badge-sample{background:#eff7ff;border:1px solid #d7e9fc;color:#2368a5;border-radius:10px;display:inline-block;padding:6px 11px;font-size:.72rem;font-weight:800;margin-bottom:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step .num{color:#2c83dc;font-size:2.7rem;font-weight:850;letter-spacing:-.05em}.step p{color:#6a7d8e;margin-bottom:0}.price-card{border:1px solid #cde5fc;background:white;color:#1b2e45;border-radius:22px;padding:37px;box-shadow:0 22px 50px #082d5314;max-width:750px}.price-card .price-lg{font-size:3.5rem;letter-spacing:-.07em;line-height:1.2;font-weight:800}.price-lg small{font-size:1.2rem;color:#647588;font-weight:500;letter-spacing:0}.price-card p{color:#63758b}.price-card .actions{margin-top:25px}.faq details{border-bottom:1px solid #d9e5ed;padding:17px 2px}.faq summary{font-weight:800;cursor:pointer;list-style:none;position:relative;padding-right:28px}.faq summary:after{content:'+';position:absolute;right:0;color:#117be8}.faq details[open] summary:after{content:'−'}.faq details p{color:#5c7185;margin:12px 0 4px}.cta-section{background:linear-gradient(110deg,#071d36,#124477);color:white;padding:75px 0;text-align:center}.cta-section h2{max-width:660px;margin:0 auto 20px}.cta-section p{max-width:590px;margin:0 auto 30px;color:#becddd;font-size:1.08rem}.page-hero{padding:90px 0 78px}.page-hero h1{font-size:clamp(3rem,5vw,4.65rem);max-width:820px;margin-bottom:23px}.page-hero p{font-size:1.2rem;color:#b6cddd;max-width:720px}.list-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card{background:white;border:1px solid #e1e9f0;padding:27px;border-radius:18px}.service-card h3{font-size:1.36rem}.service-card p{color:#66798c}.service-card ul{padding-left:19px;color:#526a81}.contact-layout{display:grid;grid-template-columns:1.35fr .75fr;gap:35px;align-items:start}.form-box{padding:32px;border-radius:18px;background:white;border:1px solid #e0e9f1;box-shadow:0 14px 40px #142f4d0a}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.field label{font-size:.85rem;font-weight:800;color:#25415c}.field input,.field select,.field textarea{width:100%;border:1px solid #c9d9e7;border-radius:11px;min-height:51px;padding:12px 15px;background:#fff;color:#1b344c;outline-offset:1px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #52aaff}.checks{font-size:.83rem;color:#5d7285;display:flex;gap:12px;align-items:start;margin:16px 0}.checks input{margin-top:5px}.contact-card{background:#0e263e;color:white;border-radius:18px;padding:30px}.contact-card a{color:#7dcdff;font-weight:700;overflow-wrap:anywhere}.contact-card p{color:#b7cad9}.muted{color:#687b8b}.notice{background:#fff9e9;padding:14px 19px;border-radius:10px;border:1px solid #ffe3a8;color:#7a5a14;font-size:.87rem}.site-footer{background:#111e2d;color:#bed0e0;padding:55px 0 25px}.footer-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px}.footer-columns h4{font-size:.88rem;color:white;letter-spacing:.07em}.footer-columns p{max-width:380px;font-size:.9rem}.footer-links{display:grid;gap:10px;font-size:.88rem}.footer-links a:hover{color:#70c7ff}.footer-bottom{border-top:1px solid #33485f;margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;color:#8ea3b5;font-size:.77rem}.smallprint{font-size:.82rem;color:#60758a}.no-mobile{display:block}
@media(max-width:1000px){.navlinks{gap:14px}.navlinks>a{font-size:.79rem}.hero-grid{grid-template-columns:1fr .8fr;gap:24px}.hero h1{font-size:clamp(3rem,5.3vw,4.5rem)}}
@media(max-width:760px){.container{padding:0 23px}.nav-wrap{min-height:102px}.site-header .brand img{width:49px;height:45px;border-radius:9px;padding:3px}.brand-name{display:none}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#15283b;padding:20px 24px 27px;flex-direction:column;gap:0;align-items:stretch;border-bottom:1px solid #324e66;box-shadow:0 18px 26px #0315264f}.navlinks.open{display:flex}.navlinks a{padding:13px 8px;font-size:1rem}.nav-action{margin-top:9px;text-align:center}.hero{padding:33px 0 55px}.hero-grid{display:block}.hero .eyebrow{font-size:.68rem;letter-spacing:.19em;margin-bottom:19px}.hero h1{font-size:clamp(2.35rem,10.2vw,3.4rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:23px}.hero .lead{font-size:1rem;line-height:1.85;max-width:400px;margin-bottom:20px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.actions .btn{font-size:.8rem;padding:12px 10px;min-height:46px;line-height:1.35;border-radius:9px}.price-strip{gap:16px;margin-top:23px;padding-top:19px;align-items:center}.price-num{font-size:2rem}.price-num small{font-size:.8rem}.price-note{font-size:.78rem;line-height:1.5}.hero-ticks{gap:6px 14px;font-size:.72rem;margin-top:19px}.hero-ticks span:before{margin-right:8px}.hero-side{display:none}.mini-proof .container{gap:13px 24px}.mini-proof span{font-size:.78rem}.section{padding:65px 0}.cards,.grid-gallery,.split,.steps,.list-columns,.contact-layout,.footer-columns{grid-template-columns:1fr;gap:18px}.section-header{margin-bottom:27px}.section-header p{font-size:.98rem}.panel{min-height:230px;padding:27px}.panel h3{font-size:1.8rem;margin-top:20px}.project img{height:210px}.page-hero{padding:60px 0 58px}.page-hero .eyebrow{margin-bottom:15px}.page-hero h1{font-size:2.55rem}.page-hero p{font-size:1rem}.price-card{padding:26px}.form-box{padding:21px}.footer-columns{gap:25px}.footer-bottom{margin-top:30px}.cta-section{padding:65px 0}.no-mobile{display:none}}
@media(max-width:355px){.container{padding:0 17px}.hero h1{font-size:2.23rem}.hero .lead{font-size:.94rem}.price-note{font-size:.7rem}.hero-ticks{gap:5px 9px}}

/* OCT 2026 colour refresh: preserves the original navy/sky-blue hero and structure. */
:root { --teal:#0cbca7; --aqua:#43d2de; --violet:#7c70e9; --pale-mint:#e5faf6; --pale-lilac:#f0edff; }
/* The blue gets richer without changing the original two-button layout. */
.hero {background:radial-gradient(ellipse at 94% 65%,rgba(28,121,210,.24),transparent 50%),linear-gradient(118deg,#07172a 0%,#08213e 64%,#113c68 118%)}
.btn-primary,.nav-action{background:linear-gradient(120deg,#218cf2 0%,#337efa 100%);box-shadow:0 10px 25px rgba(14,112,226,.20)}
.btn-primary:hover,.nav-action:hover{background:linear-gradient(120deg,#1178df 0%,#2664ed 100%)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}
/* A brighter reassurance strip immediately below the dark hero. */
.mini-proof {background:linear-gradient(100deg,#e8f8ff,#f0fbf9 55%,#f3f1ff);border-bottom:1px solid #cfe8f0}
.mini-proof span b{color:#00a991}
/* Service cards feature separate colour families rather than more black blocks. */
.cards .card {position:relative;isolation:isolate;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.cards .card:hover,.grid-gallery .project:hover{transform:translateY(-4px);box-shadow:0 22px 48px #1020351a}
.cards .card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#278bf0,#63cbfc)}
.cards .card:nth-child(3n+2):before{background:linear-gradient(90deg,#00b69e,#4de0d7)}
.cards .card:nth-child(3n+3):before{background:linear-gradient(90deg,#7768df,#b8a8ff)}
.cards .card:nth-child(3n+2) .card-icon {background:#dffaf3;color:#068c7e}
.cards .card:nth-child(3n+3) .card-icon {background:#f0ebff;color:#6e58ca}
/* A little visual momentum for the about / process sections. */
.section.alt{background:linear-gradient(180deg,#f2f8fc 0%,#eef5fa 100%)}
.panel {background:radial-gradient(circle at 90% 8%,rgba(52,208,224,.25),transparent 45%),linear-gradient(130deg,#09233d,#0a3761)}
.panel .pill{color:#63e4db}
.ticks li:before{color:#08b89c}
.step .num{background:linear-gradient(140deg,#297df4,#12b6c7);background-clip:text;-webkit-background-clip:text;color:transparent}
.step:nth-child(3n+2) .num{background:linear-gradient(140deg,#0aaf9b,#41d5cf);background-clip:text;-webkit-background-clip:text}
.step:nth-child(3n+3) .num{background:linear-gradient(140deg,#7868e9,#b291f5);background-clip:text;-webkit-background-clip:text}
/* Clear but subtle accents make the example categories scan faster. */
.grid-gallery .project{transition:transform .18s ease,box-shadow .18s ease}
.grid-gallery .project:nth-child(3n+1) .tag,.grid-gallery .project:nth-child(3n+1) .text-link{color:#1d77d5}
.grid-gallery .project:nth-child(3n+2) .tag,.grid-gallery .project:nth-child(3n+2) .text-link{color:#008e85}
.grid-gallery .project:nth-child(3n+3) .tag,.grid-gallery .project:nth-child(3n+3) .text-link{color:#7060ca}
.grid-gallery .project:nth-child(3n+2) .badge-sample{background:#e8faf5;color:#007e6f;border-color:#b9eee1}
.grid-gallery .project:nth-child(3n+3) .badge-sample{background:#f2efff;color:#6556be;border-color:#d8d0ff}
/* Page headers and pricing need stronger colour variation below the fold. */
.page-hero{background:radial-gradient(ellipse at 90% 60%,rgba(66,196,241,.21),transparent 52%),linear-gradient(118deg,#08192e,#09345b)}
.price-card{background:linear-gradient(160deg,#fff 72%,#edf8ff 100%);border:1px solid #b9defe;box-shadow:0 23px 50px #082d5319}
.price-card .price-lg{color:#126dc2}
.price-card .ticks li:before{color:#00a991}
.faq details[open]{background:linear-gradient(90deg,#f2f9ff 0%,transparent 100%);padding-left:13px;border-radius:8px}
.contact-card{background:radial-gradient(circle at 95% 0%,rgba(50,207,224,.2),transparent 60%),#0e263e}
.form-box{border-top:4px solid #3199eb}
.cta-section{background:radial-gradient(ellipse at 10% 80%,rgba(12,188,167,.2),transparent 55%),linear-gradient(110deg,#071d36,#124477)}
@media(max-width:760px){
  .hero{background:radial-gradient(ellipse at 92% 66%,rgba(24,128,208,.20),transparent 64%),linear-gradient(118deg,#07172a 0%,#08213e 64%,#113c68 118%)}
  .cards .card{padding:26px}
  .mini-proof .container{gap:12px 16px}
}
@media(prefers-reduced-motion:reduce){.cards .card,.grid-gallery .project,.btn{transition:none}.cards .card:hover,.grid-gallery .project:hover,.btn:hover{transform:none}}
