@font-face{font-family:Haffer;src:url('/fonts/Haffer-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
.page-wrapper>.navbar_component{display:none!important}
@font-face{font-family:Haffer;src:url('/fonts/Haffer-Medium.woff2') format('woff2');font-weight:500 700;font-display:swap}
@font-face{font-family:'Haffer XH';src:url('/fonts/HafferXH-Medium.woff2') format('woff2');font-weight:400 600;font-display:swap}
:root{--px-ink:#000;--px-paper:#f9f8f5;--px-line:rgba(0,0,0,.16);--px-muted:#6b6360;--px-purple:#ded3f0;--px-green:#b7d5ca;--px-coral:#ef8451;--px-yellow:#f9f0d2;--px-gutter:clamp(1rem,3vw,2.75rem);--px-radius:20px;--px-pill:999px;--px-ease:cubic-bezier(.16,1,.3,1);--px-header:74px}
html{scroll-padding-top:110px}
body{overflow-x:clip}
body.px-menu-open{overflow:hidden}
body h1{font-size:clamp(3.15rem,7vw,7.5rem)!important;line-height:.91!important;letter-spacing:-.06em!important;text-wrap:balance}
body h2{text-wrap:balance}
.nav_fixed,.footer_component{display:none!important}
.px-seo-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.px-shell,.px-footer,.px-shell *,.px-footer *,.px-page-loader,.px-voice{box-sizing:border-box;font-family:Haffer,Arial,sans-serif}
.px-shell{position:sticky;top:0;z-index:2147480000;color:var(--px-ink)}
.px-announcement{min-height:31px;display:flex;justify-content:center;align-items:center;gap:.65rem;padding:.35rem 1rem;background:var(--px-purple);color:var(--px-ink)!important;font-size:11px;text-decoration:none!important}
.px-announcement strong{font-weight:600}
.px-header{width:min(calc(100% - 2 * var(--px-gutter)),1440px);height:var(--px-header);display:flex;align-items:center;position:relative;margin:auto;transition:height .32s var(--px-ease)}
.px-header:before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:rgba(249,248,245,.9);border-bottom:1px solid var(--px-line);backdrop-filter:blur(18px);transition:box-shadow .3s ease}
.px-shell.px-compact .px-header{height:62px}
.px-shell.px-compact .px-header:before{box-shadow:0 10px 34px rgba(0,0,0,.06)}
.px-brand{min-width:120px;display:flex;align-items:center;text-decoration:none!important}.px-brand img{width:170px;min-width:120px;height:auto;display:block}

.px-desktop-nav{height:100%;display:flex;align-items:stretch;gap:clamp(.1rem,.7vw,.75rem);margin:auto}
.px-nav-item{display:flex;align-items:stretch}
.px-nav-item>button,.px-direct{display:flex;align-items:center;gap:5px;position:relative;padding:0 .55rem;border:0;background:transparent;color:var(--px-ink)!important;font-size:12px;font-weight:600;text-decoration:none!important;white-space:nowrap;cursor:pointer}
.px-nav-item>button:after,.px-direct:after{content:"";position:absolute;right:.55rem;bottom:18px;left:.55rem;height:1px;background:var(--px-ink);transform:scaleX(0);transition:transform .25s ease}
.px-nav-item>button:hover:after,.px-nav-item.px-open>button:after,.px-direct:hover:after{transform:scaleX(1)}
.px-nav-item>button i{font-style:normal;transition:transform .3s var(--px-ease)}
.px-nav-item.px-open>button i{transform:rotate(45deg)}
.px-actions{display:flex;align-items:center;gap:.65rem}
.px-language{padding:.5rem;color:var(--px-ink)!important;font-size:11px;font-weight:700;text-decoration:none!important}
.px-quote{display:inline-flex;gap:.6rem;align-items:center;justify-content:center;padding:.7rem 1rem;border-radius:.75rem;background:var(--px-ink);color:#fff!important;font-size:.9rem;font-weight:500;text-align:center;text-decoration:none!important;transition:all .35s ease-in-out}.px-quote:hover{opacity:.85}





.px-mega{position:fixed;top:calc(31px + var(--px-header));right:0;left:0;max-height:calc(100svh - 93px);overflow:auto;background:var(--px-ink);color:var(--px-paper);opacity:0;transform:translateY(-14px);box-shadow:0 28px 80px rgba(0,0,0,.18);transition:opacity .22s ease,transform .4s var(--px-ease)}
.px-compact .px-mega{top:93px}
.px-nav-item.px-open .px-mega{opacity:1;transform:none}
.px-mega-inner{width:min(calc(100% - 2 * var(--px-gutter)),1440px);display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32%);gap:clamp(2rem,5vw,5rem);margin:auto;padding:clamp(2rem,4vw,3.75rem) 0}
.px-mega-main>header{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}
.px-mega-main>header span,.px-column>p,.px-feature>small{color:rgba(249,248,245,.48);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.px-mega-main h2{margin:0;color:var(--px-paper)!important;font-family:'Haffer XH',Haffer,sans-serif!important;font-size:clamp(27px,2.4vw,43px)!important;line-height:1!important;letter-spacing:-.045em!important}
.px-columns{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:clamp(1.25rem,2.4vw,2.8rem)}
.px-column>p{margin:0 0 .6rem}
.px-column ul{display:grid;gap:0;margin:0;padding:0;list-style:none}
.px-column li{opacity:0;transform:translateY(16px);transition:opacity .36s ease calc(var(--px-i)*30ms + 60ms),transform .42s var(--px-ease) calc(var(--px-i)*30ms + 60ms)}
.px-open .px-column li{opacity:1;transform:none}
.px-column a,.px-disabled{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid rgba(249,248,245,.12);color:var(--px-paper)!important;text-decoration:none!important}
.px-column a>span,.px-disabled>span{min-width:0;display:grid;gap:2px}
.px-column strong{overflow:hidden;color:var(--px-paper)!important;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.px-disabled strong{color:rgba(249,248,245,.58)!important}
.px-column small{overflow:hidden;color:rgba(249,248,245,.68)!important;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.px-column i{font-style:normal;transition:transform .3s var(--px-ease)}
.px-column a:hover i{transform:translate(3px,-3px) rotate(8deg)}
.px-disabled{opacity:.58}.px-disabled em{padding:4px 8px;border:1px solid rgba(249,248,245,.16);border-radius:var(--px-pill);font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.px-feature{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--px-radius);background:var(--px-purple);color:var(--px-ink)!important;text-decoration:none!important;opacity:0;transform:translateY(18px);transition:opacity .45s ease .14s,transform .5s var(--px-ease) .14s,border-radius .3s var(--px-ease)}
.px-open .px-feature{opacity:1;transform:none}.px-feature:hover{border-radius:30px}.px-feature>small{color:rgba(30,21,21,.55)}
.px-feature>strong{max-width:13ch;color:var(--px-ink)!important;font-family:'Haffer XH',Haffer,sans-serif;font-size:clamp(28px,3vw,48px);font-weight:500;line-height:.96;letter-spacing:-.05em}
.px-feature>i{width:46px;height:46px;display:grid;place-items:center;margin-left:auto;border:1px solid rgba(30,21,21,.28);border-radius:50%;font-style:normal;transition:transform .35s var(--px-ease)}
.px-feature:hover>i{transform:rotate(45deg)}
.px-menu-toggle{width:44px;height:44px;display:none;place-content:center;gap:5px;padding:0;border:1px solid var(--px-line);border-radius:50%;background:transparent}
.px-menu-toggle i{width:16px;height:1px;display:block;background:var(--px-ink);transition:transform .3s ease}
.px-menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3px) rotate(45deg)}.px-menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3px) rotate(-45deg)}
.px-mobile-menu{position:fixed;inset:calc(31px + var(--px-header)) 0 0;overflow:auto;background:var(--px-paper);opacity:0;transform:translateY(-18px);transition:opacity .28s ease,transform .35s var(--px-ease)}
.px-mobile-menu.px-open{opacity:1;transform:none}.px-mobile-menu>div{width:min(calc(100% - 2rem),720px);margin:auto;padding:1.5rem 0 3rem}.px-mobile-menu header{display:grid;gap:4px;padding-bottom:1.5rem}.px-mobile-menu header strong{font-family:'Haffer XH',Haffer,sans-serif;font-size:clamp(32px,10vw,70px);line-height:.9;letter-spacing:-.07em}.px-mobile-menu header small{color:var(--px-muted)}
.px-mobile-menu details{border-top:1px solid var(--px-line)}.px-mobile-menu summary{display:flex;justify-content:space-between;padding:1.1rem 0;list-style:none;font-size:18px;cursor:pointer}.px-mobile-menu summary::-webkit-details-marker{display:none}.px-mobile-menu details[open] summary i{transform:rotate(45deg)}.px-mobile-menu summary i{font-style:normal;transition:transform .3s ease}
.px-mobile-menu details>div{display:grid;padding-bottom:1rem}.px-mobile-menu details a,.px-mobile-disabled{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0 .65rem 1.25rem;border-bottom:1px solid rgba(30,21,21,.08);color:var(--px-ink)!important;text-decoration:none!important}.px-mobile-menu details a>span,.px-mobile-disabled>span{display:grid;gap:2px}.px-mobile-menu details strong{font-size:14px;font-weight:500}.px-mobile-menu details small{color:var(--px-muted);font-size:10px}.px-mobile-menu details i{font-style:normal}.px-mobile-disabled{opacity:.55}.px-mobile-disabled em{font-size:9px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.px-mobile-blog{display:flex;justify-content:space-between;padding:1.2rem 0;border-block:1px solid var(--px-line);color:var(--px-ink)!important;font-size:18px;text-decoration:none!important}.px-mobile-quote{width:100%;margin-top:1rem}
.px-page-loader{display:none;position:fixed;inset:0;z-index:2147483000;place-items:center;background:var(--px-ink);color:var(--px-paper);clip-path:inset(0);pointer-events:none}.px-page-loader strong{font-family:'Haffer XH',Haffer,sans-serif;font-size:clamp(80px,20vw,300px);line-height:.75;letter-spacing:-.095em}.px-page-loader span{position:absolute;right:3vw;bottom:3vw;left:3vw;height:1px;background:linear-gradient(90deg,var(--px-coral) 0 0,rgba(249,248,245,.2) 0)}
body.px-loading .px-page-loader{display:grid;animation:px-loader-out .3s var(--px-ease) .35s forwards}body.px-loading .px-page-loader strong{animation:px-loader-mark .45s var(--px-ease) both}body.px-loading .px-page-loader span{animation:px-loader-progress .32s ease both}
@keyframes px-loader-mark{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes px-loader-progress{to{background:linear-gradient(90deg,var(--px-coral) 100%,rgba(249,248,245,.2) 100%)}}@keyframes px-loader-out{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
body.px-motion .px-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .75s var(--px-ease)}body.px-motion .px-reveal.px-in{opacity:1;transform:none}
.sidebar-sub-menu-wrap{position:sticky!important;top:100px!important;width:min(100%,320px)!important;max-height:calc(100svh - 120px)!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin}.sidebar-sub-menu-wrap li,.sidebar-sub-menu-wrap a{height:auto!important;min-height:32px!important;line-height:1.3!important}.sidebar-sub-menu-wrap a{display:flex!important;align-items:center!important;padding-block:7px!important}.sidebar-sub-menu-wrap img{max-width:100%;height:auto}
.px-voice{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:2147481000}.px-voice>button{min-height:50px;display:flex;align-items:center;gap:.65rem;padding:.35rem 1rem .35rem .4rem;border:1px solid var(--px-ink);border-radius:var(--px-pill);background:var(--px-paper);box-shadow:0 18px 50px rgba(30,21,21,.2);cursor:pointer}.px-voice>button span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--px-coral);font-size:10px}.px-voice>button strong{font-size:12px}.px-voice.px-loaded>button{display:none}
.px-footer{padding-top:clamp(5rem,10vw,10rem);overflow:hidden;background:var(--px-ink);color:var(--px-paper)}.px-footer a{color:inherit;text-decoration:none}.px-footer-lead,.px-footer-groups,.px-footer-contact,.px-footer-word,.px-footer-legal{width:min(calc(100% - 2 * var(--px-gutter)),1440px);margin-inline:auto}.px-footer-lead{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3rem;padding-bottom:clamp(5rem,9vw,9rem)}.px-footer-lead small,.px-footer-contact small{color:rgba(249,248,245,.5);font-size:10px;letter-spacing:.12em}.px-footer-lead h2{max-width:1000px;margin:1rem 0 0;color:var(--px-paper)!important;font-family:'Haffer XH',Haffer,sans-serif!important;font-size:clamp(48px,7vw,112px)!important;font-weight:500!important;line-height:.9!important;letter-spacing:-.06em!important}.px-footer-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(1.5rem,4vw,4rem);border-top:1px solid rgba(249,248,245,.2)}.px-footer-groups details{padding:1.5rem 0 2.5rem;border-bottom:1px solid rgba(249,248,245,.2)}.px-footer-groups summary{display:flex;justify-content:space-between;margin-bottom:1.3rem;color:rgba(249,248,245,.5);font-size:10px;letter-spacing:.1em;list-style:none;text-transform:uppercase}.px-footer-groups summary i{display:none;font-style:normal}.px-footer-groups ul{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.px-footer-groups a{display:flex;justify-content:space-between;gap:.5rem;font-size:12px;color:rgba(249,248,245,.8)}.px-footer-groups a i{opacity:0;font-style:normal;transition:opacity .2s ease}.px-footer-groups a:hover i{opacity:1}.px-footer-contact{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;padding-block:clamp(4rem,8vw,8rem)}.px-footer-contact>div>a{display:inline-block;border-bottom:1px solid rgba(249,248,245,.25);font-size:clamp(32px,5vw,88px);line-height:1;letter-spacing:-.055em}.px-footer-contact p{max-width:570px;margin:2rem 0 0;color:rgba(249,248,245,.45);font-size:10px;line-height:1.7}.px-footer-contact nav{display:flex;gap:1.5rem}.px-footer-contact nav a{font-size:12px}.px-footer-spline{width:min(calc(100% - 2 * var(--px-gutter)),1440px);aspect-ratio:16/6;max-height:520px;margin:0 auto clamp(4rem,8vw,8rem);overflow:hidden;border:1px solid rgba(249,248,245,.14);border-radius:var(--px-radius)}.px-footer-spline img{width:100%;height:100%;object-fit:cover}.px-footer-word{display:flex;justify-content:space-between;font-family:'Haffer XH',Haffer,sans-serif;font-size:clamp(100px,18vw,285px);font-weight:600;line-height:.68;letter-spacing:-.1em;white-space:nowrap}.px-footer-word span:last-child{color:var(--px-coral)}.px-footer-legal{min-height:90px;display:flex;align-items:center;gap:2rem;border-top:1px solid rgba(249,248,245,.2);color:rgba(249,248,245,.5);font-size:10px}.px-footer-legal p{margin:0}.px-footer-legal a{margin-left:auto}
@media(max-width:1100px){.px-desktop-nav{display:none}.px-actions{margin-left:auto}.px-menu-toggle{display:grid}.px-footer-groups{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--px-header:66px}.px-announcement{justify-content:space-between;font-size:10px}.px-language,.px-header>.px-actions>.px-quote{display:none}.px-brand{font-size:24px}.px-shell.px-compact .px-header{height:var(--px-header)}.px-mobile-menu{inset:calc(31px + var(--px-header)) 0 0}.px-footer-lead,.px-footer-contact{grid-template-columns:1fr;align-items:start}.px-footer-lead>.px-quote{width:100%}.px-footer-groups{grid-template-columns:1fr}.px-footer-groups details{padding:1.2rem 0}.px-footer-groups summary{margin:0;cursor:pointer}.px-footer-groups summary i{display:block}.px-footer-groups details[open] summary{margin-bottom:1.2rem}.px-footer-spline{aspect-ratio:4/5}.px-footer-word{display:grid;font-size:30vw}.px-footer-legal{min-height:0;align-items:flex-start;flex-direction:column;gap:.6rem;padding-block:1.5rem}.px-footer-legal a{margin:0}.sidebar-sub-menu-wrap{position:static!important;width:100%!important;max-height:none!important;overflow:visible!important}.px-voice{right:.75rem;bottom:.75rem}body h1{font-size:clamp(44px,14vw,86px)!important}}
@media(max-width:480px){.px-announcement>span{display:none}.px-mobile-menu>div{width:calc(100% - 1.5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.px-page-loader{display:none!important}.px-reveal{opacity:1!important;transform:none!important;transition:none!important}.px-shell *,.px-footer *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.px-footer-spline{position:relative;background:var(--px-ink)}
.px-footer-spline img,.px-footer-spline canvas{width:100%;height:100%;position:absolute;inset:0}
.px-footer-spline img{object-fit:cover;opacity:1;transition:opacity .5s ease}
.px-footer-spline canvas{opacity:0;transition:opacity .5s ease}
.px-footer-spline.px-spline-loaded img{opacity:0}
.px-footer-spline.px-spline-loaded canvas{opacity:1}

/* The page-load curtain. Webflow ships it as position:fixed;inset:0, so on the
   home page it covered the whole viewport — navigation included — until its
   animation finished, and the first thing a visitor saw had no header in it.
   Starting it below the header leaves the announcement bar and navbar painted
   from the first frame and curtains only the content area. The header already
   outranks it on z-index (2147480000 vs 9999); this is about the area it
   covers, not the order it paints in. */
.preloader{inset:calc(31px + var(--px-header)) 0 0 !important}
@media(max-width:760px){.preloader{inset:calc(31px + var(--px-header)) 0 0 !important}}
