@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--pearl:#f8fafc;--sapphire:#0754cf;--ink:#111b3f;--silver:#dbe4ef;--soft:#edf4fc;--muted:#586783;--gold:var(--sapphire);--off:var(--pearl);--cream:var(--soft);--charcoal:var(--ink);--navy:#354a6b;--line:var(--silver)}
body{background:var(--pearl)!important;color:var(--ink)!important;font-family:'DM Sans',sans-serif!important}
a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #0754cf;outline-offset:4px}
.header-simple,.buxy-public-header{background:rgba(248,250,252,.94)!important;border-color:var(--silver)!important;height:88px}
.header-inner,.buxy-public-headin{width:min(1320px,calc(100% - 64px));gap:24px}
.logo-copy b,.buxy-public-brand{color:var(--ink)!important}.logo-copy small{color:var(--sapphire)!important}.logo-symbol{display:none}.logo-copy{display:block!important}.logo-copy b{font-size:23px;letter-spacing:.13em}.logo-copy small{font-size:9px;letter-spacing:.55em;margin-top:7px}
.nav-simple,.buxy-public-nav{gap:25px}.nav-simple a,.buxy-public-nav a{font-size:13px!important;color:var(--ink)!important}.nav-simple a:hover,.buxy-public-nav a:hover{color:var(--sapphire)!important}
.start,.buxy-btn,.buxy-public-start,.buxy-mobile-cta,.buxy-public-mobile .cta,.lab-btn:not(.alt),.client-actions .primary,.client-form button,.fbtn.primary{background:var(--sapphire)!important;color:#fff!important;border-color:var(--sapphire)!important;box-shadow:0 8px 24px #0754cf16;font-weight:600}
.start,.buxy-public-start{font-size:12px;white-space:nowrap}.account-link{font-size:12px;color:var(--ink);white-space:nowrap}.language-switch{border:0;background:transparent;color:var(--ink);min-width:54px;min-height:44px;font-size:12px;cursor:pointer}
.hamb,.buxy-public-hamb{border-color:var(--silver)!important;color:var(--ink)}
.buxy-mobile-menu,.buxy-public-mobile{background:var(--pearl)!important;top:88px!important}
.buxy-mobile-menu>a,.buxy-public-mobile a{color:var(--ink)!important;border-color:var(--silver)!important}.buxy-mobile-menu .buxy-mobile-cta,.buxy-public-mobile .cta{color:white!important}
.pearl-hero{position:relative;isolation:isolate;min-height:690px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--silver);background:#f3f7fc}
.pearl-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;object-position:70% center}
.pearl-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,250,252,.96) 0%,rgba(248,250,252,.92) 29%,rgba(248,250,252,.65) 43%,rgba(248,250,252,0) 66%)}
.pearl-hero-inner{width:min(1320px,calc(100% - 64px));margin:auto;padding:88px 0 100px}
.pearl-eyebrow{font-size:10px;font-weight:600;letter-spacing:.24em;color:#516792;margin:0 0 28px;text-transform:uppercase}
.pearl-hero h1{font:400 clamp(54px,5.5vw,86px)/1.02 'Instrument Serif',Georgia,serif;letter-spacing:-.035em;color:var(--ink);margin:0;max-width:700px}
.pearl-hero h1 span{color:var(--sapphire);display:block}
.pearl-hero .lead{font-size:20px;line-height:1.6;color:var(--muted);max-width:480px;margin:28px 0 0}
.pearl-hero .actions{margin-top:36px;gap:16px;flex-wrap:wrap}.pearl-hero .actions a{font-size:13px;font-weight:500;min-height:52px;padding:0 26px}.ghost{border-color:#b5c7e1!important;background:#ffffff60;color:var(--ink)!important;justify-content:center}
.pearl-services{padding:80px 32px;background:linear-gradient(180deg,#f6f9fd,#fff)}
.pearl-services-inner{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:1fr 1.1fr 1.1fr;gap:24px;align-items:stretch}
.pearl-services-intro{padding:32px 40px 24px 0}.pearl-services-intro h2{font:400 clamp(35px,3vw,48px)/1.1 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;margin:22px 0;color:var(--ink)}.pearl-services-intro p:last-child{line-height:1.75;font-size:14px;color:var(--muted);max-width:300px}
.pearl-service{display:flex;flex-direction:column;border:1px solid var(--silver);border-radius:18px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}.pearl-service:hover{transform:translateY(-4px);box-shadow:0 16px 36px #123b7912}
.pearl-service-visual{height:220px;overflow:hidden;position:relative;background:linear-gradient(130deg,#eef4ff,#fff 55%,#dceafa)}.pearl-service-visual>img{width:100%;height:100%;object-fit:cover;object-position:80% 50%;opacity:.55}
.pearl-device{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);width:190px;height:120px;background:linear-gradient(130deg,#fff,#e8f0ff);border:6px solid #8a9cbd;border-radius:10px;box-shadow:12px 12px 24px #123b7924;padding:14px}
.pearl-device:after{content:"";position:absolute;bottom:-13px;left:-20px;width:218px;height:7px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#a7b9d3,#eef5ff,#9dafc9)}
.pearl-device.phone{width:76px;height:152px;border:5px solid #637694;border-radius:18px;transform:translate(-50%,-50%) rotate(10deg);padding:13px 8px}.pearl-device.phone:after{bottom:5px;left:20px;width:25px;height:3px;border-radius:3px}
.pearl-device .demo-label{font-size:7px;letter-spacing:.1em;color:#0754cf}.pearl-device .demo-line{height:5px;background:#b9cdf0;width:65%;margin-top:9px;border-radius:3px}.pearl-device .demo-line.wide{width:90%;height:14px;background:#0754cf}
.pearl-service-copy{padding:24px}.pearl-service-copy h3{font-size:23px;font-weight:500;letter-spacing:-.03em;margin:0 0 12px;display:flex;justify-content:space-between;color:var(--ink)}.pearl-service-copy p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.pearl-hero-inner>*{animation:pearl-reveal .7s ease-out both}.pearl-hero-inner h1{animation-delay:.08s}.pearl-hero-inner .lead{animation-delay:.16s}.pearl-hero-inner .actions{animation-delay:.24s}@keyframes pearl-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.buxy-story,.about-hero,.about-cover-section,.about-story,.about-direction,.projects-page,.clients-main,.news-main,.lab-main,.forum-shell{background:var(--pearl)!important;color:var(--ink)!important}
.buxy-story{background:linear-gradient(180deg,#edf4fc,#f8fafc)!important;border-color:var(--silver)}.buxy-story-title,.buxy-title,.about-hero h1,.about-main h2,.about-direction h2,.projects-page h1,.lab-main h1,.lab-section h2,.news-main h1,.forum-head h1,.clients-main h1{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;color:var(--ink)!important;letter-spacing:-.025em!important;line-height:1.08!important}
.buxy-kicker,.kicker,.projects-page .k,.lab-eyebrow,.lab-num,.clients-main .k,.news-card time,.project-card span,.project-card b,.forum-kicker,.buxy-story-note span{color:var(--sapphire)!important}
.buxy-story-intro,.buxy-story-copy p,.buxy-text,.about-lead,.about-main p,.about-ro p,.lab-lead,.lab-sub,.news-lead,.news-card p,.project-card p,.clients-main p{color:var(--muted)!important}
.buxy-story-note,.about-ro,.about-cards article,.lab-card,.project-card,.news-card,.client-card{background:white!important;border-color:var(--silver)!important;box-shadow:0 10px 30px #133e7210!important}
.project-card:hover{border-color:var(--sapphire)!important}.lab-card a,.news-card a,.buxy-story-note a{color:var(--sapphire)!important}.news-promise{background:var(--soft)!important;border-color:var(--sapphire)!important}
.buxy-cta{background:linear-gradient(120deg,#eaf2ff,#f4f8fe)!important;padding:80px 32px}.buxy-title{font-size:clamp(38px,4vw,62px)}
.buxy-footer,.buxy-public-footer{background:#eef4fb!important;border-top:1px solid var(--silver);color:var(--ink)!important}.buxy-footer h3,.buxy-public-footer h3{font-weight:600}.buxy-footer p,.buxy-footer a,.buxy-public-footer p,.buxy-public-footer a,.buxy-footer-bottom,.buxy-public-bottom{color:var(--muted)!important;border-color:var(--silver)!important}
.client-form input,.client-form select,.client-form textarea{border-color:var(--silver)!important;color:var(--ink)!important}
@media(min-width:981px) and (max-width:1180px){.header-inner{gap:16px}.nav-simple{gap:15px}.nav-simple a{font-size:12px!important}.account-link{display:none}}
@media(max-width:980px){.header-inner,.buxy-public-headin{width:calc(100% - 40px)}.tools{gap:8px}.account-link{display:none}.pearl-hero{min-height:650px}.pearl-hero-inner{width:calc(100% - 48px)}.pearl-hero h1{font-size:64px;max-width:520px}.pearl-hero:before{background:linear-gradient(90deg,#f8fafcf5,#f8fafcb5 50%,#f8fafc10)}.pearl-services-inner{grid-template-columns:1fr 1fr}.pearl-services-intro{grid-column:1/-1;padding:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.pearl-services-intro .pearl-eyebrow{grid-column:1/-1;margin:0}.pearl-services-intro h2{margin:0}.pearl-services-intro p:last-child{margin:0;max-width:100%}}
@media(max-width:620px){.header-simple,.buxy-public-header{height:76px}.header-inner,.buxy-public-headin{width:calc(100% - 32px);gap:12px}.logo-copy b{font-size:19px}.logo-copy small{font-size:8px}.tools .start{display:none}.language-switch{min-width:48px}.buxy-mobile-menu,.buxy-public-mobile{top:76px!important}.pearl-hero{display:block;min-height:740px}.pearl-hero-image{height:400px;top:auto;bottom:0;object-position:80% center}.pearl-hero:before{background:linear-gradient(180deg,#f8fafc 0%,#f8fafc 44%,#f8fafc95 59%,#f8fafc00 82%)}.pearl-hero-inner{width:calc(100% - 40px);padding:52px 0 340px}.pearl-eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:22px}.pearl-hero h1{font-size:clamp(44px,11.6vw,62px);line-height:1.04;max-width:100%}.pearl-hero .lead{font-size:16px;line-height:1.6;margin-top:22px;max-width:330px}.pearl-hero .actions{margin-top:24px;gap:12px;flex-direction:row}.pearl-hero .actions a{padding:0 18px;min-height:48px;font-size:12px;width:auto}.pearl-services{padding:48px 20px}.pearl-services-inner{grid-template-columns:1fr;gap:20px}.pearl-services-intro{grid-column:auto;display:block;padding-bottom:12px}.pearl-services-intro h2{font-size:40px;margin:18px 0}.pearl-service-visual{height:190px}.buxy-cta{padding:56px 20px}.buxy-story{padding:60px 20px}.buxy-story-title{font-size:40px}.buxy-story-cover{border-color:var(--silver)}}
body:has(.pearl-topbar):not(.buxy-home){padding-left:0!important;margin:0!important}.pearl-topbar .logo{display:flex;align-items:center;text-decoration:none}.pearl-topbar .logo-copy small{display:block}.pearl-topbar .start{border-radius:999px;padding:12px 18px;text-decoration:none}.pearl-topbar .forum-kicker{color:var(--sapphire)!important}
.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.social-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff!important;border:1px solid var(--silver)!important;color:var(--ink)!important;border-radius:20px;padding:24px!important}.social-card small{display:block;line-height:1.6}.social-verified{margin-top:10px;color:var(--muted);font-size:11px}.social-numbers{text-align:right;flex-shrink:0}.social-card .followers{color:var(--sapphire)!important}.social-numbers small:last-child{font-size:11px}.social-card:hover{border-color:var(--sapphire)!important}@media(max-width:1000px){.social-grid{grid-template-columns:1fr}.social-card{flex-wrap:wrap}.social-numbers{text-align:left}}
.pearl-topbar .logo{gap:12px!important}.pearl-brand-mark{display:block;width:44px;height:44px;flex-shrink:0;filter:drop-shadow(0 4px 8px #0754cf12)}.pearl-topbar .logo-copy b{color:var(--sapphire)!important}.pearl-topbar .logo-copy small{color:#667b9b!important}@media(max-width:620px){.pearl-topbar .logo{gap:7px!important}.pearl-brand-mark{width:34px;height:34px}.pearl-topbar .logo-copy b{font-size:16px}.pearl-topbar .logo-copy small{font-size:7px;letter-spacing:.4em}}
/* Start Project links are available to all visitors; sign-in is required only when submitting a request. */
.pearl-topbar{position:sticky!important;top:0!important;height:auto!important;padding:0!important;z-index:1000!important}
.pearl-topbar .header-inner{display:grid!important;grid-template-columns:auto 1fr;align-items:center;margin:auto;padding:18px 0 0;gap:0 24px!important}
.pearl-topbar .tools{justify-self:end;display:flex;align-items:center;gap:12px}
.pearl-topbar .account-link{display:inline-flex!important;align-items:center;min-height:44px}
.pearl-topbar .nav-simple{grid-column:1/-1;display:flex!important;margin:12px 0 0!important;padding:0;justify-content:center;gap:32px!important;border-top:1px solid var(--silver);overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.pearl-topbar .nav-simple::-webkit-scrollbar{display:none}
.pearl-topbar .nav-simple a{display:flex;align-items:center;flex-shrink:0;padding:15px 0!important;min-height:48px}
.pearl-topbar .hamb,.buxy-mobile-menu,.buxy-public-mobile,#mobileMenu{display:none!important}
@media(max-width:620px){
.pearl-topbar .header-inner{width:calc(100% - 32px)!important;padding-top:10px;gap:0 10px!important}
.pearl-topbar .tools{gap:4px;flex-wrap:wrap;max-width:245px;justify-content:flex-end}
.pearl-topbar .account-link{font-size:10px!important;min-height:38px}
.pearl-topbar .language-switch{font-size:10px;min-width:42px;min-height:38px}
.pearl-topbar .tools .start{font-size:10px;padding:0 12px;min-height:36px}
.pearl-topbar .nav-simple{justify-content:flex-start;gap:24px!important;margin-top:8px!important}
.pearl-topbar .nav-simple a{font-size:12px!important;padding:12px 0!important;min-height:44px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pearl-hero-inner>*{animation:none}.pearl-service{transition:none}}
/* BUXY MOBILE-FIRST NAV: unified drawer for public pages */
/* Keep the header visible in iOS Safari when the full-screen menu opens. */
@media(max-width:900px){
 body:has(.pearl-topbar){padding-top:72px!important}
 html{scroll-padding-top:72px}
 .pearl-topbar{
   position:fixed!important;
   top:0!important;left:0!important;right:0!important;
   width:100%!important;z-index:1100!important;
   background:rgba(248,250,252,.98)!important;
   -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
   border-bottom:1px solid var(--silver)!important
 }
 body.menu-open .pearl-topbar{box-shadow:0 2px 16px rgba(17,27,63,.06)}
}
@media(max-width:900px){
 html,body{max-width:100%;overflow-x:clip}
 .pearl-topbar{height:72px!important;min-height:72px!important;padding:0!important}
 .pearl-topbar .header-inner{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:nowrap!important;width:calc(100% - 32px)!important;min-height:72px!important;height:72px!important;padding:0!important;gap:10px!important}
 .pearl-topbar .logo{min-width:0;flex-shrink:0}
 .pearl-topbar .tools{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;max-width:none!important;margin-left:auto}
 .pearl-topbar .nav-simple{display:none!important}
 .pearl-topbar .account-link,.pearl-topbar .tools .start{display:none!important}
 .pearl-topbar .language-switch{min-width:54px!important;min-height:44px!important;font-size:12px!important;border-radius:12px}
 .pearl-topbar .hamb{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;width:44px;height:44px;font-size:23px;line-height:1;border-radius:12px;background:transparent;cursor:pointer}
 #mobileMenu.open,.buxy-mobile-menu.open,.buxy-public-mobile.open{display:flex!important;position:fixed!important;inset:72px 0 0!important;top:72px!important;z-index:999!important;flex-direction:column!important;gap:0!important;overflow-y:auto!important;overscroll-behavior:contain;max-height:calc(100dvh - 72px);height:auto;padding:16px max(20px,env(safe-area-inset-left)) max(30px,env(safe-area-inset-bottom))!important;background:var(--pearl)!important;box-shadow:0 18px 38px rgba(17,27,63,.12);border-top:1px solid var(--silver);opacity:1!important;visibility:visible!important;transform:none!important}
 #mobileMenu.open a,.buxy-mobile-menu.open a,.buxy-public-mobile.open a{display:flex!important;align-items:center;flex:0 0 auto;min-height:49px!important;padding:10px 8px!important;border-bottom:1px solid var(--silver)!important;color:var(--ink)!important;font-size:17px!important;line-height:1.3;text-decoration:none}
 #mobileMenu.open .buxy-mobile-cta,.buxy-public-mobile.open .buxy-mobile-cta{justify-content:center!important;min-height:52px!important;padding:12px 18px!important;margin:3px 0 12px!important;border-radius:12px!important;border:0!important;background:var(--sapphire)!important;color:#fff!important;font-weight:700!important}
 #mobileMenu.open .buxy-mobile-account,.buxy-public-mobile.open .buxy-mobile-account{margin-top:12px!important;border:1px solid var(--silver)!important;border-radius:12px;background:white;font-size:15px!important}
 body.menu-open{overflow:hidden!important}
}
@media(max-width:420px){
 .pearl-hero .actions{display:grid;grid-template-columns:1fr;gap:10px}
 .pearl-hero .actions a{width:100%;justify-content:center}
}
@media(max-width:400px){
 .pearl-topbar .logo-copy b{font-size:15px!important}
 .pearl-topbar .logo-copy small{font-size:7px!important}
 .pearl-topbar .tools{gap:6px!important}
}