/* Marketing Works 360: Concept D "Dot Matrix". The logo's ring of dots is the whole visual system.
   Colors and fonts come from theme.json presets. No hairline rules, no color bands, no arrows. */
:root{
  --teal:var(--wp--preset--color--teal);--teal-ink:var(--wp--preset--color--teal-ink);
  --teal-brand:var(--wp--preset--color--teal-brand);--orange:var(--wp--preset--color--orange);
  --orange-dark:var(--wp--preset--color--orange-hover);--orange-brand:var(--wp--preset--color--orange-brand);
  --slate:var(--wp--preset--color--slate);--peach:var(--wp--preset--color--peach);
  --ink:var(--wp--preset--color--ink);--soft:var(--wp--preset--color--plum);--off:var(--wp--preset--color--off);
  --display:var(--wp--preset--font-family--display);--sans:var(--wp--preset--font-family--sans);
  --pad:clamp(20px,5vw,72px);
  /* side padding that also caps the content at ~1300px on very wide screens */
  --side:max(var(--pad),calc((100% - 1300px) / 2));
}
body{margin:0;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--orange-brand);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.mw-main{margin:0}
.mw-main>*,.mw-designed>*{margin-block:0!important}
.skip-link.screen-reader-text:focus{background:var(--ink);color:#fff}

/* section reset: our sections set their own rhythm */
.mw-s{margin:0;padding:0;max-width:none;position:relative}
.mw-s :is(h1,h2,h3,p,figure,ul,ol,blockquote,.wp-block-buttons){margin:0}
.mw-s :is(h1,h2,h3){font-family:var(--display);font-weight:700;letter-spacing:-.02em;color:var(--teal-ink)}
.mw-s h2{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.02}
.mw-s h3{font-size:1.5rem;line-height:1.15}
.mw-s .wrap{max-width:1300px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);box-sizing:content-box}
.mw-s .wp-block-buttons{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.mw-s p{color:var(--soft)}

/* the dots */
.mw-s svg{display:block;max-width:100%;height:auto}
.dots circle,.ring circle{transform-box:fill-box;transform-origin:center}
.t{fill:var(--teal)}.tb{fill:var(--teal-brand)}.o{fill:var(--orange-brand)}.ink{fill:var(--teal-ink)}
.lit{fill:var(--teal)}.off{fill:var(--off)}.base{fill:var(--teal-ink)}.lit2,.o2{fill:var(--orange-brand)}
.goal{fill:none;stroke:var(--orange);stroke-width:2.4}
.dots text{font:600 13px var(--sans);fill:var(--soft)}
.js .reveal .lit,.js .reveal .lit2,.js .reveal .o2{fill:var(--off);transition:fill .5s ease var(--d)}
.js .reveal.on .lit{fill:var(--teal)}.js .reveal.on .lit2,.js .reveal.on .o2{fill:var(--orange-brand)}
.js .reveal .qring circle{opacity:.15;transition:opacity .5s ease var(--d)}
.js .reveal.on .qring circle{opacity:1}
.js .sweep circle{opacity:0;transform:scale(.2);animation:mwpop .7s cubic-bezier(.2,.8,.3,1.3) forwards;animation-delay:var(--d)}
@keyframes mwpop{to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  .js .sweep circle{animation:none;opacity:1;transform:none}
  .js .reveal .lit,.js .reveal .lit2,.js .reveal .o2,.js .reveal .qring circle{transition:none}
}

/* buttons and links: square orange buttons, secondary links carry an orange dot instead of an arrow */
.wp-block-button__link{display:inline-block;text-decoration:none;border-radius:0}
.wp-block-button.is-style-white .wp-block-button__link{background:#fff;color:var(--teal-ink)}
.wp-block-button.is-style-text .wp-block-button__link{background:none;color:var(--teal);padding:0;font-weight:700}
.dotlink a,a.dotlink{font-weight:700;text-decoration:none;color:var(--teal);display:inline-flex;align-items:center;gap:10px}
.dotlink a::before,a.dotlink::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange-brand);flex:none;transition:transform .2s}
.dotlink a:hover::before,a.dotlink:hover::before{transform:scale(1.5)}
.dotlink a:hover,a.dotlink:hover{color:var(--teal-ink)}
.mw-s .dotlink{margin-top:4px}

