html body .sec_k,html body .sp_k,html body .eyebrow,html body .ftr_h,html body .pr_pub,html body .art-cap,html body .fgrp{text-transform:none;letter-spacing:.02em}@media(min-width:1061px){html body .hdr .dd .dd_menu.sv_menu{opacity:0;visibility:hidden;translate:0 -6px!important;animation:none!important;transition:opacity .14s cubic-bezier(.22,1,.36,1),translate .14s cubic-bezier(.22,1,.36,1),visibility 0s linear .14s!important}html body .hdr .dd .dd_menu.sv_menu.is-open{opacity:1;visibility:visible;translate:0 0!important;transition:opacity .18s cubic-bezier(.22,1,.36,1),translate .18s cubic-bezier(.22,1,.36,1),visibility 0s!important}html body .hdr .dd .dd_btn:after{transition:transform .18s cubic-bezier(.22,1,.36,1)!important}}@media(min-width:1061px)and (prefers-reduced-motion:reduce){html body .hdr .dd .dd_menu.sv_menu,html body .hdr .dd .dd_menu.sv_menu.is-open,html body .hdr .dd .dd_btn:after{transition:none!important;translate:none!important}}html,html body a,html body button{-webkit-tap-highlight-color:transparent}html body :is(a,button).btn.btn.btn.btn,html body .menu-btn.menu-btn.menu-btn.menu-btn{transition:background-color .15s cubic-bezier(.23,1,.32,1),color .15s cubic-bezier(.23,1,.32,1),border-color .15s cubic-bezier(.23,1,.32,1),box-shadow .15s cubic-bezier(.23,1,.32,1),scale .26s cubic-bezier(.34,1.56,.64,1)!important}html body :is(a,button).btn.btn.btn.btn:active,html body .menu-btn.menu-btn.menu-btn.menu-btn:active{scale:.97;transform:translate3d(var(--mx,0),var(--my,0),0)!important;transition:background-color .15s cubic-bezier(.23,1,.32,1),color .15s cubic-bezier(.23,1,.32,1),border-color .15s cubic-bezier(.23,1,.32,1),box-shadow .15s cubic-bezier(.23,1,.32,1),scale .1s ease-out!important}html body .hero .art{transition:transform .26s cubic-bezier(.34,1.56,.64,1)}html body .hero .art.is-press{transform:scale(.97) rotate(-1deg);transition:transform .1s ease-out}@media(hover:none){html body .btn.btn-ghost:not(.hdr .btn-ghost):hover{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px #86859b!important}html body .btn.btn-ghost.btn-ghost.btn-ghost:active:active{background:#522678!important;color:#fff!important;box-shadow:inset 0 0 0 1.5px #522678!important}}@media(prefers-reduced-motion:reduce){html body :is(a,button).btn.btn.btn.btn:active,html body .menu-btn.menu-btn.menu-btn.menu-btn:active{scale:none}html body .hero .art.is-press{transform:none}}html body .hdr .logo img{zoom:1.1}@media(min-width:1061px){html body .hdr .nav>a,html body .hdr .dd_btn,html body .hdr .hdr_cta{position:relative;top:-1px}}html body #services .rows .row{grid-template-columns:minmax(0,1fr)!important;row-gap:8px}html body #services .rows .row>*{grid-column:1/-1!important;margin-left:0!important;padding-left:0!important}html body #services .rmx1{display:block;margin-top:28px;font-size:var(--fs-small);line-height:1.6;color:var(--ink2)}@media(min-width:769px){html body .pin.pin[data-pin]:after{display:block!important;height:100svh!important}}.hdr_end{display:none}@media(min-width:1061px){html body .hdr .hdr_end{display:flex;align-items:center;justify-self:end;gap:18px}html body .hdr .hdr_end .hdr_cta{justify-self:auto}html body .hdr .hdr_login{font-size:13.5px;font-weight:400;color:var(--ink2);padding:8px 0 8px 18px;border-left:1px solid var(--rule2,#c6c6d8);line-height:1;white-space:nowrap;text-decoration:none;position:relative;top:-1px}html body .hdr .hdr_login:hover{color:var(--ink)}html body .hdr .hdr_login:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}html body .hdr .nav .nav_quiet{display:none!important}}@media(max-width:1060px){html body .hdr #nav .nav_quiet{display:block;order:99;margin-top:18px!important;padding-top:18px;border-top:1px solid var(--rule,#e3e3ee);font-size:17px!important;font-weight:400!important;color:var(--ink2)!important}html body .hdr #nav .nav_ctas{margin-top:auto!important}}@media(min-width:1000px){html body .ftr .ftr_top{grid-template-columns:minmax(220px,1fr) repeat(4,max-content)!important;column-gap:clamp(40px,4.6vw,72px)!important;align-items:start}html body .ftr .ftr_brand{padding-right:clamp(0px,3vw,48px)}html body .ftr .ftr_tag{max-width:34ch}html body .ftr .ftr_h{margin:0 0 12px;line-height:20px;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--ink)}html body .ftr .ftr_logo{display:block;height:20px;margin-bottom:12px}html body .ftr .ftr_logo img{height:20px;width:auto}}@media(min-width:1000px)and (max-width:1199px){html body .ftr .ftr_top{grid-template-columns:repeat(4,max-content)!important;justify-content:space-between;row-gap:40px!important}html body .ftr .ftr_brand{grid-column:1/-1;padding-right:0}html body .ftr .ftr_tag{max-width:60ch}}html body .lead.lead_x{margin-top:24px}@media(max-width:1060px){html body .hdr #nav .dd_menu.sv_menu:not(.is-open){grid-template-rows:0fr 0fr!important}html body .hdr #nav .dd_menu.sv_menu:not(.is-open)>*{min-height:0;overflow:hidden}}@media(max-width:1060px){html body .hdr #nav .dd_menu.sv_menu:not(.is-open)>*{padding-block:0!important;margin-block:0!important;border-width:0!important}}html body .form_note{margin-top:14px;font-size:var(--fs-small);line-height:1.5;color:var(--ink2)}

/* form status: flush with text column, consistent inset */
html body .fstatus.ok,html body .fstatus.bad,html body .fstatus.info{box-shadow:none!important;margin-left:0!important;border-left:3px solid var(--fs-edge)!important;background:var(--fs-tint)!important;padding:14px 18px 14px 15px!important;border-radius:0 var(--r-sm) var(--r-sm) 0!important}
html body .cc_mail{margin-left:0!important;padding-left:0!important}

/* align audit */
html body .cc .h1+.lead{margin-top:24px}
@media (max-width:767px){html body .lg-hero .h1{margin-bottom:0}}
html body .band--pub .bp_txt>.h2{margin-bottom:16px}
@media (max-width:1023px){html body form.form select{font-size:16px;line-height:24.8px}}
html body .ab_l .lead.ab_fact{margin-top:0;font-weight:400;letter-spacing:normal;max-width:19em}


/* home What We Do petals (P2 pastel) */
html body #services{position:relative;overflow:clip;isolation:isolate}
html body #services .wwd_pet{position:absolute;pointer-events:none;z-index:-1;top:10px;right:-170px;width:600px;aspect-ratio:1}
html body #services .wwd_pet img{display:block;width:100%;height:100%;opacity:.38}
@media (max-width:959px){html body #services .wwd_pet{width:150px;top:-30px;right:-62px}}

@media (min-width:960px){html body #services .wwd_pet{width:min(600px,calc(100vw - 600px))}}
@media (max-width:380px){html body #services .wwd_pet{width:120px}}

html body .demo_assure{list-style:none;margin:20px 0 0;padding:0;max-width:44ch;font-size:var(--fs-small);line-height:var(--lh-small,1.6);color:var(--ink2)}
html body .demo_assure li{margin:0;padding:0}
html body .demo_assure li+li{margin-top:6px}

/* focus: no ring on programmatic/mouse focus; keyboard ring via :focus-visible */
html body [tabindex="-1"]:focus,html body [tabindex="-1"]:focus-visible,html body h1:focus,html body h2:focus,html body h3:focus,html body legend:focus,html body .fstatus:focus,html body main:focus{outline:none!important;box-shadow:none}
html body :is(a,button,summary,[role=button],.rc_w,label):focus:not(:focus-visible){outline:none!important}
html body :is(a,button,summary,[role=button]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}

/* ux follow-up */
@media (min-width:1061px){html body #what-we-do.flow{padding-block:18svh!important}html body #press.pstrip{padding-block:56px!important}}
html body form.form>.cf-turnstile{margin-block:0 -24px}
html body .cc_side{display:flex;flex-direction:column;gap:24px}
@media (min-width:900px){html body .cc_side{position:sticky;top:96px;align-self:start}}
@media (max-width:899px){html body .cc_side .cc_mail{margin-top:0}}
html body .ix_n{color:var(--ink2)}
html body .topics.ixl label.ix:has(input:checked) .ix_n{color:#fff}
@media (max-width:767px){
html body .ck{padding:12px 14px!important}
html body .ck .ck-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html body .ck p{font-size:13px;line-height:1.4}
html body .ck .ck_btns{grid-template-columns:1fr 1fr auto!important;align-items:center;margin-top:8px!important}
html body .ck .ck_btns .btn-ck[data-ck=manage]{background:none!important;box-shadow:none!important;border:0!important;padding:0 4px!important;min-height:44px;text-decoration:underline;text-underline-offset:3px;color:var(--ink)!important;font-weight:500}
}
@media (max-width:1060px){
html body .crumbs a{display:inline-flex;align-items:center;min-height:44px}
html body .legal p a,html body main p a.tlink{padding-block:10px;margin-block:-10px}
html body .pstrip a{display:inline-flex;align-items:center;min-height:44px}
}
html body .crumbs ol{align-items:center}html body .crumbs li{display:inline-flex;align-items:center;min-height:44px;line-height:1.4;padding:0;margin:0}html body .crumbs li+li:before{display:inline-block;line-height:inherit}html body .crumbs a,html body .crumbs [aria-current]{display:inline-flex;align-items:center;min-height:44px;line-height:1.4;padding:0;vertical-align:baseline;text-underline-offset:.2em}@media(max-width:768px){html body .hero .art .petals{display:none!important}html body .hero .art .sleeve{opacity:1!important;visibility:visible!important;translate:-6% 0 40px!important;rotate:-3deg!important}html body .hero .art .rec{translate:26% 0 0!important}}@media(hover:none){html .wm:active,html .wm:focus,html .wm.is-tapped{opacity:1;color:var(--accent)!important}html .wm:focus:not(:focus-visible){outline:none}html .wm{-webkit-tap-highlight-color:transparent}}@media(min-width:1061px){html body .hdr .nav>a.nav_login{display:none!important}}html body .hero .art.art .petals{visibility:hidden!important}@media(min-width:769px){html body .hero .art.art .sleeve{translate:-6% 0 40px!important;rotate:-3deg!important;opacity:1!important;visibility:visible!important}html body .hero .art.art .sleeve{z-index:2}html body .hero .art.art .rec{translate:var(--h6x,-6%) 0 0!important;z-index:1}html body .hero .art.art .rec.rec-f{translate:var(--h6x,-6%) 0 41px!important;opacity:var(--h6o,0)!important;scale:var(--h6s,.9707)!important;filter:drop-shadow(0 calc(var(--h6l,0)*18px + 6px) calc(var(--h6l,0)*22px + 10px) rgba(0,0,0,.22));pointer-events:none;z-index:3}}@media(max-width:768px){html body .hero .art .rec-f{display:none!important}}@media(min-width:769px) and (prefers-reduced-motion:reduce){html body .hero .art.art{--h6x:22%;--h6o:1}}@media(min-width:1061px) and (max-width:1365px){html body .hero .art.art{translate:-32px 0}}html body .ftr_sl[hidden]{display:none!important}@media(max-width:768px){html body .ck{background:var(--bg)!important}}#who .wrow_l2{display:inline-block;margin-top:calc(-1 * var(--s4) + 4px);margin-bottom:var(--s2);font-weight:500;font-size:max(var(--fs-small),14px);color:var(--ink2)}#who .wrow_l2{padding-block:11px;min-height:44px;box-sizing:border-box;margin-top:calc(-1 * var(--s4) + 4px - 11px);margin-bottom:calc(var(--s2) - 11px)}
@media (min-width:601px){.ck .ck_btns .btn-ck{white-space:nowrap}.ck .ck_btns{grid-template-columns:1fr 1fr max-content!important}}
@media(max-width:899px){.s1_card>.s1_art{width:100%;min-height:0;justify-self:stretch}}
/* smooth-1: header glass. No backdrop pass while unscrolled (none instead of blur(0px)) and no backdrop-filter transition; the tint still fades */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){html .hdr.hdr.hdr:not(.is-scrolled){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html .hdr.hdr.hdr{transition:background-color .3s var(--ease-out),box-shadow .3s var(--ease-out)!important}}
/* smooth-1: containment, nothing animated can paint outside its section horizontally */
main section{overflow-x:clip}
/* boost: touch targets reach 44px without moving layout */
@media(pointer:coarse){html body .row_t>a,html body .pr_wm a.wm{padding-block:10px;margin-block:-10px}html body .pr_wm a.wm{padding-block:12px;margin-block:-12px}html body .hdr .logo:after{content:"";position:absolute;inset:-6px -4px}html body .lg-toc>summary{padding-block:11px;margin-block:-11px}html body .lg-toc a{min-height:44px;display:flex;align-items:center}}
/* boost: one mobile H2 size (FAQ and section headings matched 28.5px rest of site) */
@media(max-width:600px){html body main h2.h2.h2,html body main h2.qa-q.qa-q{font-size:clamp(1.625rem,1.05rem + 3vw,2rem)!important;line-height:1.15}}
/* boost: form fields share the 6px control radius */
html body main input:not([type=checkbox]):not([type=radio]),html body main select,html body main textarea{border-radius:6px}
main>section.band:last-of-type{margin-bottom:48px}@media(min-width:900px){main>section.band:last-of-type{margin-bottom:72px}}/* boost: legal contents numbers reach 4.5:1 */
html body .lg-toc a span{color:rgba(82,38,120,.8)}
/* boost: glossary popover (tap, click, keyboard, hover) */
html.gl-js .gl:after{display:none!important}
html.gl-js .gl{cursor:pointer;padding-block:12px;margin-block:-12px;-webkit-tap-highlight-color:transparent;text-decoration-thickness:1.5px}
html.gl-js .gl[aria-expanded=true]{text-decoration-color:var(--accent,#522678);text-decoration-style:solid}
.gl-pop{position:absolute;z-index:150;box-sizing:border-box;width:max-content;padding:14px 16px;border-radius:var(--r-sm,12px);background:#fff;color:var(--ink,#1b1b1b);box-shadow:var(--lg-rim,inset 0 1px #fff9),0 0 0 1px #1b1b1b0f,0 6px 16px -10px #1b1b1b40,0 18px 40px -16px #1b1b1b33;font-size:var(--fs-small,.9375rem);line-height:1.5;font-weight:400;text-align:left;opacity:0;transform:translateY(4px);transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}
.gl-pop[data-side=above]{transform:translateY(-4px)}
.gl-pop.is-open{opacity:1;transform:none}
.gl-pop[hidden]{display:none}
.gl-pop_t{margin:0}
.gl-pop_a{display:inline-flex;align-items:center;min-height:44px;margin:4px 0 -10px;font-weight:600;color:var(--accent,#522678);text-decoration:underline;text-underline-offset:3px}
.gl-pop_a[hidden]{display:none}
.gl-pop_a:focus-visible{outline:2px solid var(--focus,#522678);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){.gl-pop,.gl-pop[data-side=above]{transition:none;transform:none}}
@media(prefers-contrast:more){.gl-pop{box-shadow:0 0 0 1px #1b1b1b}}
