/* css/base.css */
:root{--purple:#904FFF;--purple-deep:#7A00DF;--plum:#3A2364;--plum-rgb:58 35 100;--lavender:#D3B9FF;--pale:#F4EDFF;--blue:#0B5FFF;--blue-deep:#0040C4;--blue-rgb:11 95 255;--black:#000000;--white:#FFFFFF;--slate:#212934;--gray:#333333;--ash:#4A4E57;--offwhite:#F9F9FB;--mist:#EFEFF2;--haze:#F4F4F7;--line:#E2E2E2;--scroll-thumb:#8F86A8;--ink:#14161A;--ink-rgb:20 22 26;--green:#65BC7B;--red:#CF2E2E;--red-bg:#FDECEC;--red-ink:#8E1B1B;--mark-bg:#FFF3C4;--mark-ink:var(--slate);--d-brand:#904FFF;--d-brand-rgb:144 79 255;--d-digital:#2F6BE3;--d-digital-rgb:47 107 227;--d-b2b:#14897A;--d-b2b-rgb:20 137 122;--d-content:#E8632F;--d-content-rgb:232 99 47;--d-pr:#E0407A;--d-pr-rgb:224 64 122;--d-media:#F0A81E;--d-media-rgb:240 168 30;--ag-connect:#EE9A1A;--ag-bcwebwise:#E8B800;--ag-span:#ED6501;--ag-asiaworks:#F29118;--ag-gvn:#7B61F0;--ag-brandigo:#1B3263;--ag-brew:#2FA6D6;--ag-m2:#DA6230;--ag-unicom:#D9191C;--ag-custommedia:#C9A266;--ag-dpr:#2A2A2A;--ag-harper:#2FB8E6;--e-watch:#0F9BC7;--e-watch-rgb:15 155 199;--e-tools:#1BA85C;--e-tools-rgb:27 168 92;--e-network:#C733D9;--e-network-rgb:199 51 217;--k-place:#12A594;--k-place-rgb:18 165 148;--k-route:#C96A1B;--k-route-rgb:201 106 27;--globe-land:#C3C8D6;--globe-apac:#6E93D6;--globe-ocean:#E9EDF6;--globe-grat:#DBE3F1;--globe-limb:#E1E5EE;--pin-active:#0A8A4F;--pin-active-ink:#064E2C;--pin-hover-ink:#0B6B3E;--ramp:linear-gradient(90deg,#3A2364,#7A00DF,#904FFF);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:28px;--s8:32px;--s9:36px;--s10:40px;--s11:44px;--s12:48px;--s13:52px;--s14:56px;--sec-sm:clamp(40px, 4.4vw, 64px);--sec:clamp(56px, 6.6vw, 96px);--sec-lg:clamp(72px, 8.4vw, 120px);--surface:var(--white);--surface-alt:var(--offwhite);--ease:cubic-bezier(.2,.7,.3,1);--dur-line:260ms;--u-h:2px;--u-gap:3px;--r-sharp:0px;--r-sm:4px;--r-ctl:12px;--r-md:16px;--r-lg:24px;--r-pill:999px;--e-subtle:0 1px 2px rgba(20,22,26,.04),0 4px 12px -4px rgba(20,22,26,.07);--e-card:0 1px 2px rgba(20,22,26,.03),0 8px 32px -8px rgba(20,22,26,.10);--e-card-tint:0 1px 2px rgba(58,35,100,.05),0 8px 32px -8px rgba(58,35,100,.16);--e-high:0px 8px 24px rgba(0,0,0,.12);--e-max:0px 12px 32px rgba(0,0,0,.16);--e-panel:0 0 0 1px rgb(var(--ink-rgb) / .06),0 2px 4px rgb(var(--ink-rgb) / .04),0 12px 24px -8px rgb(var(--ink-rgb) / .08),0 32px 64px -24px rgb(var(--ink-rgb) / .14);--e-media:0 1px 2px rgb(var(--ink-rgb) / .05),0 6px 16px -6px rgb(var(--ink-rgb) / .10);--e-media-in:inset 0 0 0 1px rgb(var(--ink-rgb) / .07),inset 0 1px 2px rgb(var(--ink-rgb) / .04);--e-media-panel:0 2px 4px rgb(var(--ink-rgb) / .04),0 12px 24px -8px rgb(var(--ink-rgb) / .08),0 32px 64px -24px rgb(var(--ink-rgb) / .14);--focus-w:2px;--focus-c:var(--purple-deep);--focus-off:2px;--focus-in:-2px;--z-base:2;--z-dropdown:99;--z-header:100;--z-modal:2000;--panel-w:520px;--font:'Libre Franklin',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--mono:ui-monospace,Consolas,'SF Mono',monospace;--ac:var(--purple);--hdr-peek:0px;--hdr-peek-t:160ms cubic-bezier(.4,0,1,1)}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--white);color:var(--slate);font-family:var(--font);font-size:18px;font-weight:400;line-height:27px}img{max-width:100%}button{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:var(--focus-w) solid var(--focus-c);outline-offset:var(--focus-off)}h1,h2,h3,h4{color:var(--black);letter-spacing:0;text-wrap:balance;font-weight:600}.t-display{font-size:clamp(48px,6.4vw,72px);font-weight:400;line-height:1;letter-spacing:-.02em}.t-h2{font-size:clamp(36px,4.4vw,56px);font-weight:500;line-height:1.1;letter-spacing:-.015em}.t-h3{font-size:30px;font-weight:500;line-height:37.5px;letter-spacing:-.01em}.t-h4{font-size:22px;font-weight:500;line-height:27.5px}.t-body{font-size:18px;font-weight:400;line-height:27px}.t-meta{font-size:12px;font-weight:400;line-height:18px}.mono{font-family:var(--mono);font-size:13px;line-height:19.5px}.eyebrow{font-size:12px;line-height:18px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}.lede{font-size:18px;line-height:27px;color:var(--gray)}.muted{color:var(--gray)}.nb{white-space:nowrap}.blurb,.btn,.grid-empty,.lede,.loc,.note,.pop-hint,.related-t b,.related-t span,.stat dt,.tagline,h1,h2,h3,h4,li{text-wrap:balance}blockquote,dd,figcaption,p{text-wrap:pretty}.wrap{max-width:1400px;margin:0 auto;padding:0 var(--s6)}.section{padding:var(--sec) 0}.section-tight{padding:var(--sec-sm) 0}.stack-sm>*+*{margin-top:var(--s3)}.stack>*+*{margin-top:var(--s4)}.btn{display:inline-block;position:relative;overflow:hidden;isolation:isolate;padding:12px 20px;font-family:var(--font);font-size:16px;font-weight:500;line-height:normal;border:0;border-radius:var(--r-pill);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s ease-in-out,color .2s ease-in-out,transform 180ms cubic-bezier(.2,.7,.3,1),box-shadow 220ms cubic-bezier(.2,.7,.3,1)}.btn-fill::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fill);transform:scaleX(0);transform-origin:left center;transition:transform 380ms cubic-bezier(.2,.7,.3,1)}.btn-fill:focus-visible::before,.btn-fill:hover::before{transform:scaleX(1)}.btn-fill:focus-visible,.btn-fill:hover{transform:translateY(-1px);box-shadow:var(--lift)}.btn-fill:active{transform:translateY(0);box-shadow:none;transition-duration:80ms}.btn-primary{background:var(--purple-deep);background:color-mix(in srgb,var(--purple) 80%,var(--purple-deep));color:var(--white);--fill:var(--purple-deep);--lift:0 6px 16px rgba(122,0,223,.34)}.btn-primary:hover{color:var(--white)}.btn-primary:active{background:var(--plum)}.btn-neutral{background:var(--ink);color:var(--white);--fill:var(--plum);--lift:0 6px 16px rgba(58,35,100,.34)}.btn-neutral:focus-visible,.btn-neutral:hover{color:var(--white)}.btn-neutral:active{background:var(--plum)}.btn-secondary{background:var(--lavender);color:var(--plum);border:0;padding:12px 20px;--fill:color-mix(in srgb,var(--lavender) 84%,var(--plum));--lift:0 6px 16px rgba(122,0,223,.18)}.btn-secondary:hover{color:var(--plum)}.btn-secondary:active{background:#bba1e6;background:color-mix(in srgb,var(--lavender) 84%,var(--plum));color:var(--plum)}.btn-on-dark{background:var(--white);color:var(--plum);--fill:var(--lavender);--lift:0 6px 18px rgba(0,0,0,.28)}.btn-on-dark:hover{color:var(--plum)}.btn-on-dark-ghost{background:rgba(255,255,255,.16);color:var(--white);border:0;padding:12px 20px;--fill:rgba(255,255,255,.28);--lift:0 6px 18px rgba(0,0,0,.28)}.btn-on-dark-ghost:hover{color:var(--white)}.btn-ghost,.footer-col a,.footer-legal a,.link,.u-line{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0 var(--u-h);background-position:100% 100%;transition:background-size var(--dur-line) var(--ease),color 180ms ease-in-out}.btn-ghost:focus-visible,.btn-ghost:hover,.footer-col a:focus-visible,.footer-col a:hover,.footer-legal a:focus-visible,.footer-legal a:hover,.link:focus-visible,.link:hover,.u-line:focus-visible,.u-line:hover{background-size:100% var(--u-h);background-position:0 100%}.u-sweep{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0 var(--u-h);background-position:100% 100%;transition:background-size var(--dur-line) var(--ease)}.btn-ghost{background-color:transparent;color:var(--purple);border-radius:var(--r-sharp);padding:12px 0;white-space:normal}.btn-ghost:hover{color:var(--blue-deep)}a{color:var(--purple)}.link{color:var(--purple);font-weight:500}.ac-linkbtn{background:0 0;border:0;padding:0;font:inherit;cursor:pointer}.btn-ghost.ac-linkbtn{padding:0}.link:hover{color:var(--blue-deep)}.link:active{color:var(--plum)}.card{background:var(--haze);border:0;border-radius:var(--r-lg);padding:var(--s6)}.profile-side .card{border-radius:var(--r-md);padding:var(--s5)}.card-tinted{background:var(--pale);border:0;border-radius:var(--r-lg);padding:var(--s6)}.tile{position:relative;overflow:hidden;flex:none;display:grid;place-items:center;background:var(--ac);color:var(--white);font-weight:600;letter-spacing:.02em;border-radius:25%}.tile-xs{width:32px;height:32px;font-size:11px}.tile-sm{width:48px;height:48px;font-size:15px}.tile-md{width:56px;height:56px;font-size:18px}.tile-lg{width:72px;height:72px;font-size:24px}.related-item .tile{border-radius:var(--r-sm)}@supports (corner-shape:superellipse(1.4)){html[data-ui=round]{--r-lg:22px}html[data-ui=round] .tile,html[data-ui=round] .ui-sm{corner-shape:superellipse(1.4)}html[data-ui=round] .tile{border-radius:31%}html[data-ui=round] .related-item .tile{border-radius:var(--r-sm)}html[data-ui=round] .p5-closer .tile{border-radius:31%}html[data-ui=round] :is(.mv-col,.pcard,.pcard-media,.hub-rail,.nx-card,.nx-link,.nw-follow,.mnotes-box,.mnotes-pick,.hub-row-media,.nw-mark,.nw-chip,.nw-fit){corner-shape:superellipse(1.4)}}html[data-ui=round] .nw-mark:not(.is-xl){border-radius:31%}html[data-ui=round] .nw-chip{border-radius:var(--r-ctl)}html[data-ui=round] .nw-fit[data-bg]{border-radius:8px}.logoimg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--white);padding:8%}.tile:has(.logoimg){background:var(--white)}.logoimg-onbg{background:var(--markbg,var(--plum))}.tile:has(.logoimg-onbg){background:var(--markbg,var(--plum))}.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s4);margin-top:var(--s5)}.work-item{margin:0;overflow:hidden;border-radius:var(--r-md);background:var(--offwhite);border:1px solid var(--line)}.work-item img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 320ms cubic-bezier(.2,.7,.3,1)}.work-item:hover img{transform:scale(1.03)}.work-credit{margin-top:var(--s3);color:var(--ash);font-size:13px;line-height:20px}.work-grid:not(.is-open)>:nth-child(n+7){display:none}.work-more{margin-top:var(--s4);padding:11px 19px;font:inherit;font-size:14px;line-height:20px;color:var(--black);background:var(--mist);border:0;border-radius:var(--r-pill);cursor:pointer;transition:background 160ms,color 160ms}.work-more:hover{background:var(--pale);color:var(--plum)}.place-sub{margin-top:var(--s10);padding-top:var(--s6);border-top:1px solid var(--line)}.place-head{margin:0 0 var(--s4);color:var(--ash);font-size:13px;line-height:20px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.place-strip{display:flex;flex-wrap:wrap;gap:var(--s3)}.place-strip .work-item{flex:0 0 auto;width:200px}.place-strip .work-item img{aspect-ratio:16/10;height:auto}@media (max-width:560px){.place-strip .work-item{width:calc(50% - var(--s3)/ 2)}}.tags{display:flex;flex-wrap:wrap;gap:var(--s2)}.tag-more{color:var(--ash);cursor:default}.tag{background:var(--mist);color:var(--gray);font-size:14px;line-height:normal;font-weight:400;border-radius:var(--r-pill);padding:7px 15px}.tag-sm{font-size:12px;padding:4px 12px}.tag-btn{appearance:none;cursor:pointer;background:var(--mist);border:1px solid transparent;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out}.tag-btn:hover{background:var(--pale);color:var(--plum)}.tag-btn:active{background:var(--purple);color:var(--white)}.kv{display:grid;gap:var(--s3)}.kv-row{display:flex;gap:var(--s4);align-items:baseline;font-size:16px;line-height:24px}.kv-k{color:var(--gray);flex:none;width:108px;font-size:14px}.kv-v{color:var(--black);font-weight:500}.site-header{background:var(--white)}.site-header .wrap{min-height:72px;display:flex;align-items:center;gap:var(--s5)}.brand{display:inline-flex;align-items:center;min-height:44px}.brand img{display:block;height:32px;width:auto}.site-header .btn{margin-left:auto}.ins-nav{display:flex;gap:var(--s6);margin-left:var(--s8);margin-right:auto}.ins-nav a{color:var(--gray);font-size:15px;font-weight:500;text-decoration:none;padding:6px 0;transition:color 180ms ease-in-out,box-shadow 180ms ease-in-out}.ins-nav a:hover{color:var(--blue-deep)}.ins-nav a[aria-current=page]{color:var(--plum);box-shadow:inset 0 -2px 0 var(--purple)}.ins-nav a,.site-header .btn{white-space:nowrap;flex-shrink:0}@media (min-width:821px) and (max-width:1099px){.ins-nav{gap:var(--s4)}}@media (min-width:821px) and (max-width:979px){.ins-nav{gap:var(--s3);margin-left:var(--s5)}}@media (max-width:820px){.ins-nav{order:3;flex:1 0 100%;margin:0;gap:var(--s4);padding-top:var(--s2);border-top:1px solid var(--line);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.ins-nav::-webkit-scrollbar{display:none}.ins-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0;white-space:nowrap}}.membernav{display:grid;gap:var(--s3)}.site-footer{background:var(--plum);color:var(--lavender);position:relative}.footer-sun{height:4px;background:var(--ramp)}.site-footer .footer-top{display:flex;flex-wrap:wrap;gap:var(--s12) var(--s10);padding-top:var(--s12);padding-bottom:var(--s12)}.footer-brand{flex:1 1 300px;max-width:360px}.site-footer .brand{min-height:0}.site-footer .brand img{height:30px}.footer-blurb{color:var(--lavender);font-size:15px;line-height:24px;margin:var(--s5) 0 var(--s6)}.footer-cols{flex:2 1 480px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}.footer-h{color:var(--white);font-size:12px;line-height:18px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--s4)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li+li{margin-top:var(--s1)}.footer-col a{color:var(--lavender);font-size:16px;line-height:24px;display:inline-flex;align-items:center;min-height:32px;transition:color .2s ease-in-out,background-size var(--dur-line) var(--ease)}.footer-col a:hover{color:var(--white)}.site-footer .footer-base{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s6);padding-top:var(--s5);padding-bottom:var(--s6);border-top:1px solid rgba(255,255,255,.15)}.footer-note{color:var(--lavender);font-size:13px;line-height:20px;opacity:.85}.footer-legal{list-style:none;margin:0 0 0 auto;padding:0;display:flex;gap:var(--s5)}.footer-legal a{color:var(--lavender);font-size:13px;text-decoration:none;display:inline-flex;align-items:center;min-height:32px}.footer-legal a:hover{color:var(--white)}.masthead{position:relative;overflow:hidden;background:var(--plum);color:var(--white)}.masthead>*{position:relative}.masthead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ramp)}.masthead h1,.masthead h2{color:var(--white)}.masthead .crumb{font-size:12px;line-height:18px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--lavender)}.masthead .crumb a{position:relative;color:inherit;text-decoration:none;padding:12px 0;transition:color .2s ease-in-out}.masthead .crumb a::after{content:"";position:absolute;left:0;right:.14em;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform 340ms cubic-bezier(.2,.7,.3,1)}.masthead .crumb a:focus-visible,.masthead .crumb a:hover{color:var(--white)}.masthead .crumb a:focus-visible::after,.masthead .crumb a:hover::after{transform:scaleX(1);transform-origin:left center}.masthead .crumb [aria-current]{color:var(--white)}.masthead .tagline{color:var(--lavender);margin-top:var(--s4);max-width:46ch;font-size:18px;line-height:27px}.masthead .geo{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);margin-top:var(--s6);font-size:14px;color:var(--lavender)}.masthead .geo b{color:var(--white);font-weight:500}.masthead .actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s7)}.statbar{background:var(--pale);padding:var(--sec-sm) 0}.statbar-plain{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.statbar-plain .stat dd{color:var(--slate)}.statbar .wrap{padding-top:0;padding-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0}.stats-4{grid-template-columns:repeat(4,1fr)}.stats-4 .stat dd{font-size:clamp(20px,1.9vw,26px);line-height:1.2;letter-spacing:0}.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:center;text-align:center;padding:0 var(--s5);border-left:1px solid var(--line)}.stat:first-child{border-left:0}.stat dd{margin:0;color:var(--plum);font-size:clamp(34px,3.2vw,44px);font-weight:500;line-height:1.05;text-wrap:balance;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat dt{margin-top:var(--s2);color:var(--gray);font-size:12px;line-height:18px;letter-spacing:.1em;text-transform:uppercase}.statbar.is-counted .stat dd{animation:620ms cubic-bezier(.2,.7,.3,1) backwards statrise}.statbar.is-counted .stat:first-child dd{animation-delay:0s}.statbar.is-counted .stat:nth-child(2) dd{animation-delay:90ms}.statbar.is-counted .stat:nth-child(3) dd{animation-delay:180ms}.statbar.is-counted .stat:nth-child(4) dd{animation-delay:270ms}.statbar.is-counted .stat:nth-child(5) dd{animation-delay:360ms}@keyframes statrise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hero{padding:var(--s12) 0 var(--s9);text-align:center}.hero .eyebrow{margin-bottom:var(--s4)}.hero h1{max-width:none}.hero h1 em{font-style:normal;color:var(--purple)}.hero .lede{margin:var(--s5) auto 0;max-width:60ch;font-size:20px;line-height:30px}.mapsec{padding:0 0 var(--s8)}.globe-wrap{position:relative;max-width:980px;margin:0 auto}.loaderr{padding:var(--s10) var(--s5);text-align:center;color:var(--gray);font-size:16px}.loaderr small{display:block;margin-top:var(--s2);color:var(--ash);font-size:14px}.globe{display:block;width:100%;height:auto;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.globe.is-dragging{cursor:grabbing}.globe.is-dragging .tag-agency,.globe.is-dragging .tag-text{opacity:0}.globe-limb{fill:none;stroke:var(--globe-limb);stroke-width:1}.graticule{fill:none;stroke:var(--globe-grat);stroke-width:1;stroke-linecap:round}.oceandots{fill:none;stroke:var(--globe-ocean);stroke-width:2.2;stroke-linecap:round}.oceandots.band-1{stroke-opacity:.5}.landdots,.landdots-apac{fill:none;stroke-width:2.8;stroke-linecap:round}.landdots{stroke:var(--globe-land)}.landdots-apac{stroke:var(--globe-apac)}.band-1{stroke-opacity:.72}.band-2{stroke-opacity:.44}.badge-dot{fill:var(--plum)}.marker{cursor:pointer;outline:0}.marker .core{transition:fill 180ms ease-out,r 180ms cubic-bezier(.2,.7,.3,1)}.marker .halo{opacity:0;transform:scale(.5);transform-origin:center;transform-box:fill-box;transition:opacity 240ms cubic-bezier(.2,.7,.3,1),transform 240ms cubic-bezier(.2,.7,.3,1)}.marker.is-open .core{fill:var(--pin-active);r:7.5;stroke:var(--white);stroke-width:2.5;paint-order:stroke fill}.marker.is-open .pulse{stroke:var(--pin-active)}.globe.has-open .marker:not(.is-open) .core{opacity:.45}.globe.has-open .marker:not(.is-open) .pulse{animation:none;opacity:0}.globe.has-open .marker:not(.is-open) .tag-text{opacity:.7}.marker.is-linked .halo,.marker:focus-visible .halo,.marker:hover .halo{opacity:.22;transform:scale(1)}.marker.is-open .halo{fill:var(--pin-active);opacity:.3;transform:scale(1)}.marker:focus-visible .core,.marker:hover .core{r:6.4}.marker:focus-visible .core{stroke:var(--plum);stroke-width:2}.marker .pulse{transform-origin:center;transform-box:fill-box;animation:2.8s ease-out infinite markerPulse}@keyframes markerPulse{0%{transform:scale(.45);opacity:.5}100%,70%{transform:scale(1.9);opacity:0}}.marker .tag-agency,.marker .tag-text{font-family:var(--font);font-size:13px;font-weight:500;fill:var(--plum);pointer-events:none;paint-order:stroke fill;stroke:var(--white);stroke-width:3px;stroke-linejoin:round;transition:fill 160ms ease-out,opacity 160ms ease-out}.marker .tag-agency{opacity:0}.marker.is-open .tag-text,.marker:focus-visible .tag-text,.marker:hover .tag-text{opacity:0}.marker.is-open .tag-agency,.marker:focus-visible .tag-agency,.marker:hover .tag-agency{opacity:1}.marker:focus-visible .tag-agency,.marker:hover .tag-agency{fill:var(--pin-hover-ink)}.marker.is-open .tag-agency{fill:var(--pin-active-ink);font-weight:600}.marker .badge-text{font-family:var(--font);font-size:10px;font-weight:600;fill:var(--white);pointer-events:none}.directory{padding:var(--sec) 0;background:var(--surface)}.directory-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s7)}.directory-head .count{align-self:center;color:var(--gray);font-size:14px}.sortbar{display:inline-flex;align-self:center;margin-left:auto;background:var(--mist);border-radius:var(--r-pill);padding:3px}.sort-btn{border:0;background:0 0;cursor:pointer;border-radius:var(--r-pill);padding:6px 14px;font-family:var(--font);font-size:14px;line-height:normal;color:var(--gray);transition:background-color .2s ease-in-out,color .2s ease-in-out}.sort-btn:hover{color:var(--plum)}.sort-btn.is-on{background:var(--white);color:var(--plum);font-weight:500;box-shadow:var(--e-subtle)}.filter-chip{display:inline-flex;align-items:center;gap:var(--s2);align-self:center;background:var(--lavender);border:0;border-radius:var(--r-pill);padding:7px 9px 7px 15px;color:var(--plum);font-size:14px;cursor:pointer;transition:background-color .2s ease-in-out}.filter-chip b{font-weight:500}.filter-chip svg{width:20px;height:20px;padding:4px;flex:none;border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;background:rgba(58,35,100,.08)}.filter-chip:hover{background:#bba1e6;background:color-mix(in srgb,var(--lavender) 84%,var(--plum))}.closer{border-top:0;padding:var(--sec-lg) 0;background:var(--surface-alt)}.closer .wrap{padding-top:0;padding-bottom:0;text-align:center}.closer-box{background:0 0;border:0;padding:0}.closer-p2{display:block}.closer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3) var(--s4);margin-top:var(--s8)}.closer .closer-actions .btn{margin-top:0;line-height:24px}.closer-facts{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--s6) clamp(40px,6vw,88px);width:fit-content;max-width:900px;margin:var(--s10) auto 0;min-width:min(320px,100%);padding-top:var(--s7);border-top:1px solid var(--line);text-align:left}.closer-facts:not(:has(.closer-fact + .closer-fact)){text-align:center;justify-content:center}.closer-fact{flex:0 1 auto;min-width:0}@media (max-width:719px){.closer-facts{flex-direction:column;align-items:flex-start;gap:var(--s5)}}.closer-fact dt{margin-bottom:var(--s2);color:var(--ash);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.closer-fact dd{margin:0;color:var(--slate);font-size:15px;line-height:23px}.closer-addr{color:var(--ash)}.closer h2{max-width:16ch;margin-inline:auto;font-weight:400;letter-spacing:-.02em}.closer-p{margin:var(--s5) auto 0;color:var(--gray);font-size:18px;line-height:27px;max-width:48ch}.closer .btn{margin-top:var(--s8);padding:15px 28px;font-size:18px}.closer .btn-fill:focus-visible,.closer .btn-fill:hover{transform:translateY(-2px)}.closer .btn-primary{--lift:0 12px 28px rgba(122,0,223,.28)}.closer .btn-neutral{--lift:0 12px 28px rgba(58,35,100,.28)}.closer .btn-on-dark{--lift:0 12px 30px rgba(0,0,0,.24)}.closer-note{margin:var(--s8) auto 0;padding-top:var(--s5);border-top:1px solid var(--line);max-width:62ch;color:var(--ash);font-size:14px;line-height:22px}.closer-note b{color:var(--gray);font-weight:600}.closer-brand{background:var(--purple-deep);color:var(--white)}.closer-brand h2{color:var(--white)}.closer-brand .closer-p{color:rgba(255,255,255,.86)}.closer-brand .closer-note,.closer-brand .closer-note b{color:rgba(255,255,255,.8)}.closer-brand .closer-note{border-top-color:rgba(255,255,255,.28)}.closer-brand .closer-note a{color:var(--white);text-decoration:underline;text-underline-offset:3px}.closer-brand :focus-visible{outline-color:var(--white)}.closer-brand .btn-on-dark{--fill:var(--ink);--lift:0 12px 30px rgba(0,0,0,.32)}.closer-brand .btn-on-dark:focus-visible,.closer-brand .btn-on-dark:hover{color:var(--white)}@media (prefers-reduced-motion:reduce){.closer-brand .btn-on-dark:focus-visible,.closer-brand .btn-on-dark:hover{background:var(--ink)}}.grid-empty{margin-top:var(--s6);color:var(--gray);font-size:16px}.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s5)}.join-card{order:999;display:flex;flex-direction:column;gap:var(--s4);background:var(--mist);border:0;border-radius:var(--r-lg);padding:var(--s6);text-decoration:none;transition:background-color .2s ease-in-out,transform .2s ease-in-out}.join-card:hover{background:#e6e6eb;transform:translateY(-2px)}.join-mark{width:44px;height:auto;margin-bottom:var(--s1)}.join-t{color:var(--black);font-size:20px;font-weight:500;line-height:26px}.join-p{color:var(--gray);font-size:16px;line-height:24px}.join-go{margin-top:auto;padding-top:var(--s4);color:var(--purple);font-size:16px;font-weight:500}.join-card:hover .join-go{color:var(--blue-deep)}.member-card{position:relative;display:flex;flex-direction:column;background:var(--haze);border:0;border-radius:var(--r-lg);padding:var(--s6);text-align:left;cursor:pointer;transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out,transform .2s ease-in-out}.member-card:focus-visible,.member-card:hover{background:var(--mist);box-shadow:var(--e-high);transform:translateY(-2px)}.member-card .tag{background:var(--white)}.member-card-top{display:flex;margin-bottom:var(--s4)}.member-card-id{display:block}.member-card h3{font-size:20px;font-weight:500;line-height:26px;text-wrap:balance}.member-card .loc{display:block;margin-top:2px;color:var(--gray);font-size:14px;line-height:21px}.member-card .blurb{margin-top:var(--s4);color:var(--gray);font-size:16px;line-height:24px;min-height:48px}.member-card .tags{margin-top:var(--s5);margin-bottom:var(--s4)}.member-card-foot{display:flex;align-items:center;margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--line)}.member-card-foot b{color:var(--purple);font-size:16px;font-weight:500}.member-card:hover .member-card-foot b{color:var(--blue-deep)}.member-card-foot .utc{display:none;margin-left:auto;color:var(--ash);font-size:12px}.member-grid.show-utc .member-card-foot .utc{display:block}.profile-mast{padding:var(--sec-sm) 0}.profile-mast .wrap{padding-top:0;padding-bottom:0}.profile-mast .mast-id{display:flex;align-items:center;gap:var(--s5);margin-top:var(--s6)}.profile-mast .mast-id h1{min-width:0}.profile-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;justify-content:space-between;gap:var(--s14);align-items:start;padding:var(--sec) var(--s6)}.profile-block{margin-bottom:var(--s14)}.profile-block:last-child{margin-bottom:0}.profile-block h2{margin:0 0 var(--s4);font-size:28px;font-weight:500;line-height:34px}.profile-lead h2{font-size:34px;line-height:42px;margin-bottom:var(--s5)}.profile-block p{max-width:66ch}.profile-block .tags,.profile-block p+p{margin-top:var(--s4)}.profile-side{position:sticky;top:91px;display:grid;gap:var(--s4)}.profile-side .card h3{font-size:14px;line-height:21px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--black)}.profile-side .kv{margin-top:var(--s4)}.disclaimer{color:var(--ash);font-size:12px;line-height:18px;max-width:66ch}.stats-2{grid-template-columns:repeat(2,1fr)}.stats-3{grid-template-columns:repeat(3,1fr)}.stats-words .stat dd{font-size:clamp(20px,1.9vw,26px);line-height:1.2;letter-spacing:0}.profile-mast .geo .geo-time{display:inline-flex;align-items:baseline;gap:6px}.profile-mast .geo .geo-time b{font-variant-numeric:tabular-nums;letter-spacing:.02em}.disc{margin-top:var(--s5)}.disc+.disc{margin-top:var(--s6)}.disc-h{margin:0 0 var(--s3);color:var(--black);font-size:15px;line-height:23px;font-weight:600;letter-spacing:0;text-transform:none}.clients{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s5)}.client{display:inline-flex;align-items:center;gap:var(--s2);min-height:36px;padding:6px 14px;border-radius:var(--r-pill);background:var(--mist);color:var(--slate);font-size:15px;line-height:22px}.client-has-mark{padding-left:10px}.client-mark{height:18px;width:auto;max-width:96px;object-fit:contain;flex:none;filter:grayscale(1);opacity:.72;transition:filter .2s,opacity .2s}.client:hover .client-mark{filter:none;opacity:1}.source-note{margin-top:var(--s4);color:var(--ash);font-size:12px;line-height:18px}.card-cta{box-shadow:var(--e-subtle)}.card-cta p{margin-top:var(--s3);color:var(--gray);font-size:15px;line-height:23px}.card-cta .btn{display:block;margin-top:var(--s5);text-align:center;white-space:normal}.card-cta .btn+.btn{margin-top:var(--s3)}.creds{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s3)}.creds li{position:relative;padding-left:var(--s5);color:var(--slate);font-size:15px;line-height:22px}.creds li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--ac)}.dirscroll{position:relative;margin:var(--s4) calc(var(--s5) * -1) 0}.dirscroll::after,.dirscroll::before{content:"";position:absolute;left:0;right:0;height:36px;z-index:1;pointer-events:none;opacity:0;transition:opacity 180ms ease-in-out}.dirscroll::before{top:0;background:linear-gradient(to bottom,#fff 20%,rgba(255,255,255,0))}.dirscroll::after{bottom:0;background:linear-gradient(to top,#fff 20%,rgba(255,255,255,0))}.dirscroll[data-down]::after,.dirscroll[data-up]::before{opacity:1}.dirlist{position:relative;max-height:366px;overflow-y:auto;overscroll-behavior:contain;padding-left:var(--s3);padding-right:var(--s3);scrollbar-width:none;-ms-overflow-style:none}.dirlist::-webkit-scrollbar{width:0;height:0}.dirrow{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:0 var(--s3);padding:var(--s2);border-radius:10px;text-decoration:none;transition:background-color 160ms ease-in-out}.dirrow+.dirrow{margin-top:2px}.dirrow .tile{grid-column:1;grid-row:1/span 2}.dirrow b{grid-column:2;display:block;color:var(--black);font-size:14px;font-weight:500;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dirrow span{grid-column:2;display:block;color:var(--gray);font-size:12px;line-height:18px}a.dirrow:hover{background:var(--pale)}a.dirrow:hover b{color:var(--blue-deep)}.dirrow-here{background:var(--offwhite);cursor:default}.dirrow-here b{color:var(--black)}.dirrow-here span{color:var(--ac);font-weight:500}.dir-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.dir-h .dir-n{color:var(--ash);font-size:12px;font-weight:400;line-height:18px;font-variant-numeric:tabular-nums}.disc-d{margin:0 0 var(--s4);color:var(--gray);font-size:16px;line-height:25px;max-width:64ch}.disc+.disc{margin-top:var(--s8)}.peers{margin-top:var(--s5);display:grid;gap:var(--s6)}.peer-list{display:flex;flex-wrap:wrap;gap:var(--s2)}.peer{display:inline-flex;align-items:baseline;gap:var(--s2);padding:9px 15px;border:0;border-radius:var(--r-pill);background:var(--mist);text-decoration:none;transition:background-color .2s ease-in-out}.peer b{color:var(--black);font-size:15px;font-weight:500;line-height:22px}.peer span{color:var(--gray);font-size:13px}.peer:hover{background:var(--pale)}.peer:hover b{color:var(--blue-deep)}.noscript-note{padding:var(--s10) 0}.scrim{position:fixed;inset:0;z-index:calc(var(--z-modal) - 1);background:rgba(58,35,100,.5);opacity:0;pointer-events:none;transition:opacity 220ms ease-in-out}.scrim.is-open{opacity:1;pointer-events:auto}.panel{position:fixed;top:0;right:0;bottom:0;z-index:var(--z-modal);width:min(560px,100vw);background:var(--white);border-left:1px solid var(--line);box-shadow:var(--e-max);display:flex;flex-direction:column;transform:translateX(102%);transition:transform 280ms cubic-bezier(.32,.72,.28,1)}.panel.is-open{transform:translateX(0)}.panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}.panel-scroll::-webkit-scrollbar{width:10px}.panel-scroll::-webkit-scrollbar-track{background:0 0}.panel-scroll::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:var(--r-pill);border:3px solid transparent;background-clip:padding-box}.panel-scroll::-webkit-scrollbar-thumb:hover{background:var(--purple-deep);background-clip:padding-box}@media (min-width:1200px){body{transition:padding-right 280ms cubic-bezier(.32,.72,.28,1)}body.has-panel{padding-right:var(--panel-w)}.scrim{display:none}.panel{width:var(--panel-w);box-shadow:none}.member-card.is-active{background:var(--pale);box-shadow:var(--e-card)}.member-card.is-active .member-card-foot b{color:var(--purple-deep)}.member-card.is-active .tag{background:var(--white)}.member-card.is-active .tag-more{color:var(--gray)}}.panel-mast{padding:56px var(--s7) var(--s7);margin-top:-56px}.panel-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:var(--s4);min-height:56px;padding:var(--s2) var(--s7);background:rgb(var(--plum-rgb)/ calc(var(--condense,0) * 3));box-shadow:0 1px 0 rgb(255 255 255 / calc(var(--condense,0) * .14))}.panel-bar .crumb{position:absolute;left:var(--s7);top:50%;transform:translateY(-50%);color:rgba(255,255,255,.78);white-space:nowrap;max-width:calc(100% - 160px);overflow:hidden;text-overflow:ellipsis;opacity:calc(1 - var(--condense,0) * 2.5)}.panel-nav{display:flex;align-items:center;gap:var(--s2);flex:none;margin-left:auto}.panel.is-condensed .panel-bar .crumb{pointer-events:none}.bar-id{display:flex;align-items:center;gap:var(--s3);min-width:0;flex:1;pointer-events:none;opacity:calc(var(--condense,0) * 2.5 - 1)}.bar-id b{color:var(--white);font-size:16px;font-weight:500;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-icon{position:relative;width:36px;height:36px;flex:none;display:grid;place-items:center;background:0 0;border:0;border-radius:50%;color:rgba(255,255,255,.8);cursor:pointer;transition:background-color .2s ease-in-out,color .2s ease-in-out,transform 140ms cubic-bezier(.2,.7,.3,1)}.panel-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.panel-icon::after{content:"";position:absolute;inset:-4px 0}.panel-close::after{inset:-4px}.panel-icon:hover{background:rgba(255,255,255,.18);color:var(--white)}.panel-icon:active{transform:scale(.92)}.panel-icon:focus-visible{outline:var(--focus-w) solid var(--white);outline-offset:var(--focus-off)}.panel-step{display:flex;align-items:center;gap:var(--s1);flex:none}.panel-close{margin-left:var(--s4)}.panel-id{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s3)}.panel-id h2{min-width:0}.panel-mast .tile{box-shadow:0 0 0 1px rgba(255,255,255,.2)}.panel-mast .tile:has(.logoimg){box-shadow:none}.panel-mast h2{font-size:28px;font-weight:500;line-height:34px;letter-spacing:-.01em}.panel-mast .tagline{margin-top:var(--s3);font-size:16px;line-height:24px;max-width:42ch;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.panel-mast .geo{display:flex;flex-wrap:wrap;align-items:center;margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid rgba(255,255,255,.16);font-size:12px;line-height:18px;gap:10px var(--s6);color:rgba(211,185,255,.85)}.panel-mast .geo>span{display:inline-flex;align-items:center}.panel-mast .geo .geo-time{gap:6px}.panel-mast .geo>span+span::before{content:"";width:1px;height:12px;margin-right:var(--s6);background:rgba(255,255,255,.22)}.panel-mast .geo b{color:var(--white);font-weight:500}.panel-mast .geo .geo-place{font-size:13px}.panel-mast .geo .geo-time b{font-size:14px;letter-spacing:.02em}.panel-body{padding:var(--s7)}.panel-body .lead,.panel-body section{margin-bottom:var(--s8)}.panel-body .kv,.panel-body .related,.panel-body .tags{margin-top:var(--s3)}.panel-body section>p:not(.eyebrow){color:var(--gray);font-size:16px;line-height:24px;margin-top:var(--s3)}.panel-body section>p+p{margin-top:var(--s3)}.eyebrow-hint{margin-left:var(--s2);color:var(--ash);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.panel-body .lead p{color:var(--slate);font-size:18px;line-height:27px}.panel-body .lead p+p{margin-top:var(--s4)}.panel-body .kv{gap:0}.panel-body .kv-row{display:grid;grid-template-columns:auto 1fr;gap:var(--s5);align-items:baseline;padding:var(--s3) 0}.panel-body .kv-row+.kv-row{border-top:1px solid var(--line)}.panel-body .kv-row:first-child{padding-top:0}.panel-body .kv-row:last-child{padding-bottom:0}.panel-body .kv dt{color:var(--gray);font-size:13px;line-height:20px;white-space:nowrap}.panel-body .kv dd{margin:0;color:var(--black);font-size:16px;line-height:24px;font-weight:500;text-align:right}.related{display:grid;gap:var(--s2)}.related-item{display:flex;align-items:center;gap:var(--s3);width:100%;background:var(--mist);border:1px solid transparent;border-radius:var(--r-md);padding:var(--s3);text-align:left;cursor:pointer;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out,transform .2s ease-in-out}.related-item:hover{background:var(--white);box-shadow:var(--e-card);transform:translateY(-1px)}.related-item:hover .related-go{transform:translateX(3px)}.related-t{display:grid;min-width:0;flex:1}.related-t b{color:var(--black);font-size:16px;font-weight:500;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-t span{color:var(--gray);font-size:13px;line-height:19px}.related-go{transition:transform .2s ease-in-out;width:16px;height:16px;flex:none;color:var(--purple);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.panel-body .disclaimer{border-top:1px solid var(--line);padding-top:var(--s4)}.panel-actions{flex:none;display:flex;flex-wrap:wrap;gap:var(--s3);padding:var(--s4) var(--s7);background:var(--white);border-top:1px solid var(--line);box-shadow:0 -8px 20px rgba(0,0,0,.05)}.panel-actions .btn{flex:1;text-align:center;white-space:nowrap}.panel.is-open .panel-body>*{animation:320ms cubic-bezier(.32,.72,.28,1) backwards panelRise}.panel.is-open .panel-body>:nth-child(2){animation-delay:40ms}.panel.is-open .panel-body>:nth-child(3){animation-delay:80ms}.panel.is-open .panel-body>:nth-child(4){animation-delay:120ms}.panel.is-open .panel-body>:nth-child(n+5){animation-delay:160ms}@keyframes panelRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel-body{transition:opacity 120ms ease-in-out}.panel-body.is-swapping{opacity:0}@media (max-width:1023px){.site-header .wrap{flex-wrap:wrap;gap:var(--s3);min-height:64px;padding-top:var(--s3);padding-bottom:var(--s3)}.brand img{height:28px}@media (min-width:821px){.ins-nav{margin-left:var(--s5);min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.ins-nav::-webkit-scrollbar{display:none}}.profile-cols{grid-template-columns:1fr;gap:var(--s10)}.profile-side{position:static}.card .dirlist{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px var(--s5)}.card .dirrow+.dirrow{margin-top:0}.member-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.stats{grid-template-columns:repeat(2,1fr);gap:var(--s6) 0}.stat:nth-child(odd){border-left:0}.site-footer .footer-top{gap:var(--s10);padding-top:var(--s10);padding-bottom:var(--s10)}.footer-brand{flex:1 1 100%;max-width:440px}.footer-cols{flex:1 1 100%}}@media (max-width:767px){body{font-size:16px;line-height:24px}body .closer .wrap,body .closer-box,body .directory .directory-head,body .hub-head,body .net-head{text-align:left}body .closer h2{margin-inline:0}.t-h3{font-size:26px;line-height:1.25}.t-h4{font-size:20px;line-height:1.25}.wrap{padding:0 var(--s5)}.section{padding:var(--s9) 0}.hero{padding:var(--s9) 0 var(--s7)}.hero .lede{font-size:18px;line-height:27px}.profile-mast .mast-id{display:block}.profile-mast .mast-id .tile{width:56px;height:56px;font-size:18px}.profile-mast .mast-id h1{margin-top:var(--s4);font-size:clamp(32px,9.6vw,48px);overflow-wrap:break-word}.site-header .wrap{min-height:56px;padding-top:var(--s2);padding-bottom:var(--s2)}.brand img{height:24px}.site-header .btn{font-size:14px;padding:11px 16px}.hide-sm{display:none}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(odd){border-left:0}.member-grid{grid-template-columns:1fr}.marker .core{r:9}.marker .halo{r:18}.marker .pulse{r:15}.marker .badge-dot{r:11}.marker .tag-text{font-size:22px}.marker .tag-agency{display:none}.marker .badge-text{font-size:15px}.panel-actions,.panel-bar,.panel-body,.panel-mast{padding-left:var(--s5);padding-right:var(--s5)}.panel-bar .crumb{left:var(--s5)}.panel-mast h2{font-size:24px;line-height:30px}.panel-mast .geo{gap:var(--s2) var(--s5)}.panel-mast .geo>span+span::before{display:none}.footer-cols{grid-template-columns:repeat(2,1fr);gap:var(--s8) var(--s6)}.site-footer .footer-top{gap:var(--s9);padding-top:var(--s9);padding-bottom:var(--s9)}.footer-blurb{font-size:14px;line-height:22px}.footer-legal{margin-left:0;width:100%}}@media (max-width:479px){.footer-cols{grid-template-columns:1fr;gap:var(--s7)}.t-display{font-size:42px}.t-h3{font-size:24px}.t-h4{font-size:20px}.site-header .wrap{gap:var(--s2)}.brand img{height:21px}.site-header .btn{font-size:13px;padding:10px 14px}.t-h2{font-size:28px;line-height:1.2}.panel-bar .crumb{font-size:11px;letter-spacing:.1em}.crumb-net{display:none}.panel-id{gap:var(--s3)}.panel-id .tile{width:44px;height:44px;font-size:14px}.panel-mast h2{font-size:22px;line-height:27px}}@media (prefers-reduced-motion:reduce){.client-mark{transition:none}*{transition:none!important;animation:none!important}html{scroll-behavior:auto}.btn-fill::before{display:none}.btn-primary:focus-visible,.btn-primary:hover{background:var(--purple-deep)}.btn-on-dark:focus-visible,.btn-on-dark:hover{background:var(--lavender)}}@media (pointer:coarse){.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.hdr-account{display:inline-flex;align-items:center;min-height:44px}.footer-col a,.footer-legal a,.site-footer .brand{min-height:44px}.ins-nav a,.lg-card>a{display:inline-flex;align-items:center;min-height:44px}.fbar-toggle,.net-key,.peer,.sort-btn,.svc-toggle,.tag-btn,.work-more{min-height:44px;display:inline-flex;align-items:center}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:44px;font-size:max(16px,1em)}textarea{min-height:88px}}@supports not (color:color-mix(in srgb,red,red)){.btn-secondary{--fill:rgb(187,161,230)}}.skip-link{position:fixed;left:16px;top:12px;z-index:10000;padding:12px 18px;border-radius:var(--r-pill);background:var(--white);color:var(--plum);font-weight:700;text-decoration:none;transform:translateY(-200%);transition:transform .18s}.skip-link:focus{transform:none;outline:2px solid var(--purple-deep);outline-offset:3px}:is(.pcard-media,.ins-lead-media,.ins-art-media,.hub-row-media,.p5-post-pic,.p5-case-pic).is-light::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;corner-shape:inherit;box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / .08)}.tile:has(.logoimg[src*="members/gvn."]){overflow:hidden;background:linear-gradient(135deg,#b036ff 0,#905cff 30%,#8f6cff 62%,#8c86ff 100%)}.logoimg[src*="members/gvn."],.tile .logoimg[src*="members/gvn."]{padding:13%;object-fit:contain;background:0 0;-webkit-mask:linear-gradient(90deg,transparent 13%,#000 17%,#000 83%,transparent 87%),linear-gradient(180deg,transparent 13%,#000 17%,#000 83%,transparent 87%);-webkit-mask-composite:source-in;mask:linear-gradient(90deg,transparent 13%,#000 17%,#000 83%,transparent 87%),linear-gradient(180deg,transparent 13%,#000 17%,#000 83%,transparent 87%);mask-composite:intersect}:is(.pcard-foot,.ins-aside-id) .logoimg:not(.logoimg-onbg):not([src*="members/gvn."]),:is(.pcard-foot,.ins-aside-id) .tile:has(.logoimg:not(.logoimg-onbg):not([src*="members/gvn."])){background:0 0}:is(.pcard-foot,.ins-aside-id) .logoimg:not(.logoimg-onbg):not([src*="members/gvn."]){padding:8%}:is(.pcard-foot,.ins-aside-id) .tile:has(.logoimg){color:transparent}.tile .logoimg[src*="members/dpr."]{padding:14%}.ins-nav a{--nav-u:var(--purple);background-image:linear-gradient(var(--nav-u),var(--nav-u));background-repeat:no-repeat;background-size:0 2px;background-position:100% 100%;transition:color 180ms ease-in-out,background-size var(--dur-line) var(--ease)}.ins-nav a:is(:hover,:focus-visible){background-size:100% 2px;background-position:0 100%}.ins-nav a[aria-current=page]{box-shadow:none;background-size:100% 2px;background-position:0 100%}.site-header.hdr-fix.hdr-fix{position:fixed!important;left:0;right:0;z-index:60;transform:translateY(calc(-100% - 40px));top:0}html body .site-header.hdr-fix.hdr-fix{background:var(--hdr-band,var(--white));padding-top:0;pointer-events:auto}.site-header.hdr-fix{will-change:transform}.site-header.hdr-fix.hdr-anim{transition:transform 160ms cubic-bezier(.4,0,1,1)}.site-header.hdr-fix.hdr-in{transform:none;transition:transform 220ms cubic-bezier(.16,1,.3,1)}@media print{.site-header.hdr-fix{position:static!important;transform:none}.hdr-spacer{display:none}}@media (max-width:359px){html body .site-header .wrap{padding-left:16px;padding-right:16px;gap:4px!important}html body .site-header .wrap>.btn{padding-left:12px!important;padding-right:12px!important}}html.hdr-peeked{--hdr-peek-t:220ms cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}.ins-nav a{transition:color 180ms ease-in-out}.site-header.hdr-fix.hdr-anim,.site-header.hdr-fix.hdr-in{transition:opacity 160ms linear}.site-header.hdr-fix:not(.hdr-in){opacity:0}:root,html.hdr-peeked{--hdr-peek-t:0ms linear}}@media (min-width:901px){body.v2.is-home .ins-nav a{--nav-u:var(--lavender)}html[data-ui] body.v2 .site-header{--hx:calc((100% - min(1400px, 100vw - var(--s10))) / 2);top:0;padding-top:var(--s5);margin-bottom:0;pointer-events:none;clip-path:none}html[data-ui] body.v2.ins .site-header{position:relative;background:0 0}html[data-ui] body.v2 .site-header::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--hdr-col,var(--mist));clip-path:inset(var(--s5) var(--hx) 0 var(--hx) round 36px);transition:clip-path .3s cubic-bezier(.16,1,.3,1)}html[data-ui=binary] body.v2 .site-header::before{clip-path:inset(var(--s5) var(--hx) 0 var(--hx) round 2px)}html[data-ui=pixel] body.v2 .site-header.hdr-fix.hdr-fix::before,html[data-ui=pixel] body.v2 .site-header::before{--stp:4px;--L:var(--hx);--R:calc(100% - var(--hx));--T:var(--s5);clip-path:polygon(var(--L) calc(var(--T) + 3*var(--stp)),calc(var(--L) + var(--stp)) calc(var(--T) + 3*var(--stp)),calc(var(--L) + var(--stp)) calc(var(--T) + 2*var(--stp)),calc(var(--L) + 2*var(--stp)) calc(var(--T) + 2*var(--stp)),calc(var(--L) + 2*var(--stp)) calc(var(--T) + var(--stp)),calc(var(--L) + 3*var(--stp)) calc(var(--T) + var(--stp)),calc(var(--L) + 3*var(--stp)) var(--T),calc(var(--R) - 3*var(--stp)) var(--T),calc(var(--R) - 3*var(--stp)) calc(var(--T) + var(--stp)),calc(var(--R) - 2*var(--stp)) calc(var(--T) + var(--stp)),calc(var(--R) - 2*var(--stp)) calc(var(--T) + 2*var(--stp)),calc(var(--R) - var(--stp)) calc(var(--T) + 2*var(--stp)),calc(var(--R) - var(--stp)) calc(var(--T) + 3*var(--stp)),var(--R) calc(var(--T) + 3*var(--stp)),var(--R) calc(100% - 3*var(--stp)),calc(var(--R) - var(--stp)) calc(100% - 3*var(--stp)),calc(var(--R) - var(--stp)) calc(100% - 2*var(--stp)),calc(var(--R) - 2*var(--stp)) calc(100% - 2*var(--stp)),calc(var(--R) - 2*var(--stp)) calc(100% - var(--stp)),calc(var(--R) - 3*var(--stp)) calc(100% - var(--stp)),calc(var(--R) - 3*var(--stp)) 100%,calc(var(--L) + 3*var(--stp)) 100%,calc(var(--L) + 3*var(--stp)) calc(100% - var(--stp)),calc(var(--L) + 2*var(--stp)) calc(100% - var(--stp)),calc(var(--L) + 2*var(--stp)) calc(100% - 2*var(--stp)),calc(var(--L) + var(--stp)) calc(100% - 2*var(--stp)),calc(var(--L) + var(--stp)) calc(100% - 3*var(--stp)),var(--L) calc(100% - 3*var(--stp)))}html[data-ui=pixel] body.v2 .site-header.hdr-fix.hdr-fix::before{--stp:0px;--L:0px;--R:100%}html[data-ui] body.v2 .site-header .wrap{position:relative;z-index:1;pointer-events:auto;background:0 0;border-radius:0;box-shadow:none;clip-path:none;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-ui=binary] body.v2.is-home .site-header{--hdr-col:rgb(30,24,48);background:0 0}html[data-ui=round] body.v2.is-home .site-header{--hdr-col:#2A2246;background:0 0}html[data-ui=pixel] body.v2.is-home .site-header{--hdr-col:rgb(40,33,60);background:0 0}html[data-ui] body.v2.ins .site-header{--hdr-col:var(--mist)}html[data-ui] body.v2.ins.newsletter-preview .site-header{--hdr-col:var(--white);background:var(--haze)}html[data-ui] body.v2 .site-header.hdr-fix.hdr-fix{padding-top:var(--s5);background:0 0;pointer-events:none}html[data-ui] body.v2 .site-header.hdr-fix::before{clip-path:inset(var(--s5) 0 0 0 round 0);pointer-events:auto}html[data-ui] body.v2 .site-header.hdr-fix.hdr-anim{transition:transform 160ms cubic-bezier(.4,0,1,1)}html[data-ui] body.v2 .site-header.hdr-fix.hdr-in{transform:translateY(calc(-1 * var(--s5)));transition:transform 220ms cubic-bezier(.16,1,.3,1)}html[data-ui] body.v2 .site-header:not(.hdr-fix){transition:transform .3s cubic-bezier(.16,1,.3,1)}html[data-ui] body.v2.is-home .site-header .hdr-search,html[data-ui] body.v2.is-home .site-header .ins-nav a,html[data-ui] body.v2.is-home .site-header .wrap>a:not(.btn):not(.brand){color:rgba(255,255,255,.82)}html[data-ui] body.v2.is-home .site-header .hdr-search svg{color:inherit;stroke:currentColor}html[data-ui] body.v2.is-home .site-header :is(.ins-nav a,.wrap > a:not(.btn):not(.brand),.hdr-search):is(:hover,:focus-visible,[aria-current=page]){color:var(--white)}html[data-ui] body.v2.is-home .site-header :is(a,button,input):focus-visible{outline:#D3B9FF solid 2px;outline-offset:3px}}@media (min-width:901px) and (prefers-reduced-motion:reduce){html[data-ui] body.v2 .site-header,html[data-ui] body.v2 .site-header::before{transition:none}}.site-header.hdr-snap,.site-header.hdr-snap::before{transition:none!important}
/* css/insights.css */
.ins .site-header{background:var(--white);border-bottom:1px solid var(--line)}@media (min-width:901px){.ins .site-header{padding-top:var(--s5);background:0 0;border-bottom:0;pointer-events:none}.ins .site-header .wrap{pointer-events:auto;background:var(--white);border-radius:var(--r-pill);border:1px solid transparent;box-shadow:0 18px 44px -30px rgba(28,16,54,.45)}}.ins-mast{padding:var(--sec) 0 0}.ins-mast .wrap{padding-top:0;padding-bottom:var(--s10)}.ins-mast .eyebrow{margin-bottom:var(--s4)}.ins-mast h1{max-width:18ch}.ins-mast-deck{margin-top:var(--s6);max-width:58ch;color:var(--gray);font-size:20px;line-height:29px}.ins-lead-sec .wrap{padding-bottom:var(--sec)}.ins-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s10);align-items:center;text-decoration:none;text-wrap:pretty;transition:transform 220ms cubic-bezier(.2,.7,.3,1)}.ins-lead:hover{transform:translateY(-2px)}.ins-lead-media{position:relative;display:block;overflow:hidden;border-radius:0;aspect-ratio:16/10}.ins-lead-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(var(--pz,1)) translate(var(--ptx,0),var(--pty,0));transition:transform .6s cubic-bezier(.2,.7,.3,1)}.ins-lead:hover .ins-lead-media img{transform:scale(calc(var(--pz,1) * 1.03)) translate(var(--ptx,0),var(--pty,0))}.ins-lead-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}.ins-lead-t{color:var(--black);font-size:clamp(28px,2.9vw,40px);font-weight:500;line-height:1.2;text-wrap:balance}.ins-lead:hover .ins-lead-t{color:var(--blue-deep)}.ins-lead:focus-visible .u-sweep,.ins-lead:hover .u-sweep{background-size:100% var(--u-h);background-position:0 100%}.ins-lead-dek{color:var(--gray);font-size:18px;line-height:28px;max-width:46ch}.ins-lead-go{margin-top:var(--s2);color:var(--purple);font-size:16px;font-weight:500;transition:color 180ms ease-in-out}.ins-lead:hover .ins-lead-go{color:var(--blue-deep)}@media (max-width:900px){.ins-lead{grid-template-columns:1fr;gap:var(--s6)}.ins-lead-media{aspect-ratio:16/9}}.ins-controls-sec{scroll-margin-top:var(--s5)}.ins-controls-sec:focus{outline:0}.ins-controls-sec .wrap{padding-top:0;padding-bottom:var(--s8)}.ins-controls{display:flex;align-items:center;gap:var(--s6);flex-wrap:wrap}.ins-grid-sec .wrap{padding-top:var(--s2);padding-bottom:var(--sec)}.ins-grid{display:grid;gap:var(--s10);grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.pcard{display:flex;flex-direction:column;background:0 0;text-decoration:none;text-wrap:pretty;container-type:inline-size}.hub-row-media,.ins-art-media,.ins-lead-media,.pcard-media{background:var(--haze);box-shadow:none}.hub-row-media::after,.ins-art-media::after,.ins-lead-media::after,.pcard-media::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:var(--e-media-in)}.hub-lead .pcard-media::after{content:none}.pcard-media{position:relative;display:block;overflow:hidden;border-radius:0;aspect-ratio:16/10}.pcard-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(var(--pz,1)) translate(var(--ptx,0),var(--pty,0));transition:transform .6s cubic-bezier(.2,.7,.3,1),opacity 360ms ease-out}.pcard:hover .pcard-media img{transform:scale(calc(var(--pz,1) * 1.04)) translate(var(--ptx,0),var(--pty,0))}.pcard-tint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0) 52%)}.pcard-place{position:absolute;left:var(--s5);bottom:var(--s4);color:var(--white);font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.5)}.pcard-body{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4) 0 0;flex:1}.pcard-kicker{color:var(--gray);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.pcard-market{color:var(--ash)}.pcard-market::after{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--ash);vertical-align:.28em;margin:0 .62em 0 .68em;letter-spacing:0}@container (max-width:400px){.pcard-market{display:block}.pcard-market::after{content:none}.pcard-kicker{letter-spacing:.08em}}.pcard-t{color:var(--black);font-size:20px;font-weight:500;line-height:27px;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color 180ms ease-in-out}@media (min-width:840px){.pcard-t{-webkit-line-clamp:2}}.pcard:hover .pcard-t{color:var(--blue-deep)}.pcard:focus-visible .u-sweep,.pcard:hover .u-sweep{background-size:100% var(--u-h);background-position:0 100%}.pcard-dek{max-width:52ch;color:var(--gray);font-size:15px;line-height:23px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard-foot{display:flex;align-items:center;gap:var(--s2);flex-wrap:nowrap;margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--line)}.pcard-by{color:var(--slate);font-size:13px;font-weight:500;white-space:nowrap;flex:none}.pcard-meta{margin-left:auto;color:var(--ash);font-size:12px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.ins-lead.is-syn .pcard-meta,.pcard.is-syn .pcard-meta{font-family:var(--mono);letter-spacing:.04em}.pcard .tile{flex:none}@media (max-width:520px){.ins-grid{grid-template-columns:1fr}.pcard-foot{flex-wrap:wrap}.pcard-meta{margin-left:0;width:100%}}.pcard-wide .pcard-media{aspect-ratio:16/9}.ins-more-row{display:flex;justify-content:center;margin-top:var(--s10)}.ins-more-row .btn[hidden]{display:none}.ins-closer h2{max-width:26ch}.closer-acts{display:flex;gap:var(--s4);justify-content:center;flex-wrap:wrap;margin-top:var(--s8)}.closer-acts .btn{margin-top:0}.ins-progress{position:sticky;top:0;z-index:var(--z-header);height:2px;background:0 0;pointer-events:none}.ins-progress span{display:block;height:100%;background:var(--ac,var(--purple));transform:scaleX(0);transform-origin:left center;will-change:transform}.ins-article{--ac:var(--purple)}.ins-article .wrap{padding-top:var(--s10);padding-bottom:var(--sec)}.ins-art-cols,.ins-art-cta,.ins-art-head,.ins-art-media,.ins-crumb{max-width:1080px;margin-inline:auto}.ins-crumb{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s8)}.ins-crumb a{color:var(--gray);font-size:13px;font-weight:500;text-decoration:none}.ins-crumb a:hover{color:var(--blue-deep)}.ins-crumb span{color:var(--line)}.ins-art-t{font-size:clamp(34px,4.2vw,54px);font-weight:500;line-height:1.16;max-width:20ch}.ins-art-dek{margin-top:var(--s5);max-width:56ch;color:var(--gray);font-size:20px;line-height:31px}.ins-art-meta{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s8)}.ins-art-by{display:flex;flex-direction:column;gap:2px}.ins-art-by b{color:var(--black);font-size:16px;font-weight:500}.ins-art-by span{color:var(--gray);font-size:14px}.ins-art-media{position:relative;overflow:hidden;margin:var(--s10) auto var(--s12);border-radius:0;aspect-ratio:21/9}.ins-art-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(var(--pz,1)) translate(var(--ptx,0),var(--pty,0))}.ins-art-media .pcard-place{left:var(--s8);bottom:var(--s6);font-size:13px}.ins-art-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s12);align-items:start}@media (max-width:1080px){.ins-art-cols{grid-template-columns:1fr;gap:var(--s10)}}.ins-art-body{max-width:68ch}.ins-art-body p{margin-bottom:var(--s6);color:var(--slate);font-size:18px;line-height:31px}.ins-h2{margin:var(--s12) 0 var(--s5);font-size:26px;font-weight:500;line-height:34px}.ins-art-body>.ins-h2:first-child{margin-top:0}.ins-list{margin:0 0 var(--s6);padding-left:0;list-style:none}.ins-list li{position:relative;padding-left:var(--s7);margin-bottom:var(--s4);color:var(--slate);font-size:18px;line-height:29px}.ins-list li::before{content:"";position:absolute;left:0;top:13px;width:16px;height:2px;background:var(--ac)}.ins-quote{margin:var(--s10) 0;padding:var(--s7) var(--s8);background:var(--haze);background:color-mix(in srgb,var(--ac) 6%,var(--surface));border-radius:var(--r-lg)}@media (max-width:560px){.ins-quote{padding:var(--s6)}}.ins-quote blockquote{margin:0;color:var(--black);font-size:22px;font-weight:400;line-height:34px}.ins-quote figcaption{margin-top:var(--s4);color:var(--gray);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.ins-art-tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s10)}.ins-art-aside{position:sticky;top:calc(var(--s14) + var(--s6))}.ins-aside-card{background:var(--haze);border-radius:var(--r-lg);padding:var(--s6)}.ins-aside-id{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--s4);align-items:center;margin-top:var(--s4);text-decoration:none}.ins-aside-id .tile{grid-row:1/span 2}.ins-aside-id b{color:var(--black);font-size:18px;font-weight:500;line-height:23px}.ins-aside-id span{color:var(--gray);font-size:14px}.ins-aside-id:hover b{color:var(--blue-deep)}.ins-aside-p{margin-top:var(--s4);color:var(--gray);font-size:15px;line-height:23px}.ins-aside-acts{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s6)}.ins-aside-acts .btn{text-align:center}@media (max-width:1080px){.ins-art-aside{position:static}.ins-aside-acts .btn-primary{display:none}}.ins-art-cta{margin-top:var(--s14);padding:var(--sec-sm) var(--s10);background:var(--ink);border-radius:var(--r-lg)}.ins-art-cta h2{color:var(--white);max-width:20ch;text-wrap:balance}.ins-cta-p{margin-top:var(--s5);max-width:52ch;color:var(--lavender);font-size:18px;line-height:27px}.ins-cta-acts{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s8)}@media (max-width:600px){.ins-art-cta{padding:var(--sec-sm) var(--s6)}.ins-cta-acts .btn{flex:1 1 100%;text-align:center}}.ins-relband{background:var(--haze);padding:var(--sec) 0}.ins-relband h2{margin-bottom:var(--s7)}.ins-404{max-width:48ch;margin:var(--s14) auto;padding:0 var(--s6);text-align:center}.ins-404 .eyebrow{margin-bottom:var(--s4)}.ins-404 .lede{margin:var(--s5) 0 var(--s8)}body.is-404{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body.is-404>main{flex:1 0 auto;display:flex;align-items:center;justify-content:center;padding-block:var(--sec)}body.is-404 .ins-progress,body.is-404>main>.ins-relband{display:none}body.is-404 .ins-404{margin-block:0}body.is-404 .site-footer{flex:0 0 auto}@media (prefers-reduced-motion:reduce){.ins *,.ins ::after,.ins ::before{transition-duration:1ms!important;animation-duration:1ms!important}.ins-lead:hover,.pcard:hover{transform:none}.ins-lead:hover .ins-lead-media img,.pcard:hover .pcard-media img{transform:scale(var(--pz,1)) translate(var(--ptx,0),var(--pty,0))}}.pcard-kicker-case{color:var(--blue-deep);font-weight:600}html[data-ui=round] .ins-art-media,html[data-ui=round] .ins-lead-media,html[data-ui=round] .pcard-media{border-radius:var(--r-lg)}html[data-ui=round] .hub-row-media{border-radius:var(--r-ctl)}html[data-ui=round] .hub-lead .pcard-media{border-radius:0}@supports (corner-shape:superellipse(1.4)){html[data-ui=round] :is(.pcard-media,.ins-lead-media,.ins-art-media,.hub-row-media){corner-shape:superellipse(1.4)}}.hub-row-media::after,.ins-art-media::after,.ins-lead-media::after,.pcard-media::after{content:none}@keyframes pcard-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pcard-in{animation:560ms cubic-bezier(.2,.7,.3,1) both pcard-in}.pcard-media img.is-loading{opacity:0}@media (prefers-reduced-motion:reduce){.pcard-in{animation:none}.pcard-media img.is-loading{opacity:1}}@media (min-width:901px){.ins .site-header .wrap{background:var(--mist);box-shadow:none}}.ins-progress{top:var(--hdr-peek);transition:top var(--hdr-peek-t)}
/* css/brief-form.css */
.brief-form{margin:var(--s8) auto 0;max-width:34rem;text-align:left;display:flex;flex-direction:column;gap:var(--s6)}.brief-context{margin:var(--s5) auto 0;max-width:48ch;color:var(--purple-deep);font-size:15px;line-height:23px;font-weight:500}.brief-fs{border:0;padding:0;margin:0}.brief-legend{padding:0;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}.brief-hint{margin:var(--s2) 0 0;color:var(--gray);font-size:14px;line-height:21px}.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}.chip{position:relative;display:inline-flex}.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s4);border:0;border-radius:var(--r-pill);background:var(--mist);color:var(--slate);font-size:15px;line-height:20px;transition:background-color .2s ease-in-out,color .2s ease-in-out}.chip input:hover+span{background:var(--pale);color:var(--plum)}.chip input:checked+span{background:var(--purple-deep);color:var(--white);font-weight:500}.chip input:focus-visible+span{outline:var(--focus-w) solid var(--focus-c);outline-offset:var(--focus-off)}.brief-row{display:flex;flex-direction:column;gap:var(--s2)}.brief-row label{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}.brief-row input,.brief-row textarea{width:100%;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white);color:var(--slate);font-family:var(--font);font-size:16px;line-height:24px}.brief-row textarea{resize:vertical;min-height:84px}.brief-row input:focus-visible,.brief-row textarea:focus-visible{outline:var(--focus-w) solid var(--focus-c);outline-offset:var(--focus-in);border-color:var(--focus-c)}.brief-row input[aria-invalid=true],.brief-row textarea[aria-invalid=true]{border-color:var(--red);border-width:2px}.brief-err{margin:0;padding:var(--s3) var(--s4);border-radius:var(--r-sm);background:var(--red-bg);color:var(--red-ink);font-size:15px;line-height:22px;font-weight:500}.brief-actions{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start}.closer .brief-actions .btn{margin-top:0}.brief-next{margin:0;max-width:46ch;color:var(--gray);font-size:14px;line-height:21px}.brief-sent{margin:var(--s8) auto 0;max-width:34rem;padding:var(--s6);border-radius:var(--r-md);background:var(--pale);text-align:left}.brief-sent h3{margin:0;color:var(--plum);font-size:20px;line-height:27px;font-weight:600}.brief-sent p{margin:var(--s3) 0 0;color:var(--gray);font-size:15px;line-height:23px}.brief-sent .btn{margin-top:var(--s5)}@media (max-width:640px){.brief-form{gap:var(--s5)}.brief-actions{align-self:stretch}.brief-actions .btn{width:100%;justify-content:center}}
/* css/ai-visibility.css */
.av{--band-poor:var(--red);--band-work:var(--d-media);--band-good:var(--d-digital);--band-strong:var(--green);--band-poor-ink:#A32424;--band-work-ink:#8A5E06;--band-good-ink:#2453B8;--band-strong-ink:#2C7A45;--tint-poor:color-mix(in srgb,var(--red) 12%,var(--white));--tint-work:color-mix(in srgb,var(--d-media) 16%,var(--white));--tint-good:color-mix(in srgb,var(--d-digital) 12%,var(--white));--tint-strong:color-mix(in srgb,var(--green) 14%,var(--white));--fill-poor:color-mix(in srgb,var(--red) 6%,var(--white));--fill-work:color-mix(in srgb,var(--d-media) 8%,var(--white));--fill-strong:color-mix(in srgb,var(--green) 7%,var(--white));--hover-t:160ms}.av-main{padding-bottom:var(--s14)}.av-stage{display:none}.av-stage[data-on=true]{display:block}.av-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.av-ask,.av-working{padding:var(--sec) 0;position:relative;background:0 0}.av-ask::before,.av-working::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;right:0;bottom:0;top:-240px;background:radial-gradient(84% 58% at 50% 0,var(--pale) 0,transparent 66%),radial-gradient(46% 34% at 86% 4%,rgba(211,185,255,.34) 0,transparent 74%),var(--surface);background:radial-gradient(84% 58% at 50% 0,var(--pale) 0,transparent 66%),radial-gradient(46% 34% at 86% 4%,color-mix(in srgb,var(--lavender) 34%,transparent) 0,transparent 74%),var(--surface)}.av-hero{max-width:760px;margin:0 auto;text-align:center}.av-hero .eyebrow{justify-content:center}.av-hero h1{text-wrap:balance}.av-lede{max-width:62ch;margin:var(--s5) auto 0;color:var(--gray);font-size:20px;line-height:31px;text-wrap:pretty}.av-form{margin-top:var(--sec-sm);text-align:center}.av-form-h{display:block;font-family:inherit;font-size:30px;font-weight:500;line-height:37.5px;letter-spacing:-.01em;color:var(--black)}.av-url{display:flex;align-items:center;gap:var(--s2);max-width:640px;margin:var(--s5) auto 0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 6px 6px var(--s5);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.av-url:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px var(--pale)}.av-url-proto{flex:none;color:var(--ash);font-size:16px;letter-spacing:.02em}.av-url input{flex:1;min-width:0;border:0;outline:0;background:0 0;font:inherit;font-size:18px;color:var(--slate);padding:12px 0;font-variant-numeric:tabular-nums}.av-url input::placeholder{color:var(--ash)}.av-url-go{flex:none;white-space:nowrap}.av-err{max-width:640px;margin:var(--s3) auto 0;text-align:left}.av-try{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s2);max-width:860px;margin:var(--s5) auto 0}.av-try .tag-btn{font-variant-numeric:tabular-nums}.av-try-h{color:var(--ash);font-size:14px;line-height:22px;margin-right:var(--s1)}.av-form-note{max-width:64ch;margin:var(--s5) auto 0;font-size:14px;line-height:22px;color:var(--ash)}.av-ask-out{margin-top:var(--s8);text-align:center}.av-working{min-height:56vh}.av-working[data-on=true]{display:flex;flex-direction:column;justify-content:center}.av-working>.wrap{max-width:920px;width:100%}.av-target{display:inline-flex;align-items:center;gap:var(--s3);margin:var(--s5) 0 0;padding:8px var(--s5);background:var(--haze);border-radius:var(--r-pill);font-size:15px;line-height:23px;color:var(--slate);font-variant-numeric:tabular-nums}.av-target-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--purple)}@media (prefers-reduced-motion:no-preference){@keyframes av-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}.av-target-dot{animation:av-pulse 1.4s var(--ease) infinite}@keyframes av-arc-in{from{stroke-dashoffset:1000}}.av-arc-fill{animation:av-arc-in .9s var(--ease) both}.av-gauge .av-arc-fill{animation-delay:120ms}.av-ring:first-child .av-arc-fill{animation-delay:.2s}.av-ring:nth-child(2) .av-arc-fill{animation-delay:310ms}.av-ring:nth-child(3) .av-arc-fill{animation-delay:420ms}}.av-work-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s4);margin:var(--s5) 0 var(--s4)}.av-work-top h2{margin:0}.av-rail{height:4px;border-radius:2px;background:var(--mist);overflow:hidden}.av-rail i{display:block;height:100%;width:0;border-radius:2px;background:var(--plum);transition:width 520ms var(--ease)}.av-step{margin:0;font-size:13px;line-height:20px;color:var(--ash);font-variant-numeric:tabular-nums}.av-log{list-style:none;padding:0;margin:var(--s8) 0 0;font-size:16px;line-height:2;font-variant-numeric:tabular-nums}.av-log li{display:flex;gap:var(--s3);color:var(--ash);opacity:0;transform:translateY(4px);transition:opacity 280ms,transform 280ms,color 280ms}.av-log li[data-shown=true]{opacity:1;transform:none}.av-log li[data-done=true]{color:var(--gray)}.av-log .av-mark{flex:none;width:14px;color:var(--purple)}.av-log b{color:var(--plum);font-weight:600;font-variant-numeric:tabular-nums}@keyframes av-blink{0%,55%{opacity:1}100%,56%{opacity:.2}}.av-log li[data-shown=true]:not([data-done=true]) .av-mark{animation:1s steps(1) infinite av-blink}.av-report{padding:var(--sec) 0;background:var(--surface)}.av-report>.wrap{max-width:920px}.av-report-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s4);padding-bottom:var(--s4);border-bottom:2px solid var(--plum)}.av-meta{margin:0;font-size:13px;line-height:20px;color:var(--gray);font-variant-numeric:tabular-nums}.av-meta b{color:var(--plum);font-weight:600}.av-demo{margin:var(--s5) auto 0;padding:var(--s4) var(--s6);background:var(--haze);border-radius:var(--r-md);color:var(--gray);font-size:15px;line-height:24px;max-width:66ch;text-align:center}.av-demo b{color:var(--plum);font-weight:600}.av-score{display:grid;grid-template-columns:168px minmax(0,1fr);gap:var(--s10);align-items:center;margin-top:var(--s10)}.av-gauge{position:relative;width:168px;height:168px}.av-gauge[data-band=Poor]{color:var(--band-poor)}.av-gauge[data-band="Needs work"]{color:var(--band-work)}.av-gauge[data-band=Good]{color:var(--band-good)}.av-gauge[data-band=Strong]{color:var(--band-strong)}.av-gauge svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.av-arc-track{stroke:var(--mist)}.av-gauge-n{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:46px;line-height:1;font-weight:500;letter-spacing:-.02em;color:var(--plum);font-variant-numeric:tabular-nums}.av-gauge-of{position:absolute;left:0;right:0;bottom:30px;text-align:center;font-size:11px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}.av-band{display:inline-flex;align-items:center;padding:6px 13px;border-radius:var(--r-pill);font-size:12px;line-height:18px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.av-band[data-band=Poor]{background:var(--tint-poor);color:var(--band-poor-ink)}.av-band[data-band="Needs work"]{background:var(--tint-work);color:var(--band-work-ink)}.av-band[data-band=Good]{background:var(--tint-good);color:var(--band-good-ink)}.av-band[data-band=Strong]{background:var(--tint-strong);color:var(--band-strong-ink)}.av-score h2{margin-top:var(--s4);max-width:34ch}.av-counts{display:flex;flex-wrap:wrap;gap:var(--s6);margin-top:var(--s6)}.av-count{display:flex;align-items:baseline;gap:var(--s2)}.av-count b{font-size:24px;line-height:30px;font-weight:600;color:var(--plum);font-variant-numeric:tabular-nums}.av-count span{font-size:14px;line-height:21px;color:var(--gray)}.av-count::before{content:"";width:8px;height:8px;border-radius:50%;flex:none;align-self:center;margin-right:2px}.av-count[data-tone=crit]::before{background:var(--band-poor)}.av-count[data-tone=warn]::before{background:var(--band-work)}.av-count[data-tone=note]::before{background:var(--ash)}.av-count[data-tone=pass]::before{background:var(--band-strong)}.av-sect{margin-top:var(--s14)}.av-sect>.eyebrow{margin-bottom:var(--s6)}.av-rings{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}.av-ring[data-band=Poor]{color:var(--band-poor)}.av-ring[data-band="Needs work"]{color:var(--band-work)}.av-ring[data-band=Good]{color:var(--band-good)}.av-ring[data-band=Strong]{color:var(--band-strong)}.av-ring{padding:var(--s5);border-radius:var(--r-md);background:0 0}.av-ring-arc{position:relative;width:112px;height:112px}.av-ring-arc svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.av-ring-n{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;font-weight:600;color:var(--plum);font-variant-numeric:tabular-nums}.av-ring h3{font-size:20px;line-height:27px;margin:var(--s4) 0 var(--s2)}.av-ring p{margin:0;color:var(--gray);font-size:15px;line-height:24px}.av-engines{display:grid;gap:var(--s3)}.av-engine{display:grid;grid-template-columns:9rem minmax(0,1fr) 7rem 5.5rem;grid-template-areas:"name note share pill" "name bar share pill";gap:var(--s2) var(--s5);align-items:center;padding:var(--s5);background:var(--haze);border-radius:var(--r-md)}.av-en-name{grid-area:name;font-size:18px;line-height:24px;font-weight:600;color:var(--plum)}.av-en-note{grid-area:note;font-size:14px;line-height:21px;color:var(--gray)}.av-en-bar{grid-area:bar;display:block;height:6px;border-radius:var(--r-sm);background:var(--line);overflow:hidden}.av-en-bar i{display:block;height:100%;border-radius:var(--r-sm);background:var(--purple)}.av-en-share{grid-area:share;display:grid;gap:1px;text-align:right}.av-en-share b{font-size:22px;line-height:28px;font-weight:600;color:var(--plum);font-variant-numeric:tabular-nums}.av-en-share span{font-size:11px;line-height:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}.av-en-pill{grid-area:pill;justify-self:end;padding:5px 12px;border-radius:var(--r-pill);font-size:12px;line-height:18px;font-weight:600;white-space:nowrap}.av-engine[data-cited=true] .av-en-pill{background:var(--tint-strong);color:var(--band-strong-ink)}.av-engine[data-cited=false] .av-en-pill{background:var(--tint-poor);color:var(--band-poor-ink)}.av-engine[data-cited=false] .av-en-bar i{background:0 0}.av-engine[data-cited=false]{background:var(--fill-poor)}.av-engines-note{margin-top:var(--s5);max-width:66ch;color:var(--slate);font-size:18px;line-height:28px}.av-finds{display:grid;gap:var(--s5)}.av-find{padding:var(--s6);--card-fill:var(--haze);background:var(--card-fill);border-radius:var(--r-md)}.av-find[data-sev=critical]{--card-fill:var(--fill-poor)}.av-find[data-sev=warning]{--card-fill:var(--fill-work)}.av-find[data-sev=notice]{--card-fill:var(--haze)}.av-find-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}.av-sev{padding:3px 10px;border-radius:var(--r-pill);font-size:11px;line-height:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}[data-sev=critical] .av-sev{background:var(--tint-poor);color:var(--band-poor-ink)}[data-sev=warning] .av-sev{background:var(--tint-work);color:var(--band-work-ink)}[data-sev=notice] .av-sev{background:var(--mist);color:var(--gray)}.av-find[data-sev=notice] .av-sev{background:var(--white)}.av-find-sect{font-size:12px;line-height:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}.av-find h3{font-size:22px;line-height:30px;margin-bottom:var(--s3);max-width:44ch}.av-find-ev{margin:0;padding:var(--s3) var(--s4);background:var(--card-fill);background:color-mix(in srgb,var(--card-fill) 93%,var(--ink));border-radius:var(--r-sm);color:var(--gray);font-size:14px;line-height:23px;font-variant-numeric:tabular-nums}.av-find-why{margin:var(--s4) 0 0;max-width:66ch;color:var(--slate);font-size:16px;line-height:27px}.av-more{display:grid;border-top:1px solid var(--line)}.av-more-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:var(--s4);align-items:baseline;padding:var(--s4) 0;border-bottom:1px solid var(--line);font-size:16px;line-height:25px;color:var(--slate)}.av-more-row>.av-sev{justify-self:start}.av-more-sect{font-size:12px;line-height:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);white-space:nowrap}@media (hover:hover) and (pointer:fine){.av-engine,.av-find,.av-ring{transition:transform var(--hover-t) var(--ease),box-shadow var(--hover-t) var(--ease),background-color var(--hover-t) var(--ease)}.av-engine:hover,.av-find:hover{transform:translateY(-1px);box-shadow:var(--e-card)}.av-ring:hover{transform:translateY(-1px);background:var(--haze);box-shadow:var(--e-card)}.av-more-row{transition:background-color var(--hover-t) var(--ease)}.av-more-row:hover{background:var(--haze)}.av-arc-fill{transition:stroke-width var(--hover-t) var(--ease)}.av-arc-track{transition:stroke var(--hover-t) var(--ease)}.av-en-bar i{transition:background-color var(--hover-t) var(--ease)}.av-gauge:hover .av-arc-fill{stroke-width:15}.av-ring:hover .av-arc-fill{stroke-width:11}.av-gauge:hover .av-arc-track,.av-ring:hover .av-arc-track{stroke:var(--line)}.av-engine:hover .av-en-bar i{background:var(--purple-deep)}}.av-hand{margin-top:var(--s14)}.av-hand.closer{padding:var(--sec-sm) var(--s8);background:var(--surface-alt);border-radius:var(--r-lg)}.av-gate-face{max-width:56ch;margin-inline:auto;text-align:center;display:grid;gap:var(--s5);justify-items:center}.av-gate-face .eyebrow{margin:0;color:var(--plum)}.av-gate-face h2{max-width:26ch;margin:0}.av-gate-face .closer-p{margin:0}.av-hand-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3)}.av-note{margin-top:var(--s10);padding-top:var(--s5);border-top:1px solid var(--line);max-width:70ch;color:var(--ash);font-size:14px;line-height:23px}.av-note b{color:var(--gray);font-weight:600}.av-inside{padding:var(--sec) 0;background:var(--surface-alt)}.av-inside-box{max-width:1180px;margin-inline:auto}.av-inside-deck{margin-top:var(--s3);color:var(--gray);font-size:18px;line-height:27px;max-width:66ch}.av-inside-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s8);margin-top:var(--s8)}.av-inside-grid p{max-width:66ch}.av-inside h3{font-size:20px;line-height:28px;margin-bottom:var(--s2)}.av-inside p{margin:0;color:var(--gray);font-size:16px;line-height:25px}@media (prefers-reduced-motion:no-preference){@keyframes av-fill-in{from{transform:scaleX(0)}to{transform:none}}.av-en-bar i{transform-origin:left center;animation:av-fill-in .7s var(--ease) both}.av-engine:first-child .av-en-bar i{animation-delay:260ms}.av-engine:nth-child(2) .av-en-bar i{animation-delay:350ms}.av-engine:nth-child(3) .av-en-bar i{animation-delay:440ms}.av-engine:nth-child(4) .av-en-bar i{animation-delay:530ms}@keyframes av-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.av-report.is-in>.wrap>*{animation:av-rise 480ms var(--ease) both}.av-report.is-in .av-report-top{animation-delay:0s}.av-report.is-in .av-demo{animation-delay:60ms}.av-report.is-in .av-score{animation-delay:120ms}.av-report.is-in .av-sect:first-of-type{animation-delay:.2s}.av-report.is-in .av-sect:nth-of-type(2){animation-delay:260ms}.av-report.is-in .av-sect:nth-of-type(3){animation-delay:320ms}.av-report.is-in .av-sect:nth-of-type(4){animation-delay:380ms}.av-report.is-in .av-hand,.av-report.is-in .av-note{animation:none}}@media (max-width:1023px){.av-score{grid-template-columns:1fr;gap:var(--s6);justify-items:start}}@media (max-width:900px){.av-inside-grid{grid-template-columns:1fr;gap:var(--s6)}.av-lede{font-size:18px;line-height:28px}.av-form-h{font-size:24px;line-height:32px}.av-rings{grid-template-columns:1fr;gap:var(--s6)}.av-ring{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--s5);align-items:center;padding:var(--s3)}.av-ring h3{margin-top:0}.av-engine{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name share" "note pill" "bar bar";gap:var(--s3) var(--s4)}.av-en-pill{justify-self:end}}@media (max-width:600px){.av-url{flex-wrap:wrap;border-radius:var(--r-md);padding:var(--s3) var(--s4)}.av-url input{padding:6px 0}.av-url-go{width:100%;justify-content:center;margin-top:var(--s2)}.av-demo{text-align:left}.av-hand.closer{padding:var(--sec-sm) var(--s5)}.av-find{padding:var(--s5)}.av-counts{gap:var(--s4) var(--s5)}.av-more-row{grid-template-columns:minmax(0,1fr);gap:var(--s2)}.av-more-sect{display:none}.av-gauge{width:140px;height:140px}.av-gauge-n{font-size:38px}}@media (prefers-reduced-motion:reduce){.av-arc-fill,.av-arc-track,.av-en-bar i,.av-engine,.av-find,.av-more-row,.av-ring{transition:none}.av-engine:hover,.av-find:hover,.av-ring:hover{transform:none}.av-log li{transition:none}.av-log .av-mark{animation:none!important}.av-rail i{transition:none}}@supports not (color:color-mix(in srgb,red,red)){.av{--tint-poor:rgb(249,230,230);--tint-work:rgb(253,241,219);--tint-good:rgb(230,237,252);--tint-strong:rgb(233,246,237);--fill-poor:rgb(252,242,242);--fill-work:rgb(254,248,237);--fill-strong:rgb(244,250,246)}}
/* css/footer.css */
.site-footer{background:radial-gradient(90% 120% at 22% 0,#2a2e36 0,transparent 58%),radial-gradient(70% 100% at 88% 100%,#23262d 0,transparent 70%),#14161a;--f-text:rgba(255,255,255,.74);--f-quiet:rgba(255,255,255,.55);color:var(--f-text)}.site-footer .footer-blurb,.site-footer .footer-col a,.site-footer .footer-legal a{color:var(--f-text)}.site-footer .footer-note{color:var(--f-quiet);opacity:1}.site-footer .footer-addr{display:grid;justify-items:start;gap:2px;margin:0 0 var(--s6);font-style:normal;font-size:14px;line-height:22px;color:var(--f-text)}.site-footer .footer-addr b{margin-bottom:2px;font-weight:600;color:var(--white)}.site-footer .footer-addr a{color:var(--f-text);text-decoration:none;transition:color .2s ease-in-out}.site-footer .footer-addr a:focus-visible,.site-footer .footer-addr a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}@media (max-width:640px){.site-footer .footer-addr{gap:8px}}.site-footer .footer-col a:focus-visible,.site-footer .footer-col a:hover,.site-footer .footer-legal a:focus-visible,.site-footer .footer-legal a:hover{color:var(--white)}.site-footer :focus-visible{outline-color:var(--lavender)}.site-footer .footer-base{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s3) var(--s10)}.site-footer .footer-base .footer-note{flex:1 1 300px;max-width:360px}.site-footer .footer-base-cols{flex:2 1 480px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}.site-footer .footer-legal{grid-column:3;margin-left:0;justify-content:flex-end}.site-footer .footer-ext{margin-left:5px;font-size:.85em;line-height:1;color:var(--f-quiet);transition:color .2s ease-in-out}.site-footer .footer-col a:focus-visible .footer-ext,.site-footer .footer-col a:hover .footer-ext{color:inherit}.site-footer .footer-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* css/to-top.css */
.to-top{position:fixed;right:var(--s6);bottom:var(--s6);z-index:var(--z-dropdown);width:48px;height:48px;padding:0;display:grid;place-items:center;border-radius:var(--r-pill);box-shadow:var(--e-high);opacity:0;visibility:hidden;transition:background-color .2s ease-in-out,color .2s ease-in-out,transform 180ms var(--ease),box-shadow 220ms var(--ease),opacity .2s ease-in-out,visibility 0s linear .2s}.to-top.is-in{opacity:1;visibility:visible;transition-delay:0s}.to-top svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}@media (max-width:520px){.to-top{right:var(--s4);bottom:var(--s4);width:44px;height:44px}}@media (max-width:900px){.site-footer .footer-base{padding-bottom:calc(48px + var(--s6) * 2)}}@media (prefers-reduced-motion:reduce){.to-top{transition:opacity 1ms linear,visibility 0s linear 1ms}}
/* css/header-menu.css */
.hdr-toggle{display:none}@media (max-width:720px){.has-v2:not(.has-hdr-menu) .site-header .wrap>.ins-nav{display:none}.has-v2:not(.has-hdr-menu) .site-header .wrap::after{content:"";width:44px;height:44px;flex:none}.has-hdr-menu .hdr-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;padding:0;border:0;background:0 0;color:var(--black);cursor:pointer;border-radius:var(--r-pill);-webkit-tap-highlight-color:transparent}.has-hdr-menu .hdr-toggle:focus-visible{outline:2px solid var(--purple-deep);outline-offset:2px}.hdr-burger,.hdr-burger::after,.hdr-burger::before{display:block;width:20px;height:2px;background:currentColor;border-radius:1px;transition:transform 220ms var(--ease),opacity 120ms linear}.hdr-burger{position:relative}.hdr-burger::after,.hdr-burger::before{content:"";position:absolute;left:0}.hdr-burger::before{top:-6px}.hdr-burger::after{top:6px}.hdr-toggle[aria-expanded=true] .hdr-burger{background:0 0}.hdr-toggle[aria-expanded=true] .hdr-burger::before{top:0;transform:rotate(45deg)}.hdr-toggle[aria-expanded=true] .hdr-burger::after{top:0;transform:rotate(-45deg)}html.has-hdr-menu .site-header{position:relative;z-index:60}html.hdr-menu-locked .site-header{background:var(--white)}.hdr-menu{position:absolute;left:0;right:0;top:100%;z-index:2;background:var(--white);border-top:1px solid var(--line);box-shadow:var(--e-high);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s var(--ease),transform 240ms var(--ease),visibility 0s linear 240ms;max-height:calc(100vh - 100%);overflow-y:auto;overscroll-behavior:contain}.hdr-menu.is-open{visibility:visible;opacity:1;transform:none;transition:opacity 220ms var(--ease),transform 260ms var(--ease),visibility 0s}.hdr-menu-inner{padding:var(--s3) var(--s5) var(--s5)}.hdr-menu .ins-nav{display:grid;gap:0;margin:0;padding:0;border-top:0;overflow:visible}.hdr-menu .ins-nav a{font-size:18px;line-height:24px;min-height:52px;padding:0;display:flex;align-items:center;color:var(--black);white-space:normal}.hdr-menu .ins-nav a+a{border-top:1px solid var(--line)}.hdr-menu .ins-nav a:hover{color:var(--blue-deep)}.hdr-menu .ins-nav a[aria-current=page]{color:var(--plum);font-weight:600;box-shadow:none}.hdr-menu .hdr-account{margin:var(--s3) 0 0;padding-top:var(--s3);border-top:1px solid var(--line);display:flex;align-items:center;min-height:44px;font-size:15px}.hdr-scrim{position:fixed;inset:0;z-index:50;background:rgba(18,20,25,.38);opacity:0;transition:opacity .2s var(--ease);touch-action:none}.hdr-scrim.is-open{opacity:1}}.hdr-menu-locked,.hdr-menu-locked body{overflow:hidden}
/* css/header-search.css */
.hdr-search{flex:none;display:flex;align-items:center;position:relative;margin-left:auto}.site-header .wrap .hdr-search+.btn,.site-header .wrap .hdr-search+.hdr-account{margin-left:0}.hdr-search-field{position:relative;display:flex;align-items:center;flex:none;width:40px;height:40px;border-radius:var(--r-pill);background:0 0;overflow:hidden;transition:width 280ms var(--ease),background-color .2s var(--ease)}.hdr-search.is-open .hdr-search-field{width:300px;background:var(--mist)}.hdr-search-b{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;padding:0;margin:0;border:0;border-radius:50%;background:0 0;cursor:pointer;transition:background-color 160ms var(--ease)}.hdr-search:not(.is-open) .hdr-search-b:hover{background:rgba(58,35,100,.06)}.hdr-search-b:focus-visible{outline:var(--focus-w) solid var(--focus-c);outline-offset:2px}.hdr-search.is-open .hdr-search-b{pointer-events:none;background:0 0}.hdr-search-i{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:16px;height:16px;pointer-events:none;color:var(--gray);transition:color 160ms var(--ease)}.hdr-search-i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.hdr-search:not(.is-open) .hdr-search-b:hover~.hdr-search-field .hdr-search-i{color:var(--blue-deep)}.hdr-search-field:focus-within .hdr-search-i{color:var(--plum)}.hdr-search-field:focus-within{outline:var(--focus-w) solid var(--focus-c);outline-offset:var(--focus-in)}.hdr-search-in{position:absolute;inset:0;width:100%;height:100%;padding:0 38px 0 36px;border:0;background:0 0;color:var(--slate);font:inherit;font-size:15px;line-height:22px;-webkit-appearance:none;appearance:none;opacity:0;pointer-events:none;transition:opacity 120ms var(--ease)}.hdr-search.is-open .hdr-search-in{opacity:1;pointer-events:auto;transition-delay:90ms}.hdr-search-in:focus{outline:0}.hdr-search-in::placeholder{color:var(--hs-ph,var(--gray))}.hdr-search-in::-webkit-search-cancel-button,.hdr-search-in::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.hdr-search-x{position:absolute;right:7px;top:50%;transform:translateY(-50%);z-index:3;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:rgba(58,35,100,.07);color:var(--gray);cursor:pointer;transition:background-color .2s ease-in-out,color .2s ease-in-out}.hdr-search-x svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.hdr-search-x:hover{background:var(--plum);color:var(--white)}.hdr-search-x:focus-visible{outline:var(--focus-w) solid var(--focus-c);outline-offset:1px}.hdr-search-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;width:360px;max-width:min(360px,calc(100vw - var(--s8)));max-height:min(70vh,420px);overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e-high);animation:hs-in 160ms var(--ease) both}@keyframes hs-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.hs-scroll{padding:var(--s2) 0}.hs-group{margin:var(--s2) 0 var(--s1);padding:0 var(--s4);color:var(--gray);font-size:11px;line-height:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.hs-group:first-child{margin-top:0}.hs-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px var(--s3);padding:9px var(--s4);color:var(--slate);text-decoration:none}.hs-row-t{font-size:15px;line-height:22px;font-weight:500}.hs-row-m{grid-column:1;grid-row:2;color:var(--gray);font-size:13px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hs-row-k{grid-column:2;grid-row:1;color:var(--gray);font-size:11px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.hs-row.is-active,.hs-row:hover{background:var(--pale)}.hs-row.is-active .hs-row-t,.hs-row:hover .hs-row-t{color:var(--plum)}.hs-row:focus-visible{outline:var(--focus-w) solid var(--focus-c);outline-offset:-2px}.hs-none{margin:0;padding:var(--s3) var(--s4);color:var(--gray);font-size:14px;line-height:21px}.hs-all{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:12px var(--s4);border-top:1px solid var(--line);background:var(--white);color:var(--plum);font-size:14px;line-height:21px;font-weight:500}.hs-all-a{font-size:15px;line-height:21px;transition:transform 160ms var(--ease)}.hs-all.is-active,.hs-all:hover{background:var(--pale);color:var(--purple-deep)}.hs-all.is-active .hs-all-a,.hs-all:hover .hs-all-a{transform:translateX(3px)}.site-header:has(.btn-on-dark) .hdr-search-i{color:rgba(255,255,255,.74)}.site-header:has(.btn-on-dark) .hdr-search:not(.is-open) .hdr-search-b:hover{background:rgba(255,255,255,.12)}.site-header:has(.btn-on-dark) .hdr-search:not(.is-open) .hdr-search-b:hover~.hdr-search-field .hdr-search-i{color:var(--white)}.site-header:has(.btn-on-dark) .hdr-search.is-open .hdr-search-field{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-header:has(.btn-on-dark) .hdr-search-in{color:var(--white);--hs-ph:rgba(255,255,255,.6)}.site-header:has(.btn-on-dark) .hdr-search-field:focus-within .hdr-search-i{color:var(--white)}.site-header:has(.btn-on-dark) .hdr-search-field:focus-within{outline-color:var(--lavender)}.site-header:has(.btn-on-dark) .hdr-search-x{background:rgba(255,255,255,.16);color:var(--white)}.site-header:has(.btn-on-dark) .hdr-search-x:hover{background:var(--white);color:var(--plum)}@media (max-width:900px){.site-header:has(.btn-on-dark) .hdr-search-i{color:var(--gray)}.site-header:has(.btn-on-dark) .hdr-search:not(.is-open) .hdr-search-b:hover{background:rgba(58,35,100,.06)}.site-header:has(.btn-on-dark) .hdr-search:not(.is-open) .hdr-search-b:hover~.hdr-search-field .hdr-search-i{color:var(--blue-deep)}.site-header:has(.btn-on-dark) .hdr-search.is-open .hdr-search-field{background:var(--mist);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header:has(.btn-on-dark) .hdr-search-in{color:var(--slate);--hs-ph:var(--gray)}.site-header:has(.btn-on-dark) .hdr-search-field:focus-within{outline-color:var(--focus-c)}.site-header:has(.btn-on-dark) .hdr-search-field:focus-within .hdr-search-i{color:var(--plum)}.site-header:has(.btn-on-dark) .hdr-search-x{background:rgba(58,35,100,.07);color:var(--gray)}.site-header:has(.btn-on-dark) .hdr-search-x:hover{background:var(--plum);color:var(--white)}}@media (max-width:1080px){.hdr-search.is-open .hdr-search-field{width:220px}}@media (max-width:720px){.site-header .wrap:has(.hdr-search.is-open){position:relative}.hdr-search.is-open{position:absolute;left:var(--s4);right:var(--s4);top:50%;transform:translateY(-50%);z-index:2;margin:0}.hdr-search.is-open .hdr-search-field{width:100%;transform-origin:100% 50%;animation:hs-unfurl 280ms var(--ease) both;transition:background-color .2s var(--ease)}@keyframes hs-unfurl{from{transform:scaleX(calc(40 / 358))}to{transform:scaleX(1)}}.hdr-search.is-open .hdr-search-in,.hdr-search.is-open .hdr-search-x{animation:hs-unsquash 280ms var(--ease) both}@keyframes hs-unsquash{from{transform:translateY(-50%) scaleX(calc(358 / 40))}to{transform:translateY(-50%) scaleX(1)}}.hdr-search.is-open .hdr-search-in{animation-name:hs-unsquash-in}@keyframes hs-unsquash-in{from{transform:scaleX(calc(358 / 40));opacity:0}to{transform:scaleX(1);opacity:1}}.hdr-search-panel{width:auto;left:0;right:0;max-width:none}}@media (prefers-reduced-motion:reduce){.hdr-search-panel{animation:none}.hdr-search-b,.hdr-search-field,.hdr-search-i,.hdr-search-in,.hdr-search-x,.hs-all-a{transition:none;animation:none}}
/* css/pixel-ui.css */
/* AMIN APAC - pixel-ui.css (prototype, index + index-v3 only, 2026-11-05)
   The page's UI in the hero's pixel language, while the hero look is Binary or
   Pixel; with 3D (real/textured/rendered) js/hero-look.js sets html[data-ui="round"]
   and nothing here applies. No attribute (no JS yet) = pixel, Binary's default.
   Her call: "the visual language should be consistent" - the middle option, the
   site follows the hero style, tried on the homepage before any other page.
   Shape: clip-path, a 3-stair corner of --pxs (4px on controls = a 12px corner,
   8px on cards = 24px, the old --r-lg). clip-path, not the stair box-shadows the
   hero buttons use, because cards carry photos and gradients. It clips outer
   shadows and outlines too, so focus is drawn inside (outline-offset:-4px).
   Text stays Libre Franklin; only control labels take --mono caps.
   The closer's button (.closer-bin) and the hero's (.hb132-cta) draw their own
   stairs and are left alone. */
html[data-ui="pixel"] :is(.btn,.nx-cta,.mv-open,.ni-chip,.hdr-search-field){--pxs:4px}
html[data-ui="pixel"] :is(.nx-card,.nx-link,.nw-follow,.mv-col,.pcard,.hub-rail){--pxs:8px}
html[data-ui="pixel"] :is(.mnotes-pick,.site-header .wrap){--pxs:6px}
html[data-ui="pixel"] :is(.hub-row-media){--pxs:5px}
html[data-ui="pixel"] :is(.tile-xs,.hdr-arrow,.hdr-search-b){--pxs:3px}
html[data-ui="pixel"] :is(.btn,.nx-cta,.mv-open,.ni-chip,.hdr-search-field,.nx-card,.nx-link,.nw-follow,.mv-col,.pcard,.hub-rail,.mnotes-pick,.site-header .wrap,.hub-row-media,.tile-xs,.hdr-arrow,.hdr-search-b):not(.closer-bin .btn){
  border-radius:0;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}
/* control labels: the hero buttons' voice */
html[data-ui="pixel"] :is(.btn,.nx-cta,.mv-open):not(.closer-bin .btn){font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
/* focus inside the shape, where the clip cannot cut it */
html[data-ui="pixel"] :is(.btn,.nx-cta,.mv-open,.ni-chip,.nx-link,.pcard,.mnotes-pick,.hdr-arrow,.hdr-search-b):not(.closer-bin .btn):focus-visible{outline-offset:-4px}
/* a hairline border breaks at the stairs (the clip cuts its corners off): the map
   column's dark Expand is a line pill, so here it is a fill instead */
html[data-ui="pixel"] .mv-col[data-v="map"]:not(.is-open) .mv-open{border-color:transparent;background:rgb(255 255 255 / .14)}

/* ===== 3D: rounded keys with weight (2026-11-05, her go) =====================
   With the 3D look (html[data-ui="round"]) the buttons keep their pill and Libre
   Franklin, and gain depth instead of facets: a solid 4px edge underneath (one
   step darker than the face, --key-edge), a hairline of light along the top as
   the hero's sun would put there, and a press that sinks the 4px. Pixel snaps,
   3D has weight. Subtle on purpose: 4px, no gloss. */
html[data-ui="round"] :is(.btn,.hb132-cta,.nx-cta){
  --key-edge:rgb(0 0 0 / .16);
  --key:0 4px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .22),0 6px 14px -4px rgb(0 0 0 / .18),0 0 0 0 transparent;   /* four layers in every state, so hover and press interpolate */
  box-shadow:var(--key);
  transition:background-color 260ms cubic-bezier(.22,.61,.36,1),color 260ms cubic-bezier(.22,.61,.36,1),transform 260ms cubic-bezier(.22,.61,.36,1),box-shadow 260ms cubic-bezier(.22,.61,.36,1)}
html[data-ui="round"] :is(.btn-primary,.hb132-cta){--key-edge:var(--plum)}
html[data-ui="round"] .btn-neutral{--key-edge:#000}
html[data-ui="round"] .btn-secondary{--key-edge:color-mix(in srgb,var(--lavender) 62%,var(--plum))}
html[data-ui="round"] .btn-on-dark{--key-edge:color-mix(in srgb,var(--lavender) 70%,var(--plum))}
html[data-ui="round"] :is(.btn-on-dark-ghost,.hb132-copy .hb132-cta-line){--key-edge:rgb(255 255 255 / .10)}
html[data-ui="round"] .nx-card.is-on .nx-cta{--key-edge:color-mix(in srgb,var(--hue) 38%,#000);box-shadow:var(--key)}   /* in-the-news.css sets none here, at 0,3,0 */
/* hover lifts a pixel more over the same edge; press sinks onto the page */
html[data-ui="round"] :is(.btn,.hb132-cta):is(:hover,:focus-visible),
html[data-ui="round"] .nx-link:is(:hover,:focus-visible) .nx-cta,
html[data-ui="round"] .nx-card.is-on .nx-link:is(:hover,:focus-visible) .nx-cta{
  transform:translateY(-1px);box-shadow:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .22),0 9px 18px -4px rgb(0 0 0 / .22),0 0 0 0 transparent}
html[data-ui="round"] :is(.btn,.hb132-cta):active,
html[data-ui="round"] .nx-link:active .nx-cta,
html[data-ui="round"] .nx-card.is-on .nx-link:active .nx-cta{
  transform:translateY(4px);box-shadow:0 0 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .12),0 0 0 -4px rgb(0 0 0 / 0),0 0 0 0 transparent;transition-duration:80ms}
/* the closer's button is drawn pixel by css/closer-binary.css whenever the hero
   STYLE is Binary; in the 3D look it goes back to the pill, as a key */
html[data-ui="round"] .closer-bin .btn-on-dark{
  /* 2026-11-06 ("cta for 3d?"): the light the floor runs to - hero size (56px, as
     .hb132-cta from 1920), a face lit from above, a 5px edge, a wide lavender halo;
     js/closer-binary.js pools its light on the floor beneath */
  border-radius:var(--r-pill);padding:0 34px;min-height:56px;display:inline-flex;align-items:center;margin-inline:0;
  font-family:var(--font);font-size:17px;font-weight:600;letter-spacing:-.005em;text-transform:none;
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#EFE7FF 100%);
  --key:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 10px 24px -6px rgb(0 0 0 / .35),0 0 64px 6px rgb(211 185 255 / .32);
  --cb-shadow:var(--key);box-shadow:var(--key);transition:background-color 260ms cubic-bezier(.22,.61,.36,1),color 260ms cubic-bezier(.22,.61,.36,1),transform 260ms cubic-bezier(.22,.61,.36,1),box-shadow 260ms cubic-bezier(.22,.61,.36,1)}
html[data-ui="round"] .closer-bin .btn-on-dark::before{display:block}
html[data-ui="round"] .closer-bin .btn-on-dark::after{display:none}
html[data-ui="round"] .closer-brand.closer-bin .btn-on-dark:is(:hover,:focus-visible){--cb-px:#fff;background:var(--white);transform:translateY(-1px);
  box-shadow:0 6px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 14px 28px -6px rgb(0 0 0 / .4),0 0 80px 10px rgb(211 185 255 / .42)}
@media (prefers-reduced-motion:reduce){
  html[data-ui="round"] :is(.btn,.hb132-cta,.nx-cta){transition:none}
  html[data-ui="round"] :is(.btn,.hb132-cta):is(:hover,:focus-visible){transform:none}
}

/* ===== 3D: one button (2026-11-06, "not transparent, both the same style") =====
   The hero's stop button was a see-through pill; in 3D it takes the closer's lit key:
   solid white face lit from above, a lavender edge, a soft halo, plum ink. "Send one
   brief" keeps purple (the page's one primary) in the same build: the face lit from
   above, the plum edge, a purple halo. Sizes stay the hero's own (48, 56 from 1920) */
html[data-ui="round"] .hb132-copy .hb132-cta-line{
  border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#EFE7FF 100%);color:var(--plum);
  --key-edge:color-mix(in srgb,var(--lavender) 70%,var(--plum));
  --key:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 10px 24px -6px rgb(0 0 0 / .35),0 0 48px 2px rgb(211 185 255 / .26);
  box-shadow:var(--key)}
html[data-ui="round"] .hb132-copy .hb132-cta-line:is(:hover,:focus-visible){
  background:var(--lavender);color:var(--plum);border-color:transparent;transform:translateY(-1px);
  box-shadow:0 6px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 14px 28px -6px rgb(0 0 0 / .4),0 0 64px 6px rgb(211 185 255 / .36)}
html[data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:not(.hb132-cta-line){
  background:linear-gradient(180deg,#9A5CFF 0%,var(--purple-deep) 60%,#6E00CC 100%);
  --key-edge:var(--plum);
  --key:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .35),0 10px 24px -6px rgb(0 0 0 / .35),0 0 48px 2px rgb(144 79 255 / .32);
  box-shadow:var(--key)}
html[data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:not(.hb132-cta-line):is(:hover,:focus-visible){
  background:var(--purple);transform:translateY(-1px);
  box-shadow:0 6px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .35),0 14px 28px -6px rgb(0 0 0 / .4),0 0 64px 6px rgb(144 79 255 / .42)}

/* ===== 3D hover: light, not a colour swap (2026-11-06, "improve hover") =========
   The hovers swapped the lit gradient face for a flat colour: a gradient cannot
   blend into a colour, so it snapped, and the lighting went with it. Now the face
   stays; the button rises 2px onto a deeper edge, its halo brightens, and a sheen
   crosses the face once, as a reflection would. Press sinks it flat. The sheen is
   the ::before (the closer's .btn wipe is swapped for it; the hero buttons get one). */
html[data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta{position:relative;overflow:hidden;isolation:isolate}
html[data-ui="round"] :is(:is(.hb132-copy,.hb132-bar) .hb132-cta,.closer-bin .btn-on-dark)::before{
  content:"";display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,var(--sheen,rgb(211 185 255 / .6)) 50%,transparent 70%);
  transform:translateX(-110%);transition:transform 0s}
html[data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:not(.hb132-cta-line){--sheen:rgb(255 255 255 / .38)}
html[data-ui="round"] :is(:is(.hb132-copy,.hb132-bar) .hb132-cta,.closer-bin .btn-on-dark):is(:hover,:focus-visible)::before{
  transform:translateX(110%);transition:transform 700ms cubic-bezier(.3,.6,.2,1)}
/* rise: the face is kept (gradient), only the light and the lift change */
html[data-ui="round"] .hb132-copy .hb132-cta-line:is(:hover,:focus-visible){
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#EFE7FF 100%);color:var(--plum);transform:translateY(-2px);
  box-shadow:0 7px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 16px 30px -6px rgb(0 0 0 / .42),0 0 64px 8px rgb(211 185 255 / .42)}
html[data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:not(.hb132-cta-line):is(:hover,:focus-visible){
  background:linear-gradient(180deg,#9A5CFF 0%,var(--purple-deep) 60%,#6E00CC 100%);transform:translateY(-2px);
  box-shadow:0 7px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .45),0 16px 30px -6px rgb(0 0 0 / .42),0 0 64px 8px rgb(144 79 255 / .5)}
html[data-ui="round"] .closer-brand.closer-bin .btn-on-dark:is(:hover,:focus-visible){
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#EFE7FF 100%);color:var(--plum);transform:translateY(-2px);
  box-shadow:0 7px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 18px 32px -6px rgb(0 0 0 / .45),0 0 96px 14px rgb(211 185 255 / .48)}
/* press: down onto the edge */
html[data-ui="round"] :is(:is(.hb132-copy,.hb132-bar) .hb132-cta,.closer-brand.closer-bin .btn-on-dark):active{
  transform:translateY(5px);transition-duration:80ms;
  box-shadow:0 0 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .5),0 4px 10px -4px rgb(0 0 0 / .3),0 0 40px 0 rgb(211 185 255 / .28)}
html[data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta{transition:transform 220ms cubic-bezier(.2,.7,.3,1),box-shadow 220ms cubic-bezier(.2,.7,.3,1),color 260ms cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){
  html[data-ui="round"] :is(:is(.hb132-copy,.hb132-bar) .hb132-cta,.closer-bin .btn-on-dark)::before{display:none}
}

/* ===== Binary (2026-11-06): the page in code, not pixels ===========================
   With the Binary look (or no attribute: Binary is the default) cards and buttons
   lose their curves for near-square corners, and control labels take --mono caps
   with a "_" cursor; the stairs are Pixel's. */
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.btn,.nx-cta,.mv-open,.ni-chip,.hdr-search-field,.nx-card,.nx-link,.nw-follow,.mv-col,.pcard,.hub-rail,.mnotes-pick,.tile-xs):not(.closer-bin .btn){border-radius:2px}   /* .hub-row-media: Apple corner in every look but Pixel (content-hub.css, 2026-11-09) */
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.btn,.nx-cta,.mv-open):not(.closer-bin .btn){font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* ===== 3D: the bar's controls as keys too (2026-11-06, "make this as 3d") ===========
   Style switch, pause and Jump to: a solid dark face lit from above, a 4px edge
   below, the top hairline; the switch's selection is a raised key inside it.
   Same hover as every button: a 2px rise, a brighter face, 200ms; press sinks. */
html[data-ui="round"] :is(.hs,.hb132-dest-btn,.hb132-pause){
  border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;
  background:linear-gradient(180deg,#3B3160 0%,#2A2246 55%,#221B3A 100%);
  box-shadow:0 4px 0 0 #120E20,inset 0 1px 0 rgb(255 255 255 / .14),0 10px 22px -6px rgb(0 0 0 / .45),0 0 0 0 transparent;
  transition:transform 260ms cubic-bezier(.22,.61,.36,1),box-shadow 260ms cubic-bezier(.22,.61,.36,1),color 260ms cubic-bezier(.22,.61,.36,1),filter 260ms cubic-bezier(.22,.61,.36,1)}
html[data-ui="round"] :is(.hb132-dest-btn,.hb132-pause):is(:hover,:focus-visible),html[data-ui="round"] .hb132-dest-btn[aria-expanded="true"]{
  filter:brightness(1.25);transform:translateY(-2px);
  box-shadow:0 6px 0 0 #120E20,inset 0 1px 0 rgb(255 255 255 / .18),0 14px 26px -6px rgb(0 0 0 / .5),0 0 24px 0 rgb(211 185 255 / .14)}
html[data-ui="round"] :is(.hb132-dest-btn,.hb132-pause):active{transform:translateY(4px);transition-duration:80ms;
  box-shadow:0 0 0 0 #120E20,inset 0 1px 0 rgb(255 255 255 / .1),0 4px 10px -4px rgb(0 0 0 / .4),0 0 0 0 transparent}
html[data-ui="round"] .hs-ind{background:linear-gradient(180deg,#6A5A9E 0%,#54468A 100%);box-shadow:0 2px 0 0 #2A2048,inset 0 1px 0 rgb(255 255 255 / .22)}
/* the shared hover, on the 3D buttons too: their lift was 1px on the plain .btn keys */
html[data-ui="round"] :is(.btn,.hb132-cta):is(:hover,:focus-visible),
html[data-ui="round"] .nx-link:is(:hover,:focus-visible) .nx-cta{transform:translateY(-2px)}

/* ===== smoother hovers, every look (2026-11-06, "make sure all button hover is smoother")
   One curve for every button, in and out: 260ms on an ease-out that settles gently
   (was 140-220ms on three different curves), and the colour wipe on the plain
   buttons a touch slower (460ms) so it reads as a slide, not a flick. Press stays
   quick (80-90ms) - a press should feel immediate. */
:is(.btn,.nx-cta,.mv-open,.ni-chip,.hb132-cta,.hb132-dest-btn,.hb132-pause,.hb132-skip,.hs-b){transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.btn-fill::before{transition:transform 460ms cubic-bezier(.22,.61,.36,1)}
.btn-fill:not(:hover):not(:focus-visible)::before{transition-duration:320ms}

/* ===== 3D: the scroll cue (2026-11-06, "this button and arrow should be in 3d") =====
   Not a control (pointer-events:none), so no hover: the pill is a lit key like the
   bar's (face lit from above, 4px edge, drop shadow), the line is a beam of light
   with a glowing pulse, and the chevron is extruded (a darker copy 2px below) with
   a faint lavender glow. */
html[data-ui="round"] .hs-cue>span{
  -webkit-backdrop-filter:none;backdrop-filter:none;
  background:linear-gradient(180deg,#3B3160 0%,#2A2246 55%,#221B3A 100%);
  box-shadow:0 4px 0 0 #120E20,inset 0 1px 0 rgb(255 255 255 / .14),0 10px 22px -6px rgb(0 0 0 / .5)}
html[data-ui="round"] .hs-cue-a{margin-top:4px}   /* clear of the pill's edge */
html[data-ui="round"] .hs-cue-a>b{background:rgb(211 185 255 / .16);box-shadow:0 0 6px rgb(211 185 255 / .22)}
html[data-ui="round"] .hs-cue-a>b::before{background:linear-gradient(180deg,rgb(255 255 255 / 0),#fff);box-shadow:0 0 8px 1px rgb(211 185 255 / .75)}
html[data-ui="round"] .hs-cue-a::after{filter:drop-shadow(0 2px 0 #120E20) drop-shadow(0 0 5px rgb(211 185 255 / .55))}

/* ===== Every CTA follows the banner's button, per look (2026-11-06) ================
   "make sure all cta in all style follow the style on what we have in banner": the
   page's buttons (.btn: field notes, newsletters, tools, header, footer, the member
   panel) and the news cards' "Read more" (.nx-cta) take the hero's recipe for the
   look that is on. The back-to-top arrow (.to-top) is an icon, not a CTA: left out. */

/* --- Binary: ">" prompt, corner brackets, --mono caps, lavender hover, decode ---- */
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.btn:not(.to-top),.nx-cta):not(.closer-bin .btn){border-style:solid;border-width:0;border-color:transparent;
  border-image-source:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M.75 9V.75H9M21 .75h8.25V9M29.25 21v8.25H21M9 29.25H.75V21' fill='none' stroke='%237A00DF' stroke-width='1.5'/%3E%3C/svg%3E");border-image-slice:10;border-image-width:10px;border-image-outset:7px;
  transition:background-color 260ms cubic-bezier(.22,.61,.36,1),color 260ms cubic-bezier(.22,.61,.36,1),transform 260ms cubic-bezier(.22,.61,.36,1),box-shadow 260ms cubic-bezier(.22,.61,.36,1),border-image-outset 260ms cubic-bezier(.22,.61,.36,1)}
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.btn-on-dark,.btn-on-dark-ghost):not(.to-top):not(.closer-bin .btn){border-image-source:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M.75 9V.75H9M21 .75h8.25V9M29.25 21v8.25H21M9 29.25H.75V21' fill='none' stroke='%23D3B9FF' stroke-width='1.5'/%3E%3C/svg%3E")}
html:not([data-ui="round"]):not([data-ui="pixel"]) .btn:not(.to-top):not(.closer-bin .btn)::before{content:">";display:inline;position:static;inset:auto;z-index:auto;transform:none;background:none;margin-right:.6em;opacity:.6}
html:not([data-ui="round"]):not([data-ui="pixel"]) .nx-cta::before{content:">";opacity:.6}
html:not([data-ui="round"]):not([data-ui="pixel"]) .btn:not(.to-top):not(.closer-bin .btn):is(:hover,:focus-visible),html:not([data-ui="round"]):not([data-ui="pixel"]) .nx-link:is(:hover,:focus-visible) .nx-cta{
  background:var(--lavender);color:var(--plum);transform:translateY(-2px);border-image-outset:4px;
  box-shadow:0 0 0 1px rgb(211 185 255 / .5),0 0 28px rgb(211 185 255 / .35)}
html:not([data-ui="round"]):not([data-ui="pixel"]) .btn:not(.to-top):not(.closer-bin .btn):active,html:not([data-ui="round"]):not([data-ui="pixel"]) .nx-link:active .nx-cta{transform:translateY(0);border-image-outset:2px;transition-duration:90ms}

/* --- Pixel: stairs + --mono caps are in place; the banner's hover: lavender face,
       plum ink, a 2px rise (the wipe now fills lavender for every variant) ------- */
html[data-ui="pixel"] .btn-fill:not(.to-top):not(.closer-bin .btn)::before{background:var(--lavender)}
html[data-ui="pixel"] .btn:not(.to-top):not(.closer-bin .btn):is(:hover,:focus-visible){color:var(--plum);transform:translateY(-2px)}
html[data-ui="pixel"] .nx-link:is(:hover,:focus-visible) .nx-cta{background:var(--lavender);color:var(--plum);transform:translateY(-2px)}
html[data-ui="pixel"] .nx-cta{transition:background-color 260ms cubic-bezier(.22,.61,.36,1),color 260ms cubic-bezier(.22,.61,.36,1),transform 260ms cubic-bezier(.22,.61,.36,1)}

/* --- 3D: the lit keys. White face for every secondary (neutral, secondary, on-dark,
       ghost, Read more), purple for the primary, as "Meet the agency" / "Send one
       brief"; 5px edge, top light, halo; hover rises 2px and a sheen crosses ------ */
html[data-ui="round"] :is(.btn:not(.to-top),.nx-cta):not(.closer-bin .btn){font-weight:600;position:relative;overflow:hidden;isolation:isolate}
html[data-ui="round"] :is(.btn-neutral,.btn-secondary,.btn-on-dark,.btn-on-dark-ghost):not(.to-top):not(.closer-bin .btn),html[data-ui="round"] .nx-card:not(.is-on) .nx-cta{
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#EFE7FF 100%);color:var(--plum);
  --key-edge:color-mix(in srgb,var(--lavender) 70%,var(--plum));
  --key:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 10px 22px -6px rgb(58 35 100 / .28),0 0 0 1px rgb(58 35 100 / .07);
  box-shadow:var(--key)}
html[data-ui="round"] .btn-primary:not(.closer-bin .btn),html[data-ui="round"] .nx-card.is-on .nx-cta{
  background:linear-gradient(180deg,#9A5CFF 0%,var(--purple-deep) 60%,#6E00CC 100%);color:var(--white);
  --key-edge:var(--plum);--sheen:rgb(255 255 255 / .38);
  --key:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .35),0 10px 22px -6px rgb(58 35 100 / .35),0 0 32px 0 rgb(144 79 255 / .3);
  box-shadow:var(--key)}
/* the sheen, in place of the colour wipe */
html[data-ui="round"] .btn-fill:not(.closer-bin .btn)::before,html[data-ui="round"] .nx-cta::before{
  content:"";display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,var(--sheen,rgb(211 185 255 / .6)) 50%,transparent 70%);
  transform:translateX(-110%);transition:transform 0s}
html[data-ui="round"] .btn-fill:not(.closer-bin .btn):is(:hover,:focus-visible)::before,html[data-ui="round"] .nx-link:is(:hover,:focus-visible) .nx-cta::before{
  transform:translateX(110%);transition:transform 700ms cubic-bezier(.3,.6,.2,1)}
html[data-ui="round"] :is(.btn-neutral,.btn-secondary,.btn-on-dark,.btn-on-dark-ghost):not(.to-top):not(.closer-bin .btn):is(:hover,:focus-visible),html[data-ui="round"] .nx-card:not(.is-on) .nx-link:is(:hover,:focus-visible) .nx-cta{
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#EFE7FF 100%);color:var(--plum);transform:translateY(-2px);
  box-shadow:0 7px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 16px 28px -6px rgb(58 35 100 / .34),0 0 0 1px rgb(58 35 100 / .07)}
html[data-ui="round"] .btn-primary:not(.closer-bin .btn):is(:hover,:focus-visible),html[data-ui="round"] .nx-card.is-on .nx-link:is(:hover,:focus-visible) .nx-cta{
  background:linear-gradient(180deg,#9A5CFF 0%,var(--purple-deep) 60%,#6E00CC 100%);color:var(--white);transform:translateY(-2px);
  box-shadow:0 7px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .45),0 16px 28px -6px rgb(58 35 100 / .4),0 0 48px 4px rgb(144 79 255 / .42)}
html[data-ui="round"] :is(.btn:not(.to-top),.nx-cta):not(.closer-bin .btn):active,html[data-ui="round"] .nx-link:active .nx-cta{transform:translateY(5px);transition-duration:80ms;
  box-shadow:0 0 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .5),0 4px 10px -4px rgb(58 35 100 / .25),0 0 0 1px rgb(58 35 100 / .07)}
@media (prefers-reduced-motion:reduce){
  html[data-ui="round"] .btn-fill:not(.closer-bin .btn)::before,html[data-ui="round"] .nx-cta::before{display:none}
  html :is(.btn:not(.to-top),.nx-cta):not(.closer-bin .btn):is(:hover,:focus-visible){transform:none}
}

/* ===== Binary: the header bar (2026-11-06, "should this be in a rectangle shape?") ==
   A round-ended pill around a square terminal button: the bar goes near-square like
   the buttons and cards, and its icon buttons lose their circles. The nav links stay
   Libre Franklin (words to scan, like the headlines); --mono is for controls. The
   right end gets 6px more room so the button's brackets clear the bar's edge. */
html:not([data-ui="round"]):not([data-ui="pixel"]) .site-header .wrap{border-radius:2px}
html:not([data-ui="round"]):not([data-ui="pixel"]) .site-header :is(.hdr-arrow,.hdr-search-b,.hdr-search-field){border-radius:2px}
html:not([data-ui="round"]):not([data-ui="pixel"]) .site-header .btn:not(.to-top){margin-right:6px}

/* ===== people.html, the first page past the homepage (2026-11-06) ====================
   people.html sets html[data-ui] from its own portrait switch (data-pp-look): Binary
   -> binary, Pixel -> pixel, Cartoon and Photo -> round, so the page's buttons and
   frames follow the portraits the visitor is looking at. Its own pieces: the view
   switch (.pp-views/.pp-view), the portrait frames (.pp-face/.pp-av), the agency
   badges and LinkedIn marks, and the search field and filter. Round (3D) keeps them
   as they were; the .btn keys come from the rules above. */
html[data-ui="pixel"] :is(.pp-views,.pp-view){--pxs:4px}
html[data-ui="pixel"] :is(.pp-face,.pp-av){--pxs:6px}
html[data-ui="pixel"] :is(.pp-avbadge,.pp-li,.ph-mark[style],.ph-mark:has(> img[src*="members/gvn."])){--pxs:3px}
html[data-ui="pixel"] :is(.pp-views,.pp-view,.pp-face,.pp-av,.pp-avbadge,.pp-li,.ph-mark[style],.ph-mark:has(> img[src*="members/gvn."])){border-radius:0;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}
html[data-ui="pixel"] main :is(input[type="search"],input[type="text"],input:not([type]),select){border-radius:0}   /* a clip would cut their 1px border */
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.pp-views,.pp-view,.pp-face,.pp-av,.pp-avbadge,.pp-li),html:not([data-ui="round"]):not([data-ui="pixel"]) main :is(input[type="search"],input[type="text"],input:not([type]),select){border-radius:2px}
:is(html[data-ui="pixel"],html:not([data-ui="round"]):not([data-ui="pixel"])) :is(.pp-view,.pp-views){font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:13px}

/* ===== Pixel: the header bar's edge (2026-11-06, people.html) =======================
   The stepped clip cut the bar's 1px border at the corners (stubs left at each end)
   and its shadow went with it. The edge and the shadow now come from the header
   around the bar, as drop-shadows of the CLIPPED shape, so they follow the stairs:
   four 1px offsets make the hairline, one soft one the lift. Light pages (.ins, the
   white pill) only: on the homepage the dark bar keeps its backdrop blur, which a
   filter on its parent would cut off, so there the hairline is simply dropped. */
html[data-ui="pixel"] .site-header .wrap{border-color:transparent;box-shadow:none}
@media (min-width:901px){
  /* 2026-11-10 (client: "remove border in this, instead we want a fills"): no stair
     hairline, no lift; the bar is a --mist fill on the white page */
  html[data-ui="pixel"] .ins .site-header{filter:none}
}

/* ===== Pixel: the homepage header's contrast (2026-11-06, "improve color contrast") ==
   The bar is see-through dark glass (rgb 18 20 25 / .42 + blur), right over Binary's
   and 3D's night. Over Pixel's pale daylight map it went a muddy grey-green and the
   .62-white nav text sat at about 2.6:1. In Pixel the bar is solid: the hero bar's
   own dark plum (rgb 40 33 60), and the links go to near-white (about 10:1; white on
   hover and on the current page). Desktop only: below 901px the header is white.
   Homepage only (body.is-home, on index.html and index-v3.html; it was body:has(.hb132),
   which re-checked every header link on any DOM insert, 2026-11-06): people.html is body.v2 too, but its bar is
   the white one and stays white (her note, 2026-11-06). */
@media (min-width:901px){
  html[data-ui="pixel"] body.v2.is-home .site-header .wrap{-webkit-backdrop-filter:none;backdrop-filter:none}   /* fill: base.css --hdr-col pill */
  html[data-ui="pixel"] body.v2.is-home .site-header .wrap :is(.ins-nav a,a:not(.btn):not(.brand),.hdr-search-b){color:rgb(244 237 255 / .88)}
  html[data-ui="pixel"] body.v2.is-home .site-header .wrap :is(.ins-nav a,a:not(.btn):not(.brand),.hdr-search-b):is(:hover,:focus-visible,[aria-current="page"]){color:var(--white)}
}

/* ===== Pixel: People's search and place fields (2026-11-06) ===========================
   Stepped like every other control (square read as unstyled). A clip would cut the
   field's 1px border, so: the label (.pp-search / .pp-place, icon + field) takes the
   white face and the stairs, the field inside goes see-through, and the row (.pp-bar)
   draws the hairline as drop-shadows of the clipped shapes - the header's method. The
   field text stays Libre Franklin (typed and read). Focus: a purple ring inside the
   stairs, since the border that showed focus is now hidden. */
html[data-ui="pixel"] .pp-bar :is(.pp-search,.pp-place){--pxs:4px;background:var(--white);border-radius:0;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}
html[data-ui="pixel"] .pp-bar :is(.pp-search,.pp-place) :is(input,select){border-color:transparent;background:transparent;border-radius:0}
html[data-ui="pixel"] .pp-bar :is(.pp-search,.pp-place):focus-within{background:#F7F2FF;box-shadow:inset 0 -3px 0 var(--purple-deep)}   /* a ring broke at the stairs: a lavender wash + a 3px baseline instead */
html[data-ui="pixel"] .pp-bar{filter:drop-shadow(1px 0 0 rgb(58 35 100 / .16)) drop-shadow(-1px 0 0 rgb(58 35 100 / .16)) drop-shadow(0 1px 0 rgb(58 35 100 / .16)) drop-shadow(0 -1px 0 rgb(58 35 100 / .16))}

/* ===== Every page (2026-11-06, "implement that to all pages, for all style") ==========
   js/ui-shapes.js tags each page's rounded, non-circular elements: .ui-st (stepped in
   Pixel) or .ui-sq (square in Pixel: a border the clip would cut, or a menu inside that
   must overflow). Binary takes both near-square. !important because the radii live in
   each page's own sheet at every specificity; scoped to the look, so 3D is untouched.
   The light pages' header gets the stepped hairline the homepage's dark bar does not
   need (the homepage keeps its blur). */
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.ui-st,.ui-sq):not(.hub-row-media){border-radius:2px !important}   /* the notes thumbnail keeps its Apple corner (content-hub.css) */
html[data-ui="pixel"] .ui-st{border-radius:0 !important;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}
html[data-ui="pixel"] .ui-sq{border-radius:0 !important}
@media (min-width:901px){
  html[data-ui="pixel"] body:not(.is-home):not(.ins) .site-header{
    filter:drop-shadow(1px 0 0 rgb(58 35 100 / .14)) drop-shadow(-1px 0 0 rgb(58 35 100 / .14))
           drop-shadow(0 1px 0 rgb(58 35 100 / .14)) drop-shadow(0 -1px 0 rgb(58 35 100 / .14))}
}

/* ===== Binary: a button joined to a field has no brackets (2026-11-06) ================
   "for subscribe button is it better to have a rectangle only?" - yes: the brackets mark
   a CTA that stands on its own; a submit sitting with its field (newsletter subscribe,
   the email boxes, search) would have them run into the field's edge. It keeps the ">"
   prompt, the near-square face and the shared hover; the brackets are off. Any button
   whose container also holds a text, email or search field directly. */
/* written as siblings, not "a container that :has(> input)": that open :has() made Chrome
   re-check every link and button on any DOM insert (people.html scroll, 2026-11-06); same
   matches, same 0,4,2 */
html:not([data-ui="round"]):not([data-ui="pixel"]) input:is([type="email"],[type="search"],[type="text"],:not([type])) ~ :is(.btn,button),
html:not([data-ui="round"]):not([data-ui="pixel"]) :is(.btn,button):has(~ input:is([type="email"],[type="search"],[type="text"],:not([type]))){border-image-source:none !important}   /* !important: the CTA rule above is 0,6,1 */

/* ===== "Coming soon" is not a key (2026-11-06, tools.html) ===========================
   Six cards, six identical lifted keys: the three real tools and the three "Coming
   soon" read the same. Depth means "press this to use it"; a not-yet tool's link (to
   coming-soon.html) is quieter in every look - flat, no face, no edge, no brackets, no
   stairs, muted plum ink, underlined on hover. The live tools keep their keys. */
html a.btn[href^="coming-soon.html"]{
  background:transparent !important;box-shadow:none !important;border-image-source:none !important;clip-path:none !important;
  color:rgb(58 35 100 / .72) !important;padding-left:0;padding-right:0;transform:none !important;
  text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;
  transition:color 260ms cubic-bezier(.22,.61,.36,1),text-decoration-color 260ms cubic-bezier(.22,.61,.36,1)}
html a.btn[href^="coming-soon.html"]::before{display:none !important}
html a.btn[href^="coming-soon.html"]:is(:hover,:focus-visible){color:var(--plum) !important;text-decoration-color:currentColor}

/* ===== 3D: the tool cards get light too (2026-11-06, tools.html) =====================
   The buttons became lit keys; the cards under them stayed flat panels, so the keys
   looked stuck on. Three levels now: page < card < key. A live tool's card is lit
   from above (a white wash over its top third, a bright top hairline) and rests on a
   soft shadow in its own hue; an in-build tool's card sits flatter (the top light
   only), matching its quiet "Coming soon" link. tools.css's hover lift is kept. */
html[data-ui="round"] .tl-card{
  background-image:linear-gradient(180deg,rgb(255 255 255 / .55) 0%,rgb(255 255 255 / 0) 38%),
                   linear-gradient(0deg,rgb(var(--tool-rgb) / .045),rgb(var(--tool-rgb) / .045));
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .9)}
html[data-ui="round"] .tl-card.is-live{
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .9),0 1px 0 rgb(var(--tool-rgb) / .14),0 14px 28px -18px rgb(var(--tool-rgb) / .45)}

/* ===== 3D: a lighter key inside a card (2026-11-06, "natural button, not 3D?") ========
   Not flat - one flat button would be the one place 3D drops its language - but the
   full key (5px lavender edge, halo) on a pastel card weighed the same as the page's
   main CTAs and fought the card. Inside a tool card: a 2px edge in the card's own hue,
   a small soft shadow, no halo; hover rises 1px onto 3px, the sheen still crosses.
   The full key stays for the page's main actions. (Selector weight beats the generic
   3D key rule, 0,6,1.) */
html[data-ui="round"] .tl-card .btn.btn-fill:not(.to-top):not(.closer-bin .btn){
  --key-edge:rgb(var(--tool-rgb) / .38);
  box-shadow:0 2px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 6px 12px -6px rgb(var(--tool-rgb) / .35),0 0 0 1px rgb(var(--tool-rgb) / .12)}
html[data-ui="round"] .tl-card .btn.btn-fill:not(.to-top):not(.closer-bin .btn):is(:hover,:focus-visible){
  transform:translateY(-1px);
  box-shadow:0 3px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 10px 16px -6px rgb(var(--tool-rgb) / .4),0 0 0 1px rgb(var(--tool-rgb) / .12)}
html[data-ui="round"] .tl-card .btn.btn-fill:not(.to-top):not(.closer-bin .btn):active{
  transform:translateY(2px);box-shadow:0 0 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .6),0 2px 6px -4px rgb(var(--tool-rgb) / .3),0 0 0 1px rgb(var(--tool-rgb) / .12)}

/* ===== 3D: the newsletter "Add" toggle as an in-card key (2026-11-06) =================
   The same lighter key as the tool cards (2px edge, small soft shadow, top light).
   NO transform on .nc-add (newsletter-catalogue.css: the card is the hit target; a
   transform on the button shrinks the hit area mid-press and the click is lost), so
   depth is light and edges only - the card's frame does the lifting. Add: dark lit
   face; the card hovered: the purple lit face; Added: a white face on a 2px purple
   edge with the tick. */
html[data-ui="round"] .nc-add{
  border-color:transparent;background:linear-gradient(180deg,#30333B 0%,#1B1D22 60%,#121317 100%);
  box-shadow:0 2px 0 0 #000,inset 0 1px 0 rgb(255 255 255 / .16),0 6px 12px -6px rgb(0 0 0 / .45);
  transition:background-color 260ms cubic-bezier(.22,.61,.36,1),color 260ms cubic-bezier(.22,.61,.36,1),box-shadow 260ms cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){
  html[data-ui="round"] .nc-card:hover .nc-check:not(:checked) + .nc-frame .nc-add,
  html[data-ui="round"] .nc-feat:not(.is-on):hover .nc-add{
    border-color:transparent;background:linear-gradient(180deg,#9A5CFF 0%,var(--purple-deep) 60%,#6E00CC 100%);
    box-shadow:0 3px 0 0 var(--plum),inset 0 1px 0 rgb(255 255 255 / .35),0 8px 16px -6px rgb(122 0 223 / .45)}
}
html[data-ui="round"] .nc-feat.is-on .nc-add,
html[data-ui="round"] .nc-check:checked + .nc-frame .nc-add{
  border-color:transparent;background:linear-gradient(180deg,#fff 0%,#fff 45%,#F3EBFF 100%);color:var(--purple-deep);
  box-shadow:0 2px 0 0 var(--purple-deep),inset 0 1px 0 rgb(255 255 255 / .9),0 0 0 1px rgb(122 0 223 / .35),0 6px 12px -6px rgb(122 0 223 / .3)}

/* ===== 3D: neutral buttons are dark keys (2026-11-06, "black or purple?") =============
   The white key on a light section all but vanished. Not purple: purple is for actions
   that start a relationship (brief, get in touch); "All field notes", "Choose my
   newsletters", "All tools" are navigation - the site's neutral is ink. So a dark lit
   key at full size: ink face lit from above, a black 5px edge, the white sheen on hover.
   The tool cards' buttons keep their light in-card key (white reads on the pastel). */
html[data-ui="round"] .btn-neutral:not(.to-top):not(.closer-bin .btn):not(.tl-card .btn):not([href^="coming-soon.html"]){
  background:linear-gradient(180deg,#30333B 0%,#1B1D22 60%,#121317 100%);color:var(--white);
  --key-edge:#000;--sheen:rgb(255 255 255 / .22);
  --key:0 5px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .16),0 10px 22px -6px rgb(20 22 26 / .4),0 0 0 0 transparent;
  box-shadow:var(--key)}
html[data-ui="round"] .btn-neutral:not(.to-top):not(.closer-bin .btn):not(.tl-card .btn):not([href^="coming-soon.html"]):is(:hover,:focus-visible){
  background:linear-gradient(180deg,#3A3D46 0%,#22252B 60%,#16181C 100%);color:var(--white);transform:translateY(-2px);
  box-shadow:0 7px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .2),0 16px 28px -6px rgb(20 22 26 / .45),0 0 0 0 transparent}

/* ===== 3D: the news cards' "Read more" as an in-card key (2026-11-06) ==================
   The full key (5px lavender edge) on every pastel card was heavy and the same on each;
   inside a card the button is the lighter key, as on the tool cards: a 2px edge in the
   card's own hue (--hue), a small soft shadow, 1px rise on hover. The featured card's
   purple Read more: the same build on a plum edge. */
html[data-ui="round"] .nx-card:not(.is-on) .nx-cta{
  --key-edge:color-mix(in srgb,var(--hue) 45%,transparent);
  box-shadow:0 2px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 6px 12px -6px color-mix(in srgb,var(--hue) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--hue) 16%,transparent)}
html[data-ui="round"] .nx-card:not(.is-on) .nx-link:is(:hover,:focus-visible) .nx-cta{
  transform:translateY(-1px);
  box-shadow:0 3px 0 0 var(--key-edge),inset 0 1px 0 rgb(255 255 255 / .9),0 10px 16px -6px color-mix(in srgb,var(--hue) 60%,transparent),0 0 0 1px color-mix(in srgb,var(--hue) 16%,transparent)}
html[data-ui="round"] .nx-card.is-on .nx-cta{
  box-shadow:0 2px 0 0 var(--plum),inset 0 1px 0 rgb(255 255 255 / .3),0 6px 12px -6px rgb(58 35 100 / .45),0 0 0 0 transparent}
html[data-ui="round"] .nx-card.is-on .nx-link:is(:hover,:focus-visible) .nx-cta{
  transform:translateY(-1px);box-shadow:0 3px 0 0 var(--plum),inset 0 1px 0 rgb(255 255 255 / .38),0 10px 16px -6px rgb(58 35 100 / .5),0 0 0 0 transparent}

/* ===== Page changes (2026-11-06, "make sure changing page is smooth") =================
   Cross-document view transitions (Chrome/Edge 126+, Safari 18.2+; same-origin, so a
   served site or Live Server - not file://; elsewhere the page simply loads): the old
   page lifts 8px as it fades, the new one rises 12px into place just behind it, on the
   site's one curve. The header bar is its own group, so it holds still while the page
   changes under it instead of blinking. Reduced motion: off. */
@view-transition{navigation:auto}
.site-header .wrap{view-transition-name:site-hdr}
/* 2026-11-10 ("changing pages seems blurry or not smooth"): the 8px lift out and 12px
   rise in moved both page snapshots by fractional pixels for ~400ms, and a moving
   snapshot is resampled, so all text went soft; the two also overlapped, offset by
   20px, which read as a double image. Now a crossfade in place: nothing moves, so
   every frame is pixel-sharp; the old page goes first and fast, the new one follows. */
::view-transition-old(root){animation:amin-vt-out 160ms cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:amin-vt-in 280ms cubic-bezier(.22,.61,.36,1) 40ms both}
::view-transition-group(site-hdr){animation-duration:320ms;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
::view-transition-old(site-hdr),::view-transition-new(site-hdr){animation-duration:320ms}
@keyframes amin-vt-out{to{opacity:0}}
@keyframes amin-vt-in{from{opacity:0}}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
}

/* (2026-11-06, her "improve this part in mobile") Binary and Pixel set the header CTA in spaced mono capitals
   (142px against 3D's 102px): at 390px and under the menu button dropped to a second row and the header grew
   from 60 to 112px. On phones the header is one row in every look: the CTA's tracking and padding tighten,
   Binary's ">" prefix goes, the row never wraps */
@media (max-width:480px){
  html:not([data-ui="round"]) body .site-header .wrap{flex-wrap:nowrap;gap:var(--s3)}
  html:not([data-ui="round"]) body .site-header .wrap .btn.btn:not(.to-top):not(.closer-bin .btn){font-size:12px;letter-spacing:.03em;padding-inline:var(--s3);white-space:nowrap;margin-right:4px;flex:none}
  html:not([data-ui="round"]):not([data-ui="pixel"]) body .site-header .wrap .btn.btn:not(.to-top):not(.closer-bin .btn)::before{display:none}
  html:not([data-ui="round"]) body .site-header .brand{flex:none}
}
@media (max-width:399px){
  html:not([data-ui="round"]) body .site-header .wrap{gap:var(--s2)}
  html:not([data-ui="round"]) body .site-header .wrap .btn.btn:not(.to-top):not(.closer-bin .btn){font-size:11px;letter-spacing:.02em;padding-inline:10px}
}


/* ===== Pixel: the newsletter tray's email field (2026-11-06, "border ... not right at left side")
   Its outline was an inset box-shadow, and the stepped clip cut it at every corner, so the
   ring broke off at the steps; the input inside was stepped again on its own, a second
   ragged edge. Now the ring IS the field's face (the outline colour), and a ::before one
   pixel in, clipped by the same stepped polygon, is the fill: a 1px outline that follows
   the stairs. The input is plain inside it. Hover, focus and error recolour the ring
   (focus: lavender 2px - an outline would be clipped). The fill is the .08 white tint
   flattened over the tray's ink (rgb 20 22 26), as the autofill rule already does. */
html[data-ui="pixel"] .nc-act{position:relative;isolation:isolate;box-shadow:none !important;outline:0 !important;background:rgb(255 255 255 / .28)}
html[data-ui="pixel"] .nc-act::before{content:"";position:absolute;inset:1px;z-index:-1;background:rgb(39 41 44);clip-path:inherit;pointer-events:none}
html[data-ui="pixel"] .nc-act input{clip-path:none !important}
@media (hover:hover){ html[data-ui="pixel"] .nc-act:hover{background:rgb(255 255 255 / .48)} }
html[data-ui="pixel"] .nc-act:focus-within{background:var(--lavender)}
html[data-ui="pixel"] .nc-act:has(input[aria-invalid="true"]){background:#FF8A8A}
html[data-ui="pixel"] .nc-act:is(:focus-within,:has(input[aria-invalid="true"]))::before{inset:2px}

/* ===== 3D: every button is flat (2026-11-09, "flat, not having this shadow or border";
   then "review and modify all button in 3d for all pages and all section") ===========
   The lit keys (5px edge, top hairline, drop shadow, gradient face, sheen, lift) read
   as game buttons; the depth belongs to the hero scene. In 3D every button on every
   page is one flat face: .btn (all variants, the closer's big "Get in touch", the tool
   cards' in-card buttons), the news cards' Read more and the newsletter Add. Hover is
   the site's directional wipe: the next colour flows in from the left, 560ms in on a
   long ease-out, 380ms back. Faces: white + plum ink (secondary, on-dark, ghost, tool
   cards, Read more) wiping to lavender; ink (neutral: "All field notes", "Run the
   check") wiping to plum; purple (primary) wiping to a lighter purple.
   This block is the 3D button authority: the older 3D key rules above are 0,8,1 and
   more, and closer-binary.js writes the closer's shadow inline, so the flat values
   are !important here rather than a selector race. The hero CTAs and bar are flattened
   in the next block; the "Coming soon" links keep their own text-link treatment. */
html[data-ui="round"] :is(.btn,.nx-cta):not(.to-top):not([href^="coming-soon.html"]){position:relative;overflow:hidden;isolation:isolate}
html[data-ui="round"] :is(.btn,.nx-cta,.nc-add):not(.to-top):not([href^="coming-soon.html"]),
html[data-ui="round"] :is(.btn,.nx-cta,.nc-add):not(.to-top):not([href^="coming-soon.html"]):is(:hover,:focus-visible,:active),
html[data-ui="round"] .nx-link:is(:hover,:focus-visible,:active) .nx-cta,
html[data-ui="round"] :is(.nc-card,.nc-feat):hover .nc-add{
  box-shadow:none !important;transform:none !important;background-image:none !important;border-color:transparent !important;
  transition:background-color 420ms cubic-bezier(.22,.61,.36,1),color 420ms cubic-bezier(.22,.61,.36,1)}
/* faces */
html[data-ui="round"] :is(.btn-secondary,.btn-on-dark,.btn-on-dark-ghost):not(.to-top):not([href^="coming-soon.html"]),
html[data-ui="round"] .tl-card .btn.btn-fill:not(.to-top):not([href^="coming-soon.html"]),
html[data-ui="round"] .nx-card:not(.is-on) .nx-cta{background-color:var(--white) !important;color:var(--plum) !important;--wipe:var(--lavender)}
html[data-ui="round"] .btn-neutral:not(.to-top):not([href^="coming-soon.html"]):not(.tl-card .btn){background-color:var(--ink) !important;color:var(--white) !important;--wipe:var(--plum)}
/* the closer's second action (client, 2026-11-11: "check this button sizes, can we have different
   in this buttons?"): it took the white face above at the standard size, beside the 56px hero key,
   so the pair read as two whites of two heights. Now the key's height and type, on a see-through
   white face with white text: same size, plainly the second choice. Wipe to .28 white on hover. */
html[data-ui="round"] .closer-brand.closer-bin .btn-fill.btn-on-dark-ghost:not(.to-top):not([href^="coming-soon.html"]){
  min-height:56px;padding:0 30px;display:inline-flex;align-items:center;margin-inline:0;
  font-family:var(--font);font-size:17px;font-weight:600;letter-spacing:-.005em;text-transform:none;
  background-color:rgb(255 255 255 / .12) !important;color:var(--white) !important;--wipe:rgb(255 255 255 / .16)}
html[data-ui="round"] .btn-primary:not(.to-top):not([href^="coming-soon.html"]),
html[data-ui="round"] .nx-card.is-on .nx-cta{background-color:var(--purple-deep) !important;color:var(--white) !important;--wipe:var(--purple)}
/* the wipe */
html[data-ui="round"] :is(.btn-fill,.nx-cta):not(.to-top):not([href^="coming-soon.html"])::before{
  content:"" !important;display:block !important;position:absolute !important;inset:0 !important;z-index:-1 !important;pointer-events:none;
  border-radius:0 !important;opacity:1 !important;   /* a straight leading edge: the pill clips the corners; a rounded one read as a blob mid-sweep (2026-11-09) */
  background:var(--wipe,var(--lavender)) !important;
  transform:scaleX(0) !important;transform-origin:left center !important;
  transition:transform 380ms cubic-bezier(.22,.61,.36,1) !important}
html[data-ui="round"] .btn-fill:not(.to-top):not([href^="coming-soon.html"]):is(:hover,:focus-visible)::before,
html[data-ui="round"] .nx-link:is(:hover,:focus-visible) .nx-cta::before{
  transform:scaleX(1) !important;transition:transform 560ms cubic-bezier(.16,1,.3,1) !important}
/* the newsletter Add: no wipe (no transform on it, see .nc-add above), a colour change */
html[data-ui="round"] .nc-add{background-color:var(--ink) !important;color:var(--white) !important}
@media (hover:hover){ html[data-ui="round"] :is(.nc-card:hover .nc-check:not(:checked) + .nc-frame,.nc-feat:not(.is-on):hover) .nc-add{background-color:var(--purple-deep) !important} }
html[data-ui="round"] :is(.nc-feat.is-on,.nc-check:checked + .nc-frame) .nc-add{background-color:var(--pale) !important;color:var(--purple-deep) !important}
@media (prefers-reduced-motion:reduce){
  html[data-ui="round"] :is(.btn-fill,.nx-cta):not(.to-top):not([href^="coming-soon.html"])::before,
  html[data-ui="round"] .btn-fill:not(.to-top):not([href^="coming-soon.html"]):is(:hover,:focus-visible)::before{transition:none !important}
}

/* ===== 3D: the hero bar goes flat too (2026-11-09, "check the style in this 3d") =====
   Same call as the page's buttons: the keycap edge, top hairline, drop shadow and
   halo come off the style switch, pause, Jump to, the scroll cue and the hero CTAs.
   Each keeps one solid face; hover is the same left-to-right wipe (560ms in, 380ms
   out) or, for the dark controls, a lighter face. The tripled attribute sits above
   every earlier 3D key rule. */
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hs,.hb132-dest-btn,.hb132-pause),
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-dest-btn,.hb132-pause):is(:hover,:focus-visible,:active),
html[data-ui="round"][data-ui="round"][data-ui="round"] .hb132-dest-btn[aria-expanded="true"],
html[data-ui="round"][data-ui="round"][data-ui="round"] .hs-cue>span{
  background:#2A2246;box-shadow:none;transform:none;filter:none;
  transition:background-color 420ms cubic-bezier(.22,.61,.36,1),color 420ms cubic-bezier(.22,.61,.36,1)}
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-dest-btn,.hb132-pause):is(:hover,:focus-visible),
html[data-ui="round"][data-ui="round"][data-ui="round"] .hb132-dest-btn[aria-expanded="true"]{background:#3B3160}
html[data-ui="round"][data-ui="round"][data-ui="round"] .hs-ind{background:#54468A;box-shadow:none}
html[data-ui="round"][data-ui="round"][data-ui="round"] .hs-cue-a{margin-top:0}
html[data-ui="round"][data-ui="round"][data-ui="round"] .hs-cue-a::after{filter:none}

html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta,
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:is(:hover,:focus-visible,:active){
  box-shadow:none;transform:none;
  transition:background-color 420ms cubic-bezier(.22,.61,.36,1),color 420ms cubic-bezier(.22,.61,.36,1)}
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:not(.hb132-cta-line),
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:not(.hb132-cta-line):is(:hover,:focus-visible){background:var(--purple-deep);color:var(--white);--wipe:var(--purple)}
html[data-ui="round"][data-ui="round"][data-ui="round"] .hb132-copy .hb132-cta-line,
html[data-ui="round"][data-ui="round"][data-ui="round"] .hb132-copy .hb132-cta-line:is(:hover,:focus-visible){background:var(--white);color:var(--plum);--wipe:var(--lavender)}
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta::before{
  content:"";display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:0;
  background:var(--wipe,var(--lavender));transform:scaleX(0);transform-origin:left center;
  transition:transform 380ms cubic-bezier(.22,.61,.36,1)}
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:is(:hover,:focus-visible)::before{
  transform:scaleX(1);transition-duration:560ms;transition-timing-function:cubic-bezier(.16,1,.3,1)}
@media (prefers-reduced-motion:reduce){
  html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta::before{display:none}
}

/* 3D: the back-to-top button goes flat with the rest (2026-11-09): no key edge, no
   lift; its hover is the fill's own colour change */
html[data-ui="round"] .to-top,
html[data-ui="round"] .to-top:is(:hover,:focus-visible,:active){box-shadow:none !important;transform:none !important;background-image:none !important}

/* Pixel: member logo tiles are not clipped (2026-11-09). The stepped-corner clip cuts
   3 x --pxs off every corner (12px on a 32px tile), and marks that run to the file's
   edge (M2's cube, Asia Works' ring) lost their corners. Square is still the Pixel shape. */
html[data-ui="pixel"][data-ui="pixel"] .tile{clip-path:none !important;border-radius:0 !important}
/* ...then small steps back (client, 2026-11-10: "can we have smaller pixels in the logo?"):
   2px steps (a 6px corner) on the 32-48px tiles, 3px on the 56-72px ones - a third of
   the old cut, so edge-to-edge marks keep their corners */
html[data-ui="pixel"][data-ui="pixel"] .tile{--pxs:2px !important;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs))) !important}
html[data-ui="pixel"][data-ui="pixel"] :is(.tile-md,.tile-lg){--pxs:3px !important}

/* Holo agency cards (2026-11-10): a mark on its own colour ground (Span, Asia Works,
   Brandigo carry markbg inline) gets the look's corner: 3D the logo-tile 31%
   squircle, Pixel the stepped corner (in the list above). Bare marks have no tile. */
/* GVN's file IS a filled square (purple, edge to edge), so it is a tile too */
html[data-ui="round"] :is(.ph-mark[style],.ph-mark:has(> img[src*="members/gvn."])){border-radius:31% !important;overflow:hidden}
@supports (corner-shape:superellipse(1.4)){html[data-ui="round"] :is(.ph-mark[style],.ph-mark:has(> img[src*="members/gvn."])){corner-shape:superellipse(1.4)}}

/* ===== Softer button hover, every look (2026-11-10, "for all buttons make the hover
   more smoother") =====
   The wipe had a hard straight edge and, on leave, rewound right-to-left: a flick
   both ways. Now the fill is 1.5x the button with a feathered leading edge (the last
   third fades out), slides in on a long ease-out (640ms), and on leave it does not
   rewind: it fades out (320ms), then resets unseen. Re-hovering mid-fade picks up
   from wherever it is. Press stays immediate. */
.btn-fill::before{
  inset:0 auto 0 0;width:150%;
  background:linear-gradient(90deg,var(--fill) 0 66.7%,transparent 100%);
  transform:translateX(-100%);opacity:0;
  transition:opacity 320ms cubic-bezier(.22,.61,.36,1),transform 0s linear 320ms}
.btn-fill:is(:hover,:focus-visible)::before{
  transform:translateX(0);opacity:1;
  transition:transform 640ms cubic-bezier(.16,1,.3,1),opacity 180ms ease-out}
html[data-ui="round"] :is(.btn-fill,.nx-cta):not(.to-top):not([href^="coming-soon.html"])::before{
  inset:0 auto 0 0 !important;width:150% !important;
  background:linear-gradient(90deg,var(--wipe,var(--lavender)) 0 66.7%,transparent 100%) !important;
  transform:translateX(-100%) !important;opacity:0 !important;
  transition:opacity 320ms cubic-bezier(.22,.61,.36,1),transform 0s linear 320ms !important}
html[data-ui="round"] .btn-fill:not(.to-top):not([href^="coming-soon.html"]):is(:hover,:focus-visible)::before,
html[data-ui="round"] .nx-link:is(:hover,:focus-visible) .nx-cta::before{
  transform:translateX(0) !important;opacity:1 !important;
  transition:transform 640ms cubic-bezier(.16,1,.3,1),opacity 180ms ease-out !important}
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta::before{
  inset:0 auto 0 0;width:150%;
  background:linear-gradient(90deg,var(--wipe,var(--lavender)) 0 66.7%,transparent 100%);
  transform:translateX(-100%);opacity:0;
  transition:opacity 320ms cubic-bezier(.22,.61,.36,1),transform 0s linear 320ms}
html[data-ui="round"][data-ui="round"][data-ui="round"] :is(.hb132-copy,.hb132-bar) .hb132-cta:is(:hover,:focus-visible)::before{
  transform:translateX(0);opacity:1;
  transition:transform 640ms cubic-bezier(.16,1,.3,1),opacity 180ms ease-out}
@media (prefers-reduced-motion:reduce){
  .btn-fill::before,html[data-ui="round"] :is(.btn-fill,.nx-cta):not(.to-top):not([href^="coming-soon.html"])::before{transform:translateX(0) !important;transition:opacity 200ms ease !important}
}

/* Newsletter "+ Add" takes the same hover (2026-11-10, "why the hover in this button
   not like the others"). Its ::before is the "+" and its ::after the card-wide hit
   area, and it must never get a transform (see newsletter-catalogue.css), so the
   wipe is its own background: the same 1.5x feathered fill, slid in by
   background-position, faded out by a registered colour. Selected = no wipe. */
@property --nc-wipe{syntax:"<color>";inherits:false;initial-value:rgb(122 0 223 / 0)}
html[data-ui][data-ui][data-ui][data-ui][data-ui][data-ui] .nc-add,html:not([data-ui]) .nc-add{
  border-color:transparent !important;background-color:var(--ink) !important;
  background-image:linear-gradient(90deg,var(--nc-wipe) 0 66.7%,rgb(122 0 223 / 0) 100%) !important;
  background-size:150% 100% !important;background-repeat:no-repeat !important;background-origin:border-box !important;background-position:300% 0 !important;
  transition:background-color 320ms cubic-bezier(.22,.61,.36,1),color 320ms cubic-bezier(.22,.61,.36,1),border-color 320ms cubic-bezier(.22,.61,.36,1),--nc-wipe 320ms cubic-bezier(.22,.61,.36,1),background-position 0s linear 320ms !important}
@media (hover:hover){
  html[data-ui][data-ui][data-ui][data-ui][data-ui][data-ui] :is(.nc-card:hover .nc-check:not(:checked) + .nc-frame,.nc-feat:not(.is-on):hover) .nc-add,
  html:not([data-ui]) :is(.nc-card:hover .nc-check:not(:checked) + .nc-frame,.nc-feat:not(.is-on):hover) .nc-add{
    --nc-wipe:var(--purple-deep);background-color:var(--ink) !important;background-image:linear-gradient(90deg,var(--nc-wipe) 0 66.7%,rgb(122 0 223 / 0) 100%) !important;background-position:0 0 !important;
    transition:background-position 640ms cubic-bezier(.16,1,.3,1),--nc-wipe 180ms ease-out,color 320ms cubic-bezier(.22,.61,.36,1) !important}
}
html[data-ui][data-ui][data-ui][data-ui][data-ui][data-ui] :is(.nc-feat.is-on,.nc-check:checked + .nc-frame) .nc-add,
html:not([data-ui]) :is(.nc-feat.is-on,.nc-check:checked + .nc-frame) .nc-add{
  --nc-wipe:rgb(122 0 223 / 0);background-image:none !important;background-color:var(--pale) !important;color:var(--purple-deep) !important}
@media (prefers-reduced-motion:reduce){
  html[data-ui][data-ui][data-ui][data-ui][data-ui][data-ui] .nc-add{background-position:0 0 !important;transition:--nc-wipe 200ms ease,background-color 200ms ease !important}
}
/* the LinkedIn disc is 24px now (2026-11-10): 3px steps cut it into a cross, 2px reads round */
html[data-ui="pixel"] .pp-li.pp-li{--pxs:2px}

/* Tools cards go flat (2026-11-10 audit): the lit-from-above wash and top hairline
   date from the 3D keycap buttons (2026-11-06); the buttons have been flat since
   11-09, so the cards were the last lit surfaces on the site. Same as every card
   now: one flat surface, and the tool-hue shadow only on hover (tools.css). */
html[data-ui="round"] .tl-card,html[data-ui="round"] .tl-card.is-live{background-image:none;box-shadow:none}

/* Pixel newsletter filter row (2026-11-10, "check this in pixels"): Topic and Region had
   the stepped corner but Search and Your picks were plain squares; all four match now */
html[data-ui="pixel"] :is(.nc-picks,main input[type="search"]){--pxs:4px;border-radius:0;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}
/* Pixel filter bar (insights, 2026-11-10: "fix and modify this in pixels style"): the
   pill fill is on .fbar-sel, but the stepped clip sat on the transparent button inside,
   so Services/Markets/... stayed round. The clip moves to the filled box; the search
   field takes the same 3px step so the row is one family. */
html[data-ui="pixel"] .fbar-sel{--pxs:3px;border-radius:0;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}
html[data-ui="pixel"] .fbar-sel .fbar-toggle{clip-path:none}
html[data-ui="pixel"] .fbar input[type="search"]{--pxs:3px}
/* Pixel field-note cards (2026-11-10, "still the logo look like this?"): the stepped clip
   was on the whole .pcard, which has no fill, so its bottom-left stair (24px) bit into the
   member logo sitting flush in that corner. Only the picture carries the steps now; the
   white wide card on the homepage keeps its own. */
html[data-ui="pixel"][data-ui="pixel"] .pcard:not(.pcard-wide){clip-path:none !important}
/* People bar, Pixel (client, 2026-11-10: "remove border in this"): no stair hairline
   around the view switch and the fields; fills carry the shapes (the switch is
   already --mist; the search and place fields go --mist too, they were white and
   would vanish on the white page without their outline) */
html[data-ui="pixel"] .pp-bar{filter:none}
html[data-ui="pixel"] .pp-bar :is(.pp-search,.pp-place){background:var(--mist)}

/* css/ui-shapes.css */
html:not([data-ui=round]):not([data-ui=pixel]) :is(a.btn.btn-fill.btn-neutral,a.btn.btn-fill.btn-neutral.p5-cases-all,a.btn.btn-fill.btn-on-dark,a.btn.btn-fill.btn-on-dark-ghost,a.btn.btn-fill.btn-primary,a.btn.btn-fill.btn-primary.p5-bar-brief,a.btn.btn-fill.btn-secondary,a.dirrow,a.nx-link,article.card.tl-card.is-live.hue-digital.is-in,article.card.tl-card.is-live.hue-media.is-in,article.card.tl-card.is-next.hue-brand.is-in,article.card.tl-card.is-next.hue-content,article.card.tl-card.is-next.hue-pr,aside.ins-art-cta,aside.pp-insp,blockquote.p5-quote,blockquote.p5-quote-lg,button.btn.btn-fill.btn-neutral,button.btn.btn-fill.btn-neutral.av-url-go,button.btn.btn-fill.btn-neutral.nc-empty-go,button.btn.btn-fill.btn-neutral.nm-why-send,button.btn.btn-fill.btn-neutral.pp-reset,button.btn.btn-fill.btn-neutral.ta-url-go,button.btn.btn-fill.btn-on-dark.nc-sub,button.btn.btn-fill.btn-on-dark.to-top,button.btn.btn-fill.btn-primary,button.btn.btn-fill.btn-secondary,button.btn.btn-fill.np-sub,button.fbar-toggle,button.member-card,button.nc-add,button.ni-chip,button.nm-alt-row,button.p5-ind,button.p5-svc-btn,button.p5-switch,button.ph-zb,button.ph-zb.ph-zr,button.pp-view,button.sort-btn,button.sort-btn.is-on,button.svc-opt,button.svc-opt.is-on,button.svc-toggle,button.ta-rail-group,button.ta-rail-toggle,button.tag.tag-btn,div.bp-panel,div.brief-sent.nm-why-done,div.card,div.closer-box.db-gate,div.dirrow.dirrow-here,div.ins-aside-card,div.nc-act,div.nc-empty,div.nm-paused,div.np-lb-o,div.nw-follow,div.p5-case-pic,div.p5-ind,div.p5-next,div.p5-svc,div.pp-none,div.pp-stage,div.pp-views.has-ind.is-ready,div.pp3-ctl,div.pp3-dim,div.pp3-tip,div.sortbar,div.ta-inside-box,div.tile.tile-lg,div.tile.tile-md,div.tl-route,div.wrap.nm-bar-in,figure.ins-art-media,figure.ins-quote,figure.pfilm-frame,img.p5-lb-img,input.np-email,input.np-email.np-stick-e,label.nm-nl,li.nx-card,li.nx-card.is-light,li.nx-card.is-on,li.p5-logo,li.p5-logo.has-more,li.p5-logo.has-more.has-case,li.p5-partner,li.p5-person,li.p5-person.has-li,main.lg-card,p.av-demo,p.av-target,p.brief-err.ta-err,p.db-note,p.db-verdict,p.nm-now,p.nt-step,p.ta-demo,p.ta-target,section.card.db-panel,section.closer.av-hand,select.np-pick,span.av-band,span.db-gate-pill,span.ins-lead-media,span.np-seg-thumb,span.nx-cta,span.p5-mono,span.p5-post-pic,span.pcard-media,span.pfilm-dur,span.pp-av.pp-avpt,span.pp-face,span.pp-views-ind,span.svc-n,span.tag,span.tag.tag-sm,span.tag.tag-sm.tag-more,span.tile.tile-md,span.tile.tile-sm,span.tile.tile-xs,video.pfilm-video,a.p5-chip.is-link,button.btn.nm-unsub,button.mv-open,button.nc-picks,button.np-pick-box.np-pick-btn,button.p5-chip.p5-chip-btn,div.av-url,div.db-items,div.hdr-search-panel,div.mv-col,div.nc-dd-panel,div.nc-frame,div.ni-cardin,div.np-field,div.np-lb,div.np-stick-f,div.p5-clockcard,div.p5-dir,div.svc-menu,div.svc-select,div.ta-url,div.wrap,figure.db-spec,span.np-pick-box,span.p5-chip):not(:is(.closer-bin,.hb132,.hs) *){border-radius:2px!important}html[data-ui=pixel] :is(a.btn.btn-fill.btn-neutral,a.btn.btn-fill.btn-neutral.p5-cases-all,a.btn.btn-fill.btn-on-dark,a.btn.btn-fill.btn-on-dark-ghost,a.btn.btn-fill.btn-primary,a.btn.btn-fill.btn-primary.p5-bar-brief,a.btn.btn-fill.btn-secondary,a.dirrow,a.nx-link,article.card.tl-card.is-live.hue-digital.is-in,article.card.tl-card.is-live.hue-media.is-in,article.card.tl-card.is-next.hue-brand.is-in,article.card.tl-card.is-next.hue-content,article.card.tl-card.is-next.hue-pr,aside.ins-art-cta,aside.pp-insp,blockquote.p5-quote,blockquote.p5-quote-lg,button.btn.btn-fill.btn-neutral,button.btn.btn-fill.btn-neutral.av-url-go,button.btn.btn-fill.btn-neutral.nc-empty-go,button.btn.btn-fill.btn-neutral.nm-why-send,button.btn.btn-fill.btn-neutral.pp-reset,button.btn.btn-fill.btn-neutral.ta-url-go,button.btn.btn-fill.btn-on-dark.nc-sub,button.btn.btn-fill.btn-on-dark.to-top,button.btn.btn-fill.btn-primary,button.btn.btn-fill.btn-secondary,button.btn.btn-fill.np-sub,button.fbar-toggle,button.member-card,button.nc-add,button.ni-chip,button.nm-alt-row,button.p5-ind,button.p5-svc-btn,button.p5-switch,button.ph-zb,button.ph-zb.ph-zr,button.pp-view,button.sort-btn,button.sort-btn.is-on,button.svc-opt,button.svc-opt.is-on,button.svc-toggle,button.ta-rail-group,button.ta-rail-toggle,button.tag.tag-btn,div.bp-panel,div.brief-sent.nm-why-done,div.card,div.closer-box.db-gate,div.dirrow.dirrow-here,div.ins-aside-card,div.nc-act,div.nc-empty,div.nm-paused,div.np-lb-o,div.nw-follow,div.p5-case-pic,div.p5-ind,div.p5-next,div.p5-svc,div.pp-none,div.pp-stage,div.pp-views.has-ind.is-ready,div.pp3-ctl,div.pp3-dim,div.pp3-tip,div.sortbar,div.ta-inside-box,div.tile.tile-lg,div.tile.tile-md,div.tl-route,div.wrap.nm-bar-in,figure.ins-art-media,figure.ins-quote,figure.pfilm-frame,img.p5-lb-img,input.np-email,input.np-email.np-stick-e,label.nm-nl,li.nx-card,li.nx-card.is-light,li.nx-card.is-on,li.p5-logo,li.p5-logo.has-more,li.p5-logo.has-more.has-case,li.p5-partner,li.p5-person,li.p5-person.has-li,main.lg-card,p.av-demo,p.av-target,p.brief-err.ta-err,p.db-note,p.db-verdict,p.nm-now,p.nt-step,p.ta-demo,p.ta-target,section.card.db-panel,section.closer.av-hand,select.np-pick,span.av-band,span.db-gate-pill,span.ins-lead-media,span.np-seg-thumb,span.nx-cta,span.p5-mono,span.p5-post-pic,span.pcard-media,span.pfilm-dur,span.pp-av.pp-avpt,span.pp-face,span.pp-views-ind,span.svc-n,span.tag,span.tag.tag-sm,span.tag.tag-sm.tag-more,span.tile.tile-md,span.tile.tile-sm,span.tile.tile-xs,video.pfilm-video):not(:is(.closer-bin,.hb132,.hs) *){border-radius:0!important;clip-path:polygon(0 calc(3*var(--pxs)),calc(1*var(--pxs)) calc(3*var(--pxs)),calc(1*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(2*var(--pxs)),calc(2*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) calc(1*var(--pxs)),calc(3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) 0,calc(100% - 3*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(1*var(--pxs)),calc(100% - 2*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(2*var(--pxs)),calc(100% - 1*var(--pxs)) calc(3*var(--pxs)),100% calc(3*var(--pxs)),100% calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 3*var(--pxs)),calc(100% - 1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(100% - 2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(100% - 3*var(--pxs)) 100%,calc(3*var(--pxs)) 100%,calc(3*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 1*var(--pxs)),calc(2*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 2*var(--pxs)),calc(1*var(--pxs)) calc(100% - 3*var(--pxs)),0 calc(100% - 3*var(--pxs)))}html[data-ui=pixel] :is(a.btn.btn-fill.btn-neutral.p5-cases-all,a.btn.btn-fill.btn-primary.p5-bar-brief,button.fbar-toggle,button.tag.tag-btn,span.pfilm-dur,span.tag):not(:is(.closer-bin,.hb132,.hs) *){--pxs:2px}html[data-ui=pixel] :is(a.btn.btn-fill.btn-neutral,a.btn.btn-fill.btn-on-dark,a.btn.btn-fill.btn-on-dark-ghost,a.btn.btn-fill.btn-primary,a.btn.btn-fill.btn-secondary,a.dirrow,aside.pp-insp,button.btn.btn-fill.btn-neutral,button.btn.btn-fill.btn-neutral.av-url-go,button.btn.btn-fill.btn-neutral.nc-empty-go,button.btn.btn-fill.btn-neutral.nm-why-send,button.btn.btn-fill.btn-neutral.pp-reset,button.btn.btn-fill.btn-neutral.ta-url-go,button.btn.btn-fill.btn-on-dark.nc-sub,button.btn.btn-fill.btn-on-dark.to-top,button.btn.btn-fill.btn-primary,button.btn.btn-fill.btn-secondary,button.btn.btn-fill.np-sub,button.member-card,button.nc-add,button.ni-chip,button.nm-alt-row,button.p5-switch,button.ph-zb,button.ph-zb.ph-zr,button.pp-view,button.sort-btn,button.sort-btn.is-on,button.svc-opt,button.svc-opt.is-on,button.svc-toggle,button.ta-rail-group,button.ta-rail-toggle,div.brief-sent.nm-why-done,div.closer-box.db-gate,div.dirrow.dirrow-here,div.nc-act,div.nc-empty,div.nm-paused,div.np-lb-o,div.pp-none,div.pp-stage,div.pp-views.has-ind.is-ready,div.pp3-ctl,div.pp3-dim,div.pp3-tip,div.sortbar,div.tile.tile-lg,div.tl-route,div.wrap.nm-bar-in,img.p5-lb-img,input.np-email,input.np-email.np-stick-e,p.av-demo,p.av-target,p.brief-err.ta-err,p.db-note,p.db-verdict,p.nm-now,p.nt-step,p.ta-demo,p.ta-target,section.card.db-panel,section.closer.av-hand,select.np-pick,span.av-band,span.db-gate-pill,span.np-seg-thumb,span.nx-cta,span.p5-mono,span.pp-views-ind,span.svc-n,span.tag.tag-sm,span.tag.tag-sm.tag-more,span.tile.tile-md,span.tile.tile-sm,span.tile.tile-xs):not(:is(.closer-bin,.hb132,.hs) *){--pxs:4px}html[data-ui=pixel] :is(a.nx-link,blockquote.p5-quote-lg,button.p5-ind,button.p5-svc-btn,div.bp-panel,div.card,div.nw-follow,div.p5-case-pic,div.p5-ind,div.p5-next,div.p5-svc,div.tile.tile-md,figure.ins-quote,label.nm-nl,li.nx-card,li.nx-card.is-light,li.p5-logo,li.p5-logo.has-more,li.p5-logo.has-more.has-case,li.p5-partner,li.p5-person,li.p5-person.has-li,span.p5-post-pic,span.pp-av.pp-avpt,span.pp-face):not(:is(.closer-bin,.hb132,.hs) *){--pxs:6px}html[data-ui=pixel] :is(article.card.tl-card.is-live.hue-digital.is-in,article.card.tl-card.is-live.hue-media.is-in,article.card.tl-card.is-next.hue-brand.is-in,article.card.tl-card.is-next.hue-content,article.card.tl-card.is-next.hue-pr,aside.ins-art-cta,blockquote.p5-quote,div.ins-aside-card,div.ta-inside-box,figure.ins-art-media,figure.pfilm-frame,li.nx-card.is-on,main.lg-card,span.ins-lead-media,span.pcard-media,video.pfilm-video):not(:is(.closer-bin,.hb132,.hs) *){--pxs:8px}html[data-ui=pixel] :is(a.p5-chip.is-link,button.btn.nm-unsub,button.mv-open,button.nc-picks,button.np-pick-box.np-pick-btn,button.p5-chip.p5-chip-btn,div.av-url,div.db-items,div.hdr-search-panel,div.mv-col,div.nc-dd-panel,div.nc-frame,div.ni-cardin,div.np-field,div.np-lb,div.np-stick-f,div.p5-clockcard,div.p5-dir,div.svc-menu,div.svc-select,div.ta-url,div.wrap,figure.db-spec,span.np-pick-box,span.p5-chip):not(:is(.closer-bin,.hb132,.hs) *){border-radius:0!important}