/* header */
/* sticky: pinned at the top (below the admin bar when logged in); compacts once the page scrolls (html.mw-stuck) */
html{scroll-padding-top:88px}
header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20;margin:0;background:#fff;transition:box-shadow .2s}
html.mw-stuck header.wp-block-template-part{box-shadow:0 1px 0 #e3e8ea,0 6px 18px -12px rgba(20,40,48,.25)}
.mw-head{background:#fff;position:relative;z-index:3}
.mw-head .wrap{max-width:1300px;margin:0 auto;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:content-box;transition:padding .2s}
.mw-head .mw-logo{margin:0}
.mw-head .mw-logo a{display:block;line-height:0}
.mw-head .mw-logo img{width:150px;display:block;transition:width .2s}
html.mw-stuck .mw-head .wrap{padding-top:7px;padding-bottom:7px}
html.mw-stuck .mw-head .mw-logo img{width:84px}
html.mw-stuck .mw-head-cta .wp-block-button__link{padding:9px 16px}
.mw-nav-row{display:flex;align-items:center;gap:30px}
.mw-head .wrap>*,.mw-nav-row>*{margin:0!important}
.mw-nav{font-weight:600;font-size:.98rem}
.mw-nav .wp-block-navigation__container{gap:30px}
.mw-nav a{color:var(--ink);text-decoration:none}
.mw-nav a:hover{color:var(--teal)}
.mw-head-cta .wp-block-button__link{padding:12px 18px}
.wp-block-navigation__responsive-container.is-menu-open{background:#fff;color:var(--ink);padding:32px var(--pad)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font:700 2rem/1.25 var(--display);color:var(--teal-ink)}

/* footer: light, a row of logo dots along the top */
.mw-foot{background:#fff;color:var(--soft);font-size:.98rem;position:relative;padding-top:16px}
.mw-foot::before{content:"";position:absolute;left:0;right:0;top:0;height:16px;background:radial-gradient(circle,var(--teal-brand) 3.5px,transparent 4px) 0 0/16px 16px repeat-x}
.mw-foot .wrap{max-width:1300px;margin:0 auto;padding:40px var(--pad) 46px;display:grid;grid-template-columns:auto 1fr;gap:20px 60px;box-sizing:content-box}
.mw-foot .wrap>*{margin:0}
.mw-foot .mw-logo{margin:0 0 16px}
.mw-foot .mw-foot-line{font:600 1.02rem/1.4 var(--display);color:var(--teal-ink);margin:0 0 14px;max-width:24ch}
.mw-foot .mw-logo img{width:140px;display:block}
.mw-foot p{margin:0;line-height:1.65}
.mw-foot a{color:var(--teal);text-decoration:none}
.mw-foot a:hover{color:var(--teal-ink);text-decoration:underline}
.mw-foot-nav{align-self:start;justify-self:end}
.mw-foot-nav .wp-block-navigation__container{gap:8px 26px;justify-content:flex-end}
.mw-foot-nav a{color:var(--ink)!important;font-weight:600}
.mw-foot .mw-legal{grid-column:1/-1}

/* ---------- homepage ---------- */

/* hero: the logo's ring blown up, drawing itself clockwise */
.mw-s.hero{padding:clamp(40px,7vw,110px) var(--side) clamp(70px,9vw,140px);overflow:hidden;min-height:min(820px,92vh);box-sizing:border-box}
.hero .ringwrap{position:absolute;width:min(60vw,860px);right:calc(-1 * min(15vw,210px));top:50%;translate:0 -54%;z-index:0;margin:0}
.hero .ringwrap svg{width:100%}
.mw-s .hero .center,.hero p.center{position:absolute;left:50%;top:50%;translate:-50% -50%;margin:0;text-align:center;font:600 .95rem/1.35 var(--sans);color:var(--teal-ink);z-index:1;width:150px}
.hero .center b{display:block;font:700 2.6rem/1 var(--display);letter-spacing:-.03em}
.hero .center span{display:block;font:600 .8rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.hero .center{transition:opacity .2s linear}
svg.mw-roll{position:fixed;left:0;top:0;margin:0;max-width:none;height:auto;z-index:4;pointer-events:none;transform-origin:center;mix-blend-mode:multiply;will-change:transform}
svg.mw-roll circle{animation:none!important;opacity:1!important;transform:none!important}
.hero .hero-copy{position:relative;z-index:2;max-width:760px}
.mw-s.hero h1{font-size:clamp(3rem,8.4vw,7.6rem);line-height:.9;letter-spacing:-.045em;font-weight:800;color:var(--ink)}
.hero h1 span{color:var(--teal)}
.hero .lede{font-size:clamp(1.12rem,1.6vw,1.32rem);max-width:30em;margin:34px 0 34px 18%;color:var(--soft);background:rgba(255,255,255,.86)}
.hero .acts{display:flex;flex-wrap:wrap;gap:26px;align-items:center;margin-left:18%}

/* proof: case-study results table (replaced the dot drawings, 2026-10-20) */
.mw-s.proof{padding:clamp(60px,8vw,120px) var(--side)}
.proof h2{font-size:clamp(2.2rem,4.6vw,4rem);line-height:1;max-width:14em}
.proof .intro{max-width:34em;margin:22px 0 0}
table.results{width:100%;border-collapse:collapse;margin-top:clamp(40px,5vw,72px);font-size:1rem;line-height:1.5}
.results thead th{font:700 .8rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);text-align:left;padding:0 20px 14px 0}
.results tbody tr{background:radial-gradient(circle,var(--teal-brand) 1.6px,transparent 2.1px) 0 0/9px 6px repeat-x}
.results tbody th,.results tbody td{text-align:left;vertical-align:top;padding:26px 24px 26px 0}
.results tbody th{font:700 1.35rem/1.15 var(--display);color:var(--teal-ink);width:19%}
.results tbody td:nth-of-type(1){width:31%;color:var(--soft)}
.results tbody td:nth-of-type(2){width:36%}
.results tbody td:last-child{padding-right:0;white-space:nowrap}
.results .fig{display:block;font:800 clamp(1.8rem,3vw,2.6rem)/1 var(--display);color:var(--orange);letter-spacing:-.03em;margin-bottom:6px}
.cases table.results{margin-top:40px}

/* workers' comp: the one dark panel, inset from the left, bleeding off the right */
.mw-s.wc{margin:clamp(50px,7vw,110px) 0 0 max(clamp(0px,6vw,96px),calc((100% - 1300px) / 2 - 40px));background:var(--slate);color:#eef3f4;padding:clamp(56px,7vw,110px) var(--side) clamp(56px,7vw,110px) clamp(28px,6vw,96px);overflow:hidden}
.mw-s.wc h2{color:#fff;font-size:clamp(2.2rem,4.4vw,3.9rem);line-height:1.02;max-width:12em;position:relative;z-index:1}
.mw-s.wc p{color:#eef3f4}
.mw-s.wc .name{font:700 1.2rem/1.3 var(--sans);color:var(--peach);margin:20px 0 26px}
.wc .cols{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,80px);position:relative;z-index:1}
.wc .body p{max-width:34em}
.mw-s.wc .body p+p{margin-top:1em}
.mw-s.wc .nocomp{font:800 clamp(1.7rem,3vw,2.6rem)/1.05 var(--display);color:#fff;margin:34px 0 30px;max-width:11em;letter-spacing:-.03em}
.wc .nocomp span{color:var(--peach)}
.mw-s.wc .mw-quote{margin:0 0 34px;padding:0;border:0}
.mw-s.wc .mw-quote::before{content:none}
.mw-s.wc .mw-quote p{font:500 clamp(1.25rem,1.9vw,1.6rem)/1.35 var(--display);color:#fff}
.wc .mw-quote cite{display:block;font:600 .98rem/1.4 var(--sans);font-style:normal;color:#c9d6da;margin-top:14px}
.mw-s.wc .caps{font-size:1.02rem;color:#dbe5e8}
.wc .caps span{white-space:nowrap}
.wc .caps i,.caps-run i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange-brand);margin:0 12px 2px;vertical-align:middle}
.mw-s .dtr{position:absolute;right:-60px;top:-30px;width:min(48vw,640px);opacity:.38;z-index:0;rotate:-8deg;margin:0}
.wc a:not(.wp-block-button__link){color:#fff}

/* industries around a four-color ring */
.mw-s.ind{padding:clamp(80px,10vw,150px) var(--side) clamp(40px,5vw,80px)}
.ind>h2{font-size:clamp(2.2rem,4.6vw,4rem);line-height:1;max-width:12em;margin-left:auto!important;text-align:right}
.ind-map{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,32vw,470px) minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(24px,4vw,60px);margin-top:40px;align-items:center}
.ind-map>*{margin:0!important}
.ind-map .qring{grid-column:2;grid-row:1/3;width:100%}
.mw-s .ind-hub{grid-column:2;grid-row:1/3;place-self:center;text-align:center;max-width:46%;font:600 1rem/1.35 var(--sans);color:var(--teal-ink);z-index:1}
.ind-item h3{font-size:1.65rem;line-height:1.1;margin-bottom:8px!important}
.ind-item h3 a{color:inherit;text-decoration:none}
.ind-item h3 a:hover{color:var(--teal)}
.mw-s .ind-item .tag{display:inline-block;font:700 .9rem var(--sans);color:var(--orange);margin-top:8px}
.i1{grid-column:1;grid-row:1;text-align:right;padding-bottom:40px}
.i2{grid-column:3;grid-row:1;padding-bottom:40px}
.i3{grid-column:3;grid-row:2;padding-top:40px}
.i4{grid-column:1;grid-row:2;text-align:right;padding-top:40px}
.i1 h3::after,.i2 h3::before,.i3 h3::before,.i4 h3::after{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;margin:0 12px 6px;vertical-align:middle}
.i1 h3::after{background:var(--orange-brand)}.i2 h3::before{background:var(--teal)}.i3 h3::before{background:var(--teal-brand)}.i4 h3::after{background:var(--teal-ink)}

/* how a plan comes together: IDEA ring and stepped services */
.mw-s.how{padding:clamp(70px,9vw,130px) var(--side);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,100px);align-items:start}
.how h2{font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.02}
.idea-wrap{position:relative;max-width:380px;margin-top:40px!important}
.idea-wrap>*{margin:0!important}
.mw-s .idea-wrap .lab{position:absolute;font:700 1.05rem var(--display);color:var(--teal-ink)}
.idea-wrap .l1{top:2%;right:6%}.idea-wrap .l2{bottom:2%;right:6%}.idea-wrap .l3{bottom:2%;left:2%}.idea-wrap .l4{top:2%;left:2%}
.mw-s .idea-wrap .mid{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font:600 .95rem/1.3 var(--sans);color:var(--soft);padding:0 30%}
.svc-steps{display:grid;gap:clamp(36px,4vw,56px);padding-top:clamp(0px,3vw,40px)}
.svc-steps article{max-width:31em;margin:0!important}
.svc-steps article:nth-child(2){margin-left:clamp(0px,8vw,120px)!important}
.svc-steps article:nth-child(3){margin-left:clamp(0px,16vw,240px)!important}
.svc-steps h3{font-size:1.75rem;line-height:1.1;margin-bottom:10px!important;display:flex;align-items:center;gap:14px}
.svc-steps p:not(.dotlink){margin-bottom:12px!important}
.pips-1::before,.pips-2::before,.pips-3::before{content:"";flex:none;height:11px;background:radial-gradient(circle at 5.5px 50%,var(--orange-brand) 5.5px,transparent 6px) 0 0/16px 11px repeat-x}
.pips-1::before{width:11px}.pips-2::before{width:27px}.pips-3::before{width:43px}

/* clients */
.mw-s.clients{padding:0 var(--side) clamp(40px,5vw,70px);display:flex;flex-wrap:wrap;align-items:center;gap:20px 46px}
.mw-s.clients>*{margin:0}
.mw-s .clients .lbl,.clients .lbl{font:700 1.15rem var(--display);color:var(--teal-ink)}
.clients img{height:48px;width:auto}
.clients figcaption{margin:6px 0 0;font-weight:700;font-size:.95rem}
.clients figcaption a{text-decoration:none;color:var(--teal)}
.clients figcaption a:hover{text-decoration:underline}

/* coffee: closes every page, never as a color band */
.mw-s.coffee{padding:clamp(60px,8vw,120px) 0 clamp(60px,8vw,120px) var(--side);display:grid;grid-template-columns:repeat(12,1fr);align-items:center;overflow:hidden}
.coffee .txt{grid-column:1/7;grid-row:1;padding-right:clamp(20px,4vw,60px);position:relative;margin:0}
.coffee h2{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.02;margin-bottom:22px!important}
.coffee .txt p{max-width:28em}
.coffee .contact-row{margin-top:28px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.coffee .contact-row>*{margin:0}
.mw-s .coffee .team,.coffee figure.team{grid-column:7/13;grid-row:1;margin:0}
.coffee .team img{width:100%;display:block}

/* ---------- inner pages ---------- */

/* page hero: white, a quarter of the logo ring in the top right corner (one place per page type) */
.mw-s.page-hero{background:#fff;overflow:hidden}
.page-hero::before{content:"";position:absolute;width:min(60vw,820px);aspect-ratio:1;right:calc(-1 * min(40vw,560px));top:calc(-1 * min(28vw,400px));
  background:radial-gradient(circle,var(--teal-brand) 42%,transparent 46%) 0 0/22px 22px;
  -webkit-mask:radial-gradient(circle,transparent 46%,#000 47%,#000 68%,transparent 69%);mask:radial-gradient(circle,transparent 46%,#000 47%,#000 68%,transparent 69%);opacity:.55;pointer-events:none}
.page-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(40px,5vw,72px);align-items:end}
.page-hero .wrap:has(>:only-child){grid-template-columns:1fr}
.mw-s.page-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.92;letter-spacing:-.04em;font-weight:800;color:var(--ink);max-width:14ch}
.mw-s .page-hero .crumb,.page-hero p.crumb{font-size:.95rem;font-weight:600;margin:0 0 26px!important;color:var(--soft);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.page-hero .crumb::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange-brand);flex:none}
.page-hero .crumb a{color:var(--teal);text-decoration:none}
.page-hero .crumb a:hover{text-decoration:underline}
.mw-s.page-hero p:not(.crumb),.page-hero .hero-lede p{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.55;color:var(--soft);margin:0 0 24px!important;max-width:36ch}
.page-hero .meta,.page-hero .wp-block-post-date{color:var(--soft);margin-top:20px;font-size:.95rem}

/* bylines and author pages */
.mw-s .byline,.page-hero p.byline{font-size:.95rem!important;color:var(--soft);margin:6px 0 0!important;max-width:none!important}
.byline a{color:var(--teal);font-weight:700;text-decoration:none}
.byline a:hover{text-decoration:underline}
.post-list .byline{margin:2px 0 0!important}
.author-hero .wrap{align-items:center}
.mw-s .author-hero p.author-role{font:600 clamp(1.15rem,1.7vw,1.4rem)/1.35 var(--sans);color:var(--teal-ink);margin:18px 0 20px!important}
.author-photo{margin:0;justify-self:end;width:min(100%,320px);position:relative}
.author-photo::after{content:"";position:absolute;left:-22px;bottom:-22px;width:110px;height:110px;background:radial-gradient(circle,var(--orange-brand) 3px,transparent 3.6px) 0 0/14px 14px;z-index:-1}
.author-photo img{display:block;width:100%;height:auto;border-radius:50%}
.author-facts ul.facts{list-style:none;margin:0;padding:0}
.author-facts .facts li{padding:0 0 14px 22px;position:relative;line-height:1.4;color:var(--soft);font-size:.97rem}
.author-facts .facts li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--teal-brand)}
.author-facts .facts b{display:block;color:var(--ink);font-weight:700}
.author-facts .facts i{font-style:normal;white-space:nowrap}
.author-facts>.aside-label:first-child{margin-top:0!important}
.mw-s .author-posts-h{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 32px}

/* lists marked with dots, never ruled */
.dot-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
.mw-s .dot-list p{position:relative;padding-left:26px;margin:0}
.dot-list p::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:11px;border-radius:50%;background:var(--teal)}
.dot-list p:nth-child(3n+2)::before{background:var(--teal-brand)}
.dot-list p:nth-child(3n)::before{background:var(--orange-brand)}

/* workers' comp page */
.mw-s.why{padding:clamp(64px,8vw,120px) 0}
.why .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px)}
.mw-s .why .lead,.mw-s .values .lead{font-size:1.2rem;max-width:36ch;margin-top:20px}
.mw-s.cases{padding:clamp(64px,8vw,120px) 0}
.case-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px) clamp(32px,5vw,80px);margin-top:48px!important}
.case-row>*{margin:0!important}
.case-row article>*+*{margin-top:12px!important}
.case-row h3{font-size:1.6rem}
.case-row .wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px)}
.case-row .wide>div>*+*{margin-top:12px!important}
.mw-s .mw-quote{margin:0;padding:0 0 0 30px;border:0;position:relative}
.mw-quote::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:8px;background:radial-gradient(circle,var(--orange-brand) 3.5px,transparent 4px) 0 0/8px 13px repeat-y}
.mw-s .mw-quote p{font:500 clamp(1.3rem,2vw,1.65rem)/1.38 var(--display);color:var(--teal-ink);letter-spacing:-.01em}
.mw-quote cite{display:block;font:600 .95rem/1.5 var(--sans);font-style:normal;margin-top:14px;color:var(--soft)}
.mw-s.caps{padding:0 0 clamp(64px,8vw,120px)}
.mw-s .caps-run{margin-top:28px;font:500 clamp(1.2rem,1.9vw,1.55rem)/1.7 var(--display);color:var(--teal-ink);max-width:56em}
.caps-run span{white-space:nowrap}
.mw-s.faq{padding:0 0 clamp(64px,8vw,120px)}
.faq .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px)}
.rank-math-faq-item,.rank-math-list-item{padding:0 0 28px 26px;position:relative}
.rank-math-faq-item::before,.rank-math-list-item::before{content:"";position:absolute;left:0;top:.55em;width:11px;height:11px;border-radius:50%;background:var(--orange-brand)}
.mw-s .rank-math-question{font:700 1.4rem/1.25 var(--display)!important;color:var(--teal-ink);margin:0!important}
.rank-math-answer{margin-top:10px;max-width:60ch;color:var(--soft)}
.rank-math-answer p{margin:0}

