:root{--navy:#14284b;--deep:#10213d;--teal:#157b76;--mint:#81d0c6;--ink:#1b2c46;--muted:#586778;--line:#dbe3e8;--pale:#f1f6f6;--white:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none;line-height:1.6;font-size:100%}*{box-sizing:border-box}html{scroll-padding-top:7rem}body{margin:0;background:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;font-weight:600}p{color:var(--muted)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}em{font-style:normal;color:var(--teal)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid #e7ecef}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand>span{font-size:1.9rem;letter-spacing:-.035em;line-height:1.15;font-weight:700;color:var(--navy)}.brand small{font-size:.76rem;display:block;color:var(--teal);font-weight:500;letter-spacing:.015em;margin-top:5px}.header nav{display:flex;align-items:center;gap:2rem;font-size:.9rem;font-weight:500}.header nav a{text-decoration:none;padding-block:12px}.header nav .nav-contact{background:var(--navy);color:white;padding:13px 20px;border-radius:5px}.nav-contact span{margin-left:18px}.menu-toggle{border:1px solid var(--line);border-radius:5px;background:white;padding:8px 13px;min-height:44px}.menu-toggle[hidden]{display:none}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:4rem;padding-block:70px 72px;align-items:center}.eyebrow{font-size:.72rem;font-weight:650;letter-spacing:.14em;color:var(--teal);margin-bottom:24px;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;flex-shrink:0;background:var(--teal);border-radius:50%}h1{font-size:clamp(3rem,4.7vw,4.7rem);line-height:1.05;margin-bottom:26px;letter-spacing:-.055em}.hero-lead{max-width:480px;font-size:1.12rem;line-height:1.7;margin-bottom:30px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;border-radius:5px;padding:15px 22px;text-decoration:none;font-weight:600;font-size:.92rem;min-height:52px;transition:transform 100ms cubic-bezier(.23,1,.32,1)}.primary{background:var(--teal);color:white}.secondary{background:white;border-color:#ccd8db;color:var(--navy)}.button:active{transform:scale(.98);transition-duration:160ms}.button:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #db9b28;outline-offset:5px}.button:disabled{opacity:.65;cursor:wait}.text-link{text-decoration:none;font-weight:600;font-size:.9rem;display:inline-flex;gap:14px;align-items:center}.personal-note{display:flex;align-items:center;gap:12px;margin-top:42px}.initials{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pale);color:var(--teal);font-size:.82rem;font-weight:700;border:1px solid #d6e5e3}.personal-note p{margin:0;font-size:.78rem;line-height:1.6}.personal-note strong{display:block;color:var(--navy);font-size:.85rem}.hero-visual{position:relative;align-self:stretch;min-height:485px;border-radius:9px 9px 68px 9px;overflow:hidden;background:var(--navy)}.hero-image{width:100%;height:100%;position:absolute;object-fit:cover;object-position:63% center}.photo-label{position:absolute;left:25px;top:25px;font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--navy);background:rgba(255,255,255,.85);padding:7px 11px;border-radius:3px}.visual-caption{position:absolute;inset:auto 0 0;background:var(--navy);color:#b7c5d8;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:27px 37px;font-size:1.1rem;line-height:1.5}.visual-caption strong{color:white;font-weight:500}.visual-caption a{font-size:1.7rem;color:var(--mint);text-decoration:none;width:48px;height:48px;display:grid;place-items:center;border:1px solid #6b859c;border-radius:50%}.region-bar{background:var(--pale);border-block:1px solid #e2eaea}.region-bar>.wrap{display:flex;align-items:center;justify-content:space-between;padding-block:20px;gap:15px;font-size:.86rem}.region-bar span{color:var(--muted)}.region-bar p{margin:0;color:var(--navy);font-weight:550}.region-bar i{font-style:normal;padding-inline:15px;color:#9aaead}.section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:clamp(2rem,3.25vw,3.15rem);margin-bottom:0}.section-heading>p{font-size:.92rem;max-width:360px;margin-bottom:5px}.audiences{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience{padding:38px 40px;background:var(--pale);border:1px solid #e0e8e8;border-radius:8px}.card-kicker{display:flex;justify-content:space-between;font-size:.69rem;letter-spacing:.13em;font-weight:600;color:var(--teal);margin-bottom:30px}.card-kicker>span{opacity:.6}.audience h3{font-size:2rem;line-height:1.2;margin-bottom:20px}.audience p{font-size:.96rem;max-width:475px}.check-list{padding:0;list-style:none;font-size:.9rem;margin:25px 0 30px}.check-list li{padding:7px 0 7px 23px;position:relative}.check-list li:before{content:'\2713';color:var(--teal);position:absolute;left:0}.audience .text-link{border-top:1px solid #cedfdd;padding-top:20px;display:flex;justify-content:space-between}.business{background:var(--navy);color:white;border-color:var(--navy)}.business .card-kicker,.business .check-list li:before{color:var(--mint)}.business p{color:#c4cfdd}.business .text-link{border-color:#3d506c}.service-heading{margin:46px 0 15px;display:flex;justify-content:space-between;align-items:center;gap:12px}.service-heading h3{font-size:1.15rem;letter-spacing:-.015em;margin:0}.service-heading>span{font-size:.8rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:36px;align-items:start}.service-grid details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:16px;padding:24px 0;min-height:70px;font-size:1rem;font-weight:550}summary::-webkit-details-marker{display:none}.service-number{font-size:.72rem;color:var(--teal);font-weight:500}.plus{margin-left:auto;font-size:1.4rem;font-weight:400;color:var(--teal)}details[open] .plus{transform:rotate(45deg)}.detail{padding:0 16px 24px 32px;font-size:.9rem}.detail a{color:var(--teal);font-weight:600}.about{background:var(--deep);color:white;padding-block:85px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about .eyebrow,.about em{color:var(--mint)}.about h2{line-height:1.18}.signature{display:flex;align-items:center;gap:20px;margin-top:50px}.signature-mark{font-size:3rem;line-height:1;color:var(--mint);letter-spacing:-.09em;font-weight:350}.signature p{margin:0;font-size:.85rem}.signature strong{display:block;color:white;font-size:1rem}.signature span:not(.signature-mark){color:#abbdd2}.about-copy p{color:#bac9da;font-size:.95rem}.about-copy .large-copy{font-size:1.65rem;color:white;line-height:1.35;letter-spacing:-.02em;margin-bottom:25px}.about-principles{display:flex;gap:9px 18px;flex-wrap:wrap;font-size:.74rem;border-top:1px solid #394b62;padding-top:22px;margin-top:26px;color:var(--mint)}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.steps li{border-top:1px solid #bfcfce;padding-top:25px}.steps li>span{font-size:.9rem;color:var(--teal);display:block;margin-bottom:24px}.steps h3{font-size:1.22rem;letter-spacing:-.02em}.steps p{font-size:.92rem}.remote{margin-top:60px;padding:28px 32px;background:var(--pale);border-radius:8px;display:grid;grid-template-columns:1fr auto;gap:8px 28px;align-items:center}.remote>div{display:flex;align-items:center;gap:18px}.remote-icon{font-size:2rem;color:var(--teal)}.remote h3{font-size:1rem;letter-spacing:-.01em;margin-bottom:7px}.remote p{font-size:.85rem;margin:0}.remote small{grid-column:1/-1;color:var(--muted);font-size:.72rem;padding-left:45px}.contact-section{background:#edf4f3;padding-block:90px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-copy h2{font-size:3.8rem;line-height:1.08;margin-bottom:25px}.contact-copy>p:not(.eyebrow){max-width:350px}.contact-method{display:block;text-decoration:none;margin-top:28px}.contact-method small{display:block;letter-spacing:.1em;font-size:.67rem;color:var(--muted);margin-bottom:5px}.contact-method span{font-size:1.2rem;letter-spacing:-.02em;font-weight:550}.contact-copy .location-note{font-size:.84rem;margin-top:38px}.contact-form{background:white;border:1px solid #dae5e4;border-radius:9px;padding:34px;box-shadow:0 8px 30px #122d3b04}.contact-form h3{font-size:1.4rem;letter-spacing:-.025em;margin-bottom:8px}.form-intro{font-size:.76rem;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:7px}.field label span{font-weight:400;color:var(--muted);font-size:.75rem}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #cbd8df;border-radius:4px;background:#fff;color:var(--ink);padding:11px 12px;min-height:46px;font-size:1rem}textarea{resize:vertical;min-height:130px}input:focus,textarea:focus,select:focus{border-color:var(--teal);outline:2px solid #157b7625;outline-offset:1px}.field-hint{font-size:.73rem;color:var(--muted)}.field-error{font-size:.78rem;color:#ae2929;display:block}.field-error:empty{display:none}[aria-invalid=true]{border-color:#ae2929!important}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.77rem;line-height:1.6;color:var(--muted);cursor:pointer}.consent input{width:19px;height:19px;flex-shrink:0;margin:3px 0 0;accent-color:var(--teal)}.consent a{color:var(--teal)}.submit{margin-top:23px;width:100%;justify-content:space-between}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status:not(:empty){padding:14px;margin-top:18px;border-radius:4px;font-size:.87rem;background:var(--pale);color:var(--navy)}#form-status[data-state=error]{background:#fff1ee;color:#922a20}#form-status[data-state=success]{background:#e9f6f0;color:#18604b}footer{padding-block:42px 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px}.footer-top>p{font-size:.83rem;margin:0}.back-top{font-size:.8rem;text-decoration:none}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:.74rem;color:var(--muted);gap:20px}.footer-bottom nav{display:flex;gap:25px}.footer-bottom a{text-decoration:none}.skip{position:fixed;top:-100px;left:20px;padding:12px 18px;background:var(--navy);color:white;z-index:100}.skip:focus{top:12px}.legal{max-width:800px;padding-block:65px 90px}.legal h1{font-size:3rem}.legal h2{font-size:1.4rem;margin:35px 0 15px;letter-spacing:-.02em}.legal p,.legal li{font-size:1rem}.legal .button{margin-top:20px}.legal a{overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.primary:hover{background:#10645f}.secondary:hover{background:#e7f0ef}.text-link:hover,.header nav>a:not(.nav-contact):hover,.back-top:hover{color:var(--teal)}.nav-contact:hover{background:#263f63}summary:hover{color:var(--teal)}.contact-method:hover span{text-decoration:underline}}
@media(min-width:1600px){.hero{padding-block:90px}.hero-visual{min-height:530px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:20px;font-size:.8rem}.hero{gap:30px;padding-block:50px}.hero-visual{min-height:460px}.actions{gap:18px}.section-heading>p{max-width:275px}.contact-grid{gap:40px}.audience{padding:30px}.about-grid{gap:40px}.remote{grid-template-columns:1fr}.remote>.button{justify-self:start;margin-left:45px}.contact-form{padding:26px}.contact-copy h2{font-size:3.2rem}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:84px;flex-wrap:wrap;gap:0}.brand>span{font-size:1.65rem}.brand img{width:35px;height:40px}.brand small{font-size:.65rem}.header nav{width:100%;flex-wrap:wrap;justify-content:center;gap:5px 22px;padding-bottom:14px}.js .menu-toggle{display:block}.js .header nav{display:none}.js .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 0 20px}.js .header nav a{padding:12px 15px}.hero{grid-template-columns:1fr;gap:35px;padding-block:40px}.hero-copy{max-width:620px}h1{font-size:clamp(3rem,8vw,4.2rem)}.hero-lead{max-width:520px}.personal-note{margin-top:28px}.hero-visual{min-height:390px}.hero-image{object-position:center 65%}.visual-caption{padding:22px 30px}.region-bar>.wrap{flex-direction:column;align-items:start;gap:4px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:500px;margin-top:20px}.section-heading>p br{display:none}.audiences{gap:16px}.audience{padding:25px}.audience h3{font-size:1.65rem}.audience p{font-size:.9rem}.check-list{font-size:.83rem}.about-grid{grid-template-columns:1fr;gap:35px}.about{padding-block:60px}.signature{margin-top:30px}.about-copy{max-width:580px}.steps{gap:24px}.steps h3{font-size:1.1rem}.remote{margin-top:35px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-section{padding-block:60px}.contact-copy h2{font-size:3rem}.contact-copy>p:not(.eyebrow){max-width:500px}.contact-method{display:inline-block;margin-right:26px}.contact-copy .location-note{margin-top:25px}.footer-top{flex-wrap:wrap}.footer-top>p{display:none}}
@media(max-width:540px){.eyebrow{font-size:.64rem;letter-spacing:.1em}.hero{padding-top:32px}h1{font-size:3.15rem}.hero-lead{font-size:1rem}.hero-visual{min-height:335px;border-bottom-right-radius:48px}.photo-label{font-size:.56rem;left:18px;top:18px}.visual-caption{font-size:1rem;padding:20px 24px}.visual-caption a{width:40px;height:40px}.actions{align-items:stretch;gap:18px}.actions .button{width:100%;justify-content:space-between}.actions .text-link{padding:4px 0}.region-bar>.wrap{font-size:.78rem}.region-bar i{padding-inline:8px}h2{font-size:2.1rem}.audiences{grid-template-columns:1fr}.audience{padding:28px}.audience h3{font-size:1.95rem}.service-grid{grid-template-columns:1fr}.service-heading>span{display:none}.service-heading{margin-top:35px}.service-grid summary{font-size:.94rem;padding-block:20px}.steps{grid-template-columns:1fr;gap:18px;margin-top:32px}.steps li{position:relative;padding:23px 0 0 45px}.steps li>span{position:absolute;left:0;top:22px}.steps h3{font-size:1.2rem}.steps p{margin-bottom:5px}.remote{padding:24px 20px}.remote>div{gap:13px;align-items:start}.remote>.button{margin-left:0;padding-inline:13px;gap:10px;width:100%;font-size:.83rem}.remote small{padding-left:0}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:25px 20px}.contact-method span{font-size:1.1rem}.footer-top{gap:22px;padding-bottom:28px}.footer-bottom{align-items:start;flex-direction:column;gap:14px}.legal h1{font-size:2.3rem;overflow-wrap:anywhere}.back-top{font-size:.75rem}}
.eyebrow,.card-kicker,.photo-label,.service-number,.contact-method small,.brand small{font-size:.75rem}.field label,.consent,.header nav,.text-link{font-size:.875rem}.form-intro,.field-hint,.field-error,.footer-bottom,.remote small,.about-principles{font-size:.8125rem}.header-inner{gap:1.25rem}.hero-copy,.about-grid>div,.contact-grid>div{min-width:0}h1,h2,h3{overflow-wrap:break-word}body.keyboard-input .button{transition:none}body.keyboard-input .button:active{transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.button:active{transform:none}}@media(prefers-reduced-transparency:reduce){.header{background:white;backdrop-filter:none}}@media(prefers-contrast:more){:root{--muted:#26384d;--line:#71808e}.header{background:white}.field-hint,.form-intro{color:#26384d}}@media print{.header,.actions,.remote,.contact-form,.back-top,footer nav{display:none}.wrap{width:100%}.hero,.about-grid,.contact-grid{display:block}.hero-visual{display:none}.section,.about,.contact-section{padding:25px 0}.about{background:white;color:#14284b}.about p,.about em,.about .eyebrow{color:#14284b}details .detail{display:block}.audience{break-inside:avoid}}

/* Show the disclosure button only where navigation actually collapses. */
.menu-toggle{display:none}
@media(max-width:800px){.js .menu-toggle:not([hidden]){display:block}}
/* Company services: readable summaries, details and technology references. */
.business-hero{background:var(--pale);padding:55px 0 65px}.breadcrumb{display:inline-block;font-size:.875rem;margin-bottom:35px;color:var(--muted);text-decoration:none}.business-hero h1{font-size:clamp(2.5rem,4.7vw,4.6rem)}.business-hero .hero-lead{max-width:750px}.business-intro{padding-block:65px 35px}.business-intro>p:last-child{max-width:850px;margin:22px 0 0}.business-catalog{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:75px}.business-service{border:1px solid var(--line);border-radius:8px;padding:32px;display:flex;flex-direction:column;min-width:0}.business-service>span{margin-bottom:18px;display:block}.business-service h2{font-size:1.55rem;letter-spacing:-.025em;margin-bottom:18px}.business-service p,.business-service li{font-size:1rem}.business-service ul{padding-left:20px;margin:0 0 24px}.business-service li{padding-left:4px;margin-bottom:12px;color:var(--muted)}.business-service li::marker{color:var(--teal)}.business-service .technology{font-size:.875rem;background:var(--pale);padding:17px 19px;border-radius:4px;margin-top:auto}.technology strong{display:block;color:var(--navy);margin-bottom:6px}.business-service .text-link{padding-top:10px;justify-content:space-between}.business-cta{padding:55px 0;background:var(--pale)}.business-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.business-cta h2{font-size:2.1rem}.business-cta p:not(.eyebrow){max-width:730px;margin:20px 0 0}.business-cta .button{flex-shrink:0}.header nav a[aria-current=page]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}
@media(min-width:801px) and (max-width:1150px){.header-inner{flex-wrap:wrap;justify-content:center;padding-top:18px;gap:12px}.header nav{width:100%;justify-content:center;padding-bottom:15px;gap:22px}html{scroll-padding-top:11rem}}
@media(max-width:700px){.business-catalog{grid-template-columns:1fr}.business-service{padding:25px}.business-intro{padding-top:45px}.business-hero{padding:30px 0 45px}.business-hero h1{font-size:2.7rem}.business-cta>.wrap{display:block}.business-cta .button{margin-top:25px}.business-cta h2{font-size:1.9rem}}
