:root{--navy:#102a43;--navy-2:#173f5f;--blue:#1479d1;--sky:#dff1ff;--orange:#ff8b3d;--ink:#152330;--muted:#5e6d79;--line:#d6e0e8;--paper:#f6f9fb;--white:#fff;--header:82px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:var(--header);position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:var(--navy);font:800 20px Georgia,serif;box-shadow:6px 6px 0 var(--orange)}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:18px;letter-spacing:.01em}.brand-copy small{margin-top:5px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.13em}nav{display:flex;align-items:center;gap:30px}nav a{position:relative;text-decoration:none;font-weight:700;font-size:14px}nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--blue);transition:.25s}nav a:hover::after,nav a.active::after{right:0}.nav-cta{padding:10px 18px;color:#fff;background:var(--navy)}.menu-toggle{display:none}.section{min-height:100svh;padding:calc(var(--header) + 56px) max(7vw,28px) 70px;display:flex;flex-direction:column;justify-content:center;position:relative}.hero{padding-top:calc(var(--header) + 60px);background:linear-gradient(110deg,#f8fbfd 0 68%,var(--sky) 68%);overflow:hidden}.hero::after{content:"W";position:absolute;right:-2vw;bottom:-21vw;color:rgba(16,42,67,.045);font:700 46vw Georgia,serif;line-height:1;pointer-events:none}.hero-grid{width:min(1240px,100%);margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:center;position:relative;z-index:1}.eyebrow{margin:0 0 22px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1,.section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:.98}.hero h1{margin:0;font-size:clamp(58px,7.2vw,112px)}.hero h1 span{color:var(--blue)}.lead{max-width:680px;margin:30px 0 34px;color:var(--muted);font-size:clamp(17px,1.5vw,21px)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;font:800 14px Inter,Arial,sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button.primary{color:#fff;background:var(--blue);box-shadow:7px 7px 0 var(--navy)}.button.secondary{color:var(--navy);background:transparent;border:1px solid var(--navy)}.hero-panel{padding:34px;background:var(--navy);color:#fff;box-shadow:15px 15px 0 var(--orange)}.panel-label{margin:0 0 16px;color:#9fcdf0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.hero-panel ol{margin:0;padding:0;list-style:none}.hero-panel li{display:grid;grid-template-columns:40px 1fr;gap:0 12px;padding:19px 0;border-top:1px solid rgba(255,255,255,.18)}.hero-panel li>span{grid-row:1/3;color:var(--orange);font-size:12px;font-weight:800}.hero-panel strong{font:500 25px Georgia,serif}.hero-panel small{color:#c8d5df}.scroll-cue{position:absolute;bottom:26px;left:max(7vw,28px);z-index:2;color:var(--muted);text-decoration:none;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.scroll-cue span{color:var(--blue);font-size:18px}.section-heading{width:min(1240px,100%);margin:0 auto 50px;display:grid;grid-template-columns:1fr 1.1fr;column-gap:8vw;align-items:end}.section-heading .eyebrow{grid-column:1;margin-bottom:15px}.section-heading h2{grid-column:1;margin:0;font-size:clamp(42px,5vw,72px)}.section-heading>p:last-child{grid-column:2;grid-row:1/3;max-width:560px;margin:0;color:var(--muted);font-size:18px}.service-grid{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:380px;padding:32px;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}.service-card.featured{border-top:5px solid var(--orange);background:var(--paper)}.card-number{color:var(--blue);font-weight:800;font-size:13px}.service-card h3{margin:30px 0 12px;font:500 29px Georgia,serif}.service-card p{color:var(--muted)}.service-card ul{margin:auto 0 0;padding:22px 0 0;list-style:none;border-top:1px solid var(--line)}.service-card li{margin:8px 0;padding-left:18px;position:relative}.service-card li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--orange)}.approach{color:#fff;background:var(--navy)}.section-heading.light{display:block}.section-heading.light h2{max-width:750px}.section-heading.light .eyebrow{color:#8ec8f3}.steps{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.steps article{padding:36px 26px;min-height:250px;border-right:1px solid rgba(255,255,255,.25)}.steps article:last-child{border:0}.steps span{color:var(--orange);font-weight:800}.steps h3{margin:45px 0 12px;font:500 29px Georgia,serif}.steps p{margin:0;color:#c5d2dc}.scope-note{width:min(1240px,100%);margin:28px auto 0;color:#9fb1bf;font-size:13px}.about{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-content:center;background:var(--paper)}.about-intro{padding-left:max(0px,calc((100vw - 1240px)/2))}.about h2{margin:0;font-size:clamp(42px,5vw,72px)}.about-copy{max-width:620px;padding-right:max(0px,calc((100vw - 1240px)/2));font-size:18px}.about-copy>p:first-child{font-size:22px;color:var(--navy)}.about-copy p{color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr;margin-top:35px;border-top:1px solid var(--line)}.principles span{padding:18px 0;border-bottom:1px solid var(--line);font-weight:800}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-content:center;background:linear-gradient(90deg,var(--sky) 0 41%,#fff 41%)}.contact h2{margin:0;font-size:clamp(42px,5vw,70px)}.contact-copy>p:not(.eyebrow){font-size:18px;color:var(--muted)}.email-link{display:inline-block;margin-top:20px;color:var(--blue);font-weight:800;overflow-wrap:anywhere}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:720px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800}.contact-form label span{color:var(--blue)}.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4),.consent,.contact-form button,.form-note,.form-status{grid-column:1/-1}input,textarea{width:100%;padding:13px 14px;border:1px solid #aebbc5;background:#fff;color:var(--ink);font:16px Inter,Arial,sans-serif;border-radius:0}input:focus,textarea:focus{outline:3px solid rgba(20,121,209,.18);border-color:var(--blue)}textarea{resize:vertical}.consent{flex-direction:row!important;align-items:flex-start;font-weight:500!important}.consent input{width:18px;height:18px;margin:3px 0 0}.consent span{color:var(--muted)!important}.honeypot{position:absolute!important;left:-9999px!important}.contact-form button{justify-self:start}.form-note{margin:0;color:var(--muted);font-size:12px}.form-status{display:none;padding:13px 15px;font-weight:700}.form-status.success{display:block;color:#12613d;background:#e4f5eb}.form-status.error{display:block;color:#8c2730;background:#fde9eb}footer{padding:40px max(7vw,28px);display:grid;grid-template-columns:1fr auto;gap:25px;background:#091b2a;color:#c2d0da;font-size:13px}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{color:#fff;font-size:18px}.footer-links{display:flex;gap:24px}.footer-links a{color:#fff;text-decoration:none}footer>p{grid-column:1/-1;margin:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}@media(max-width:900px){:root{--header:70px}.site-header{padding:0 20px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:9px}.menu-toggle{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--navy)}nav{display:none;position:absolute;top:var(--header);left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:14px}nav a::after{display:none}.hero{background:linear-gradient(160deg,#f8fbfd 0 75%,var(--sky) 75%)}.hero-grid,.section-heading,.about,.contact{grid-template-columns:1fr}.hero-grid{gap:50px}.hero h1{font-size:clamp(50px,14vw,80px)}.hero-panel{max-width:570px}.scroll-cue{display:none}.section-heading>p:last-child{grid-column:1;grid-row:auto;margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(2){border-right:0}.steps article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.25)}.about{gap:35px}.about-intro,.about-copy{padding:0}.contact{gap:50px;background:linear-gradient(180deg,var(--sky) 0 38%,#fff 38%)}.section{min-height:auto;padding-top:calc(var(--header) + 55px);padding-bottom:70px}.hero{min-height:100svh}.contact-form{max-width:none}}@media(max-width:560px){.brand-mark{width:36px;height:36px}.brand-copy small{display:none}.section{padding-left:20px;padding-right:20px}.hero{padding-bottom:50px}.hero-panel{margin:0 7px 0 0;padding:25px;box-shadow:8px 8px 0 var(--orange)}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.service-card{padding:25px}.steps{grid-template-columns:1fr}.steps article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)!important}.steps article:last-child{border-bottom:0!important}.steps h3{margin-top:22px}.principles{grid-template-columns:1fr}.contact{background:linear-gradient(180deg,var(--sky) 0 35%,#fff 35%)}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1}.contact-form button{justify-self:stretch}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
/* Expanded footer */
footer{display:block;padding:58px max(7vw,28px) 30px;background:#091b2a;color:#c2d0da;font-size:13px}.footer-main{display:grid;grid-template-columns:1.4fr .7fr .8fr 1.2fr;gap:55px}.footer-brand,.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-mark{width:42px;height:42px;margin-bottom:8px;display:grid;place-items:center;color:#fff;background:var(--blue);font:800 20px Georgia,serif;box-shadow:5px 5px 0 var(--orange)}.footer-brand strong,.footer-column>strong{color:#fff;font-size:16px}.footer-brand>span:last-child,.footer-contact span{color:#8fa3b2}.footer-column a{color:#c2d0da;text-decoration:none}.footer-column a:hover{color:#fff}.footer-contact a{color:#8ec8f3;overflow-wrap:anywhere}.footer-bottom{margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.15)}.footer-bottom p{margin:0}.footer-bottom a{color:#fff;text-decoration:none;font-weight:700}@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr}}@media(max-width:560px){.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}
/* Mobile-products and portfolio sections */
nav{gap:22px}.mobile-services{background:#eef6fc}.mobile-grid,.portfolio-grid{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b8cad7;border:1px solid #b8cad7}.mobile-grid article{min-height:220px;padding:28px;background:#fff}.mobile-grid span{color:var(--blue);font-size:12px;font-weight:800}.mobile-grid h3{margin:25px 0 10px;font:500 25px Georgia,serif}.mobile-grid p,.portfolio-grid p{margin:0;color:var(--muted)}.portfolio{background:#fff}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid article{padding:34px;background:var(--paper)}.portfolio-grid strong{display:block;margin-bottom:10px;color:var(--navy);font:500 27px Georgia,serif}@media(max-width:900px){.mobile-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.mobile-grid,.portfolio-grid{grid-template-columns:1fr}}
/* Registered address */
.contact-copy address{margin-top:18px;color:var(--muted);font-style:normal;font-size:15px;line-height:1.7}.footer-contact span{line-height:1.6}
/* Portfolio showcase */
.portfolio-showcase{background:#091522;color:#fff}.portfolio-heading{width:min(1240px,100%);margin:0 auto 54px}.portfolio-heading .eyebrow{color:#79bff3}.portfolio-heading h2{max-width:780px;margin:0;font:500 clamp(48px,6vw,86px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.045em}.portfolio-heading h2 span{color:#58a9e5}.portfolio-heading>p:last-child{max-width:700px;margin:28px 0 0;color:#aebfcb;font-size:18px}.portfolio-showcase-grid{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.18);border-radius:18px;overflow:hidden;background:#0c1b2a}.portfolio-showcase-grid article{min-height:290px;padding:30px 28px;border-right:1px solid rgba(255,255,255,.13)}.portfolio-showcase-grid article:last-child{border-right:0}.portfolio-kicker{display:block;color:#79bff3;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.portfolio-showcase-grid i{width:44px;height:44px;margin:30px 0 22px;display:grid;place-items:center;color:#091522;background:var(--orange);font:800 22px Georgia,serif;font-style:normal}.portfolio-showcase-grid article:nth-child(even) i{background:#79bff3}.portfolio-showcase-grid h3{margin:0 0 12px;font:500 23px Georgia,serif}.portfolio-showcase-grid p{margin:0;color:#aebfcb;font-size:15px}.portfolio-disclaimer{width:min(1240px,100%);margin:22px auto 0;color:#71899b;font-size:12px}@media(max-width:900px){.portfolio-showcase-grid{grid-template-columns:1fr 1fr}.portfolio-showcase-grid article:nth-child(2){border-right:0}.portfolio-showcase-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}}@media(max-width:560px){.portfolio-showcase-grid{grid-template-columns:1fr}.portfolio-showcase-grid article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.portfolio-showcase-grid article:last-child{border-bottom:0}}
/* Light portfolio variant matching the landing page */
.portfolio-showcase{background:linear-gradient(110deg,#f8fbfd 0 70%,var(--sky) 70%);color:var(--ink)}.portfolio-heading .eyebrow{color:var(--blue)}.portfolio-heading h2{color:var(--navy)}.portfolio-heading h2 span{color:var(--blue)}.portfolio-heading>p:last-child{color:var(--muted)}.portfolio-showcase-grid{border-color:var(--line);background:var(--line);border-radius:0}.portfolio-showcase-grid article{background:#fff;border-right-color:var(--line)}.portfolio-showcase-grid article:nth-child(2),.portfolio-showcase-grid article:nth-child(4){background:var(--paper)}.portfolio-kicker{color:var(--blue)}.portfolio-showcase-grid i{color:#fff;background:var(--orange)}.portfolio-showcase-grid article:nth-child(even) i{color:#fff;background:var(--blue)}.portfolio-showcase-grid h3{color:var(--navy)}.portfolio-showcase-grid p{color:var(--muted)}.portfolio-disclaimer{color:#71808c}@media(max-width:900px){.portfolio-showcase-grid article:nth-child(-n+2){border-bottom-color:var(--line)}}@media(max-width:560px){.portfolio-showcase-grid article{border-bottom-color:var(--line)}}
.product-categories{width:min(1240px,100%);margin:72px auto 0;padding-top:54px;border-top:1px solid var(--line)}.product-categories-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:12px 70px;align-items:end;margin-bottom:34px}.product-categories-heading .eyebrow{grid-column:1/-1;margin:0;color:var(--blue)}.product-categories-heading h3{margin:0;color:var(--navy);font:500 clamp(38px,4.5vw,64px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.product-categories-heading h3 span{color:var(--blue)}.product-categories-heading>p:last-child{max-width:520px;margin:0 0 4px;color:var(--muted);font-size:17px}.product-category-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line)}.product-category-grid article{min-height:270px;padding:28px;background:#fff}.product-category-grid article:nth-child(even){background:var(--paper)}.category-mark{width:42px;height:42px;margin:0 0 34px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em}.product-category-grid article:nth-child(even) .category-mark{background:var(--orange)}.product-category-grid h4{margin:12px 0 10px;color:var(--navy);font:600 20px/1.2 Georgia,"Times New Roman",serif}.product-category-grid p{margin:0;color:var(--muted);font-size:14px}@media(max-width:900px){.product-categories-heading{grid-template-columns:1fr}.product-categories-heading .eyebrow{grid-column:auto}.product-category-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.product-categories{margin-top:48px;padding-top:38px}.product-category-grid{grid-template-columns:1fr}.product-category-grid article{min-height:0}.category-mark{margin-bottom:24px}}
.service-process{width:min(1240px,100%);margin:60px auto 0;padding:48px;background:var(--navy);color:#fff}.service-process .section-heading{margin-bottom:30px}.service-process .steps,.service-process .scope-note{width:100%}.apps-showcase{background:linear-gradient(110deg,#fff 0 70%,var(--sky) 70%)}.apps-showcase .product-categories{margin-top:0;padding-top:0;border-top:0}@media(max-width:560px){.service-process{padding:32px 24px}.apps-showcase .product-categories{margin-top:0;padding-top:0}}
/* Clear page and navigation order */
main{display:flex;flex-direction:column}#home{order:1}#about{order:2}#services{order:3}#mobile-expertise{order:4}#our-products{order:5}#contact{order:6}.site-header{padding-left:max(2.5vw,20px);padding-right:max(2.5vw,20px)}nav{gap:clamp(12px,1.6vw,24px)}nav a{white-space:nowrap}.nav-cta{padding-left:15px;padding-right:15px}@media(max-width:1100px) and (min-width:901px){.brand-copy small{display:none}.brand-copy strong{font-size:16px}nav{gap:12px}nav a{font-size:13px}}
.form-wide{grid-column:1/-1}.contact-form select{width:100%;min-height:50px;padding:13px 14px;border:1px solid #aebbc5;border-radius:0;background:#fff;color:var(--ink);font:16px Inter,Arial,sans-serif;cursor:pointer}.contact-form select:focus{outline:3px solid rgba(20,121,209,.18);border-color:var(--blue)}
html{scroll-behavior:auto}