/* about */
.story .story-body{display:flex;flex-direction:column;gap:20px;max-width:62ch}
.story .story-body>*{margin:0!important}
.mw-s .story .story-body .mw-quote{margin-top:16px!important}
.mw-s.values{padding:0 0 clamp(64px,8vw,120px)}
.values .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px)}
.values-list{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px}
.values-list .value{display:flex;align-items:center;gap:20px;margin:0!important}
.values-list .value:nth-child(2),.values-list .value:nth-child(4){translate:0 28px}
.values-list .value>*{margin:0!important}
.values-list .value img{width:64px;height:64px;display:block}
.values-list .value h3{font-size:clamp(1.4rem,2.2vw,1.8rem)}
.mw-s.idea-band{padding:clamp(64px,8vw,120px) 0}
.idea-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px clamp(40px,6vw,96px);align-items:start}
.idea-band .wrap>:first-child{grid-column:1;grid-row:1}
.idea-band .idea-wrap{grid-column:1;grid-row:2;max-width:300px;margin-top:8px!important}
.idea-band .idea-steps{grid-column:2;grid-row:1/3}
.mw-s .idea-band .sub{font-size:1.15rem;margin:20px 0!important;max-width:40ch}
.idea-steps{display:grid;gap:30px}
.idea-steps p{margin:0!important;max-width:36em}
.idea-steps p:nth-child(2){margin-left:clamp(0px,5vw,72px)!important}
.idea-steps p:nth-child(3){margin-left:clamp(0px,10vw,144px)!important}
.idea-steps p:nth-child(4){margin-left:clamp(0px,5vw,72px)!important}
.idea-steps strong{display:flex;align-items:center;gap:12px;font:800 clamp(1.9rem,3vw,2.6rem)/1.05 var(--display);color:var(--teal-ink);margin-bottom:6px;letter-spacing:-.03em}
.idea-steps strong::before{content:"";width:14px;height:14px;border-radius:50%;flex:none;background:var(--teal)}
.idea-steps p:nth-child(2) strong::before{background:var(--teal-brand)}
.idea-steps p:nth-child(3) strong::before{background:var(--orange-brand)}
.idea-steps p:nth-child(4) strong::before{background:var(--teal-ink)}
.mw-s.roots{padding:clamp(64px,8vw,120px) 0}
.roots-list{margin-top:48px!important;position:relative;padding-left:34px}
.roots-list::before{content:"";position:absolute;left:4px;top:14px;bottom:14px;width:9px;background:radial-gradient(circle,var(--teal-brand) 3px,transparent 3.5px) 0 0/9px 15px repeat-y}
.roots-list .year{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:6px 40px;align-items:baseline;padding:0 0 40px;margin:0!important;position:relative}
.roots-list .year::before{content:"";position:absolute;left:-36px;top:.9em;width:14px;height:14px;border-radius:50%;background:var(--orange-brand)}
.roots-list .year>*{margin:0!important}
.mw-s .roots-list .fig{grid-row:1/3;font:800 clamp(2.6rem,5vw,4.2rem)/1 var(--display);color:var(--orange);letter-spacing:-.04em}
.roots-list h3{color:var(--teal-ink)}
.roots-list p:not(.fig){max-width:60ch}

/* industries hub table: rows marked by dots, no rules */
.mw-s.ind-table-wrap{padding:clamp(56px,7vw,110px) 0}
.mw-s .ind-table{margin-top:40px!important;overflow-x:auto}
.ind-table table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;border:0}
.ind-table :is(th,td){border:0}
.ind-table th{font:700 .9rem/1.4 var(--sans);color:var(--soft);text-align:left;padding:0 16px 14px 0}
.ind-table td{vertical-align:top;padding:26px 16px 26px 0;color:var(--soft)}
.ind-table tbody tr:nth-child(odd) td{background:#f3f8f9}
.ind-table tbody td:first-child{padding-left:16px}
.ind-table td:first-child a{font:700 1.5rem/1.15 var(--display);color:var(--teal-ink);text-decoration:none;letter-spacing:-.02em}
.ind-table td:first-child a:hover{color:var(--teal)}
.ind-table td strong{font:800 1.2rem/1.3 var(--display);color:var(--orange)}
.mw-s .ind-table-wrap .also{margin-top:28px!important;font-size:1.15rem}

/* services hub */
.mw-s.svc{padding:clamp(56px,7vw,110px) 0}
.svc-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);margin-top:48px!important;align-items:start}
.svc-grid article{margin:0!important}
.svc-grid article:nth-child(2){padding-top:48px}
.svc-grid article:nth-child(3){padding-top:96px}
.svc-grid article>*+*{margin-top:12px!important}
.svc-grid article:first-child h3{font-size:2rem}
.svc-grid h3 a{color:var(--teal-ink);text-decoration:none}
.svc-grid h3 a:hover{color:var(--teal)}
.idea-row{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center;margin-top:clamp(56px,7vw,100px)!important}
.idea-row .idea-wrap{margin-top:0!important}
.mw-s .idea-row .idea-note{font:500 clamp(1.25rem,1.9vw,1.6rem)/1.4 var(--display);color:var(--teal-ink);max-width:28em}

/* our work grid */
.mw-s.work{padding:clamp(48px,6vw,96px) 0}
.work-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
.work-grid>li{margin:0}
.work-grid>li:nth-child(3n+2){translate:0 40px}
.work-img{margin:0 0 16px!important}
.work-img img{width:100%;object-fit:cover;display:block}
.mw-s .work-grid .who{font-weight:700;font-size:.95rem;color:var(--orange);display:flex;align-items:center;gap:8px}
.work-grid .who:not(:empty)::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange-brand)}
.work-grid .work-title{font-size:1.45rem;line-height:1.15;margin-top:6px!important}
.work-grid .work-title a{color:var(--teal-ink);text-decoration:none}
.work-grid .work-title a:hover{color:var(--teal)}

/* contact */
.mw-s.contact{padding:clamp(48px,6vw,96px) 0}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,6vw,96px)}
.contact-form h2{margin-bottom:24px!important}
.contact-info{background:#f3f8f9;padding:32px 34px}
.contact-info h3{margin-top:28px!important}
.contact-info h3:first-child{margin-top:0!important}
.contact-info p{margin-top:10px!important}
.wpforms-container .wpforms-submit{background:var(--orange)!important;color:#fff!important;border-radius:0!important;font:700 1rem/1 var(--sans)!important;padding:15px 22px!important;height:auto!important}
.wpforms-container input,.wpforms-container textarea,.wpforms-container select{border-radius:0!important;border:2px solid #b8c7cb!important}

/* industry and service detail pages */
.mw-s.detail{padding:clamp(48px,6vw,96px) 0}
.detail-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:clamp(40px,7vw,112px);align-items:start}
.detail-prose{max-width:720px}
.detail-prose>*{margin:0!important}
.detail-prose>*+*{margin-top:1.1em!important}
.detail-prose :is(h2,h3){font-family:var(--display);font-weight:700;color:var(--teal-ink);letter-spacing:-.02em}
.detail-prose h2{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.08}
.detail-prose h3{font-size:clamp(1.45rem,2.3vw,1.8rem);line-height:1.15;margin-top:2em!important}
.detail-prose>h3:first-child,.detail-prose>h2:first-child{margin-top:0!important}
.detail-prose h4{font:700 1.075rem/1.4 var(--sans);margin-top:1.6em!important}
.detail-prose p{max-width:65ch}
.detail-prose ul{list-style:none;padding:0;columns:2;column-gap:40px}
.detail-prose ul li{break-inside:avoid;padding:6px 0 6px 24px;position:relative;line-height:1.45}
.detail-prose ul li::before{content:"";position:absolute;left:0;top:.85em;width:9px;height:9px;border-radius:50%;background:var(--orange-brand)}
.detail-prose ul ul{columns:1;margin-top:6px}
.detail-prose ul ul li::before{background:var(--teal-brand)}
.detail-prose img{max-width:100%;height:auto}
.detail-prose hr,.prose hr{border:0;height:9px;background:radial-gradient(circle,var(--off) 3.5px,transparent 4px) 0 0/16px 9px repeat-x}
.detail-aside{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 96px);display:flex;flex-direction:column}
.detail-aside>*{margin:0!important}
.aside-cta{background:var(--slate);color:#fff;padding:30px 30px 26px}
.aside-cta>*{margin:0!important}
.aside-cta>*+*{margin-top:14px!important}
.mw-s .aside-cta .aside-h{font-size:2rem;color:#fff}
.mw-s .aside-cta p{color:#eef3f4}
.aside-cta .aside-phone a{color:var(--peach);font-weight:700}
.mw-s .aside-label{font:700 1.15rem/1.3 var(--display);color:var(--teal-ink);margin-top:36px!important;margin-bottom:10px!important}
.mw-siblings{list-style:none;padding:0}
.mw-siblings a{display:flex;align-items:center;gap:12px;padding:7px 0;font-weight:600;color:var(--ink);text-decoration:none}
.mw-siblings a::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--teal-brand);flex:none;transition:transform .2s}
.mw-siblings a:hover{color:var(--teal)}
.mw-siblings a:hover::before{transform:scale(1.4);background:var(--orange-brand)}

/* generic page content, posts, case studies */
.mw-s.prose-wrap{padding:clamp(40px,5vw,80px) 0}
.prose{max-width:760px!important}
.prose>*+*{margin-top:1.25em!important}
.prose :is(h2,h3,h4){margin-top:1.6em!important;font-family:var(--display);color:var(--teal-ink)}
.prose h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.prose h4{font:700 1.075rem/1.4 var(--sans)}
.prose p{color:var(--ink)}
.prose blockquote{border:0;margin-left:0;padding-left:30px;position:relative;font:500 1.35rem/1.45 var(--display);color:var(--teal-ink)}
.prose blockquote::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:8px;background:radial-gradient(circle,var(--orange-brand) 3.5px,transparent 4px) 0 0/8px 13px repeat-y}
.prose .lead-image img{width:100%;height:auto}
.prose .meta{color:var(--soft);font-size:.95rem}
.prose .wp-block-post-content>*+*{margin-top:1.25em}
.prose .wp-block-post-content img{height:auto}
.prose table td,.prose table th{border-color:var(--off)}

/* post lists */
.mw-s.list-wrap{padding:clamp(40px,5vw,80px) 0}
.post-list{list-style:none;margin:0;padding:0;max-width:880px}
.post-list>li{padding:0 0 40px 26px;position:relative}
.post-list>li::before{content:"";position:absolute;left:0;top:2.1em;width:11px;height:11px;border-radius:50%;background:var(--teal-brand)}
.post-list .meta{color:var(--soft);font-size:.95rem}
.post-list .list-title{font-size:clamp(1.5rem,2.4vw,2rem);margin:6px 0 10px!important}
.post-list .list-title a{color:var(--teal-ink);text-decoration:none}
.post-list .list-title a:hover{color:var(--teal)}
.wp-block-query-pagination{margin-top:32px;gap:16px;font-weight:700}

/* values pattern inside a plain page (careers) */
.prose .values{padding:0}
.prose .values .wrap{display:block;padding:0;max-width:none}
.prose .values .values-list{margin-top:28px!important}

@media (max-width:980px){
  .mw-head .mw-logo img{width:120px}
  html.mw-stuck .mw-head .mw-logo img{width:72px}
  html{scroll-padding-top:72px}
  .mw-s.hero{min-height:0;padding-bottom:40px}
  .hero .ringwrap{width:min(74vw,560px);right:calc(-1 * min(24vw,180px));top:-10px;translate:0 0;opacity:.3}
  .mw-s .hero .center,.hero p.center{display:none}
  .hero .lede{background:none}
  .hero .lede,.hero .acts{margin-left:0}
  .mw-s.wc{margin-left:0}
  .wc .cols{grid-template-columns:1fr}
  .mw-s .dtr{width:90vw;opacity:.25}
  .ind>h2{text-align:left;margin-left:0!important}
  .ind-map{grid-template-columns:1fr;row-gap:30px}
  .ind-map .qring{grid-row:1;grid-column:1;max-width:300px}
  .mw-s .ind-hub{grid-row:1;grid-column:1;justify-self:start;width:min(100%,300px);max-width:none;padding:0 25%;box-sizing:border-box}
  .ind-item{grid-column:1!important;grid-row:auto!important;text-align:left!important;padding:0!important}
  .i1 h3::after,.i4 h3::after{display:none}
  .i1 h3::before,.i4 h3::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;margin:0 12px 6px 0;vertical-align:middle}
  .i1 h3::before{background:var(--orange-brand)}.i4 h3::before{background:var(--teal-ink)}
  .i2 h3::before,.i3 h3::before{margin-left:0}
  .mw-s.how{grid-template-columns:1fr}
  .svc-steps article:nth-child(n){margin-left:0!important}
  .mw-s.coffee{grid-template-columns:1fr;padding-right:var(--pad)}
  .coffee .txt,.mw-s .coffee .team,.coffee figure.team{grid-column:1;grid-row:auto}
  .coffee figure.team{margin-top:36px}
  .coffee .txt{padding-right:0}
  .mw-foot .wrap{grid-template-columns:1fr}
  .mw-foot-nav{justify-self:start}
  .mw-foot-nav .wp-block-navigation__container{justify-content:flex-start}
  .page-hero .wrap,.why .wrap,.faq .wrap,.values .wrap,.contact .wrap,.detail-body,.idea-band .wrap,.idea-row{grid-template-columns:1fr}
  .idea-band .wrap>*{grid-column:1!important;grid-row:auto!important}
  .case-row,.case-row .wide{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .svc-grid article:nth-child(n){padding-top:0}
  .detail-aside{position:static}
  .author-photo{justify-self:start;width:min(60vw,240px)}
  .work-grid{grid-template-columns:1fr 1fr}
  .work-grid>li:nth-child(n){translate:none}
}
@media (max-width:720px){
  .dot-list,.values-list{grid-template-columns:1fr}
  .values-list .value:nth-child(n){translate:none}
  .detail-prose ul{columns:1}
  .roots-list .year{grid-template-columns:1fr}
  .mw-s .roots-list .fig{grid-row:auto}
  .idea-steps p:nth-child(n){margin-left:0!important}
  .work-grid{grid-template-columns:1fr}
  .page-hero::before{width:42vw;right:-15vw;top:-19vw}
  .mw-s.hero{padding-top:24px}
  .hero .ringwrap{width:88vw;right:-34vw;top:-24px}
  .mw-s.hero h1{font-size:clamp(2.6rem,12.4vw,3.4rem)}
  .mw-s.proof,.mw-s.how,.mw-s.coffee{padding-top:56px;padding-bottom:56px}
  .mw-s.ind{padding-top:64px;padding-bottom:32px}
  .mw-s.wc{margin-top:40px}
}
footer.wp-block-template-part{background:#fff;margin:0}

@media (max-width:760px){
  .wc .caps span,.caps-run span{display:block;white-space:normal;position:relative;padding-left:20px;margin:0 0 6px}
  .wc .caps span::before,.caps-run span::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--orange-brand)}
  .wc .caps i,.caps-run i{display:none}
  table.results,.results tbody,.results tr,.results tbody th,.results tbody td{display:block;width:auto!important}
  .results thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .results tbody tr{padding:24px 0 22px;background:radial-gradient(circle,var(--teal-brand) 1.6px,transparent 2.1px) 0 0/9px 6px repeat-x}
  .results tbody th,.results tbody td{padding:0 0 10px}
  .results tbody td:last-child{white-space:normal;padding-bottom:0}
  .results td[data-label]::before{content:attr(data-label);display:block;font:700 .75rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:4px}
}

@media (prefers-reduced-motion:reduce){header.wp-block-template-part,.mw-head .wrap,.mw-head .mw-logo img{transition:none}}